PDA

Zobacz pełną wersję : Jak przełączyć szablon - obrazkiem np. ikoną wózka



bodek76
28-06-2015, 21:42
Mam dwa szablony, normalny , oraz drugi zgodny z normą dostępności wcag2, jak przełączyć te
szablony obrazkiem

Bazyl
29-06-2015, 09:42
Witam,

Np. ten: http://extensions.joomla.org/extension/template-selector, ale trochę trzeba przerobić...

Lekhu
20-07-2015, 12:46
No i ja się do pytania dołączam. Ktoś już rozgryzł i poda jak na tacy?

Bazyl
20-07-2015, 12:54
Link podałem wyżej, ale możesz też tak: http://mojafabryka.pl
(http://mojafabryka.pl)
(są pewne niedociągnięcia z braku czasu...)

Lekhu
20-07-2015, 13:06
Całkiem sprytne rozwiązanie :) Tylko, że tu implementacja była u Ciebie od samego początku. Ja mam nieco gorszą sytuację, bo strona jest już gotowa i mocno rozbudowana i potrzebuję podpiąć cały nowy szablon z innym rozkładem kolumn.

Jak dotąd to stworzyć mi się udało nowe Menu pod nowy szablon, link graficzny, który tam prowadzi, ale kłopot mam w tym, że z głównej strony, która wyświetla artykuły kategorii, po kliknięciu w "Czytaj więcej" przerzuca na wygląd pierwotnego szablonu.

Domyślam sie więc, że w powyższy sposób nie uda mi sie mojego problemu załatwić, stąd doszedłem, że potrzebuje jakiegoś właśnie dodatku.

Bazyl
20-07-2015, 13:36
http://extensions.joomla.org/extension/template-selector załatwia sprawę na 100%.
Tworzysz kolejne szablony i po prostu je przełączasz.

Oczywiście możesz też zmienić sobie rozkład kolumn i nie trzeba robić kolejnych menu...

Lekhu
20-07-2015, 14:38
No tak. Tylko jak teraz przerobić taki template-selector, żeby przełączanie było po kliknieciu w obrazek? :)

Bazyl
20-07-2015, 15:14
Ktoś już rozgryzł i poda jak na tacy?

Należy zmodyfikować sposób wyświetlania, ale to już niestety nie na tacy :-)

Lekhu
22-07-2015, 12:47
Znalazłem tutaj (http://forum.joomla.org/viewtopic.php?f=428&t=377667), coś takiego:


I use a trick for a permanent template switch.
Rename templates/[yourtemplate]/index.php to multimedia_index.php
Now create a new index.php in templates/[yourtemplate] with this code:
Code:
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

if ($_GET['accesible']==1) {
setcookie('accesible', 1);
$_COOKIE['accesible']=1;
}
else if ($_GET['accesible']==2) {
setcookie('accesible', 2);
$_COOKIE['accesible']=2;
}

if ($_COOKIE['accesible']==1) {
require(JPATH_SITE.DS.'templates'.DS.'[yourtemplate]'.DS.'acessible_index.php');
else
require(JPATH_SITE.DS.'templates'.DS.'[yourtemplate]'.DS.'multimedia_index.php');

Now create an accesible version of your template called accesible_index.php.
You can change permanently the template using a link like "index.php?accesible=1" for change to accesible template or "index.php?accesible=2" for come back to multimedia version.
I use this trick for create several accesible versions of a multimedia template.

Po zastosowaniu pierwszym problemem było to, że nie wczytywało frameworków i cssów drugiego szablonu. W pliku accesible_index.php ścieżki były bowiem tworzone na zmiennej $this->template, która przy tym rozwiązaniu nie zmienia się na nazwę nowego szablonu i pozostaje nazwą starego. Ręczne przypisanie jej wartości 'beez3' spowodowało doczytanie brakujących framów i cssów.

Problem w tym, że nie wszystko jest należycie. Chociażby zamiast paska z szablonu Beez3, który pozwala zwiększać/zmniejszać czcionkę pojawia się coś takiego:
TPL_BEEZ3_FONTSIZE TPL_BEEZ3_BIGGER TPL_BEEZ3_RESET TPL_BEEZ3_S

Zauważyłem, że dodanie w adresie &template=beez3 rozwiązuje problem na pojedynczej stronie, przy przejściu linkiem dalej już nie.
Wygląda na to, że brakuje jeszcze jakiejś zmiennej, która powinna zostać zmieniona pod nowy template. Czy może ktoś ma jakiś pomysł?