Slizeer Posted February 10, 2017 Share Posted February 10, 2017 (edited) Chciałbym, aby po przejściu na stronę wyświetlającą produkty wybranego producenta (czyli dla konkretnego adresu URL), wczytał się inny arkusz CSS. W jaki sposób można to wykonać? Presta 1.6.0.9 Edited February 10, 2017 by Slizeer (see edit history) Link to comment Share on other sites More sharing options...
0 atomek Posted February 11, 2017 Share Posted February 11, 2017 - umieść ten kod w pliku /override/controllers/front/ManufacturerController.php, - jeżeli nie masz takiego - utwórz <?php /* * tw * dodanie pliku ze stylami dla producenta * */ class ManufacturerController extends ManufacturerControllerCore { public function setMedia() { parent::setMedia(); if (Validate::isLoadedObject($this->manufacturer)) { $this->addCSS(_THEME_CSS_DIR_.'manufacturer-'.$this->manufacturer->id.'.css'); } } // ----------------------------------------------------------------------------------- setMedia() } - usun plik z class_index.php z folderu /cache- utwórz pliki manufacturer-XX.css w folderze ze stylami (css) w twoim szablonie, XX - to id producenta- w plikach manufacturer-XX.css wpisz kod css wg schematu: #manufacturer.manufacturer jakis-selektor { color: red; } #manufacturer.manufacturer inny-selektor { font-size: 20px; } 1 Link to comment Share on other sites More sharing options...
0 atomek Posted February 10, 2017 Share Posted February 10, 2017 przyjrzyj się klasom generowanym dla elementu body dla każdego producenta, na podstawie ich możesz zrobić indywidualne style dla wybranych producentówprzykład z wersji 1.6.1.9, w 1.6.0.9 będzie podobnie: <body id="manufacturer" class="manufacturer manufacturer-1 manufacturer-fashion-manufacturer show-left-column hide-right-column lang_pl"> 1 Link to comment Share on other sites More sharing options...
0 Slizeer Posted February 10, 2017 Author Share Posted February 10, 2017 (edited) Dzięki. Rzeczywiście jest to jakiś trop. Jednak na wygląd strony wpływ ma naraz kilka arkuszów css, szczególnie global.css oraz themeX.css (X to numer predefiniowanego szablonu). Domyślam się, że w pliku header.tpl można dodać kod php, który sprawdzi, czy w nazwie strony, na której się znajdujemy, występuje nazwa producenta i jeśli tak, to wczyta dodatkowy arkusz CSS ze stylem dla tego producenta. Pytanie, jaki kod należałoby dodać, aby działało to prawidłowo? Edited February 10, 2017 by Slizeer (see edit history) Link to comment Share on other sites More sharing options...
0 design4VIP Posted February 11, 2017 Share Posted February 11, 2017 (edited) ale wg tego co podal @atomek nie wczytujesz zadych osobnych plikow. zmoany mozesz wrzucic albo w global albo styl szablonu patrzac, ktory wgrywa sie jako ostatni. wrzucasz zmiany na koniec pliku (tym wgrywanym z drugiej kolejnosci) dla: #manufacturer.manufacturer-1 (+ciag dalszych klas) dla kazdego z producentow z osobna. inne mozliwosci: 1. mozesz tez zbudowac dla kazdego z producentow osobny plik, byloby to nawet o wiele bardziej oplacalne biorac pod uwage wielkosci plikow, a co za tym idzie szybkoc odczytu, ale to juz wymagaloby zmiany glownego kontrolera, zeby sobie takie pliki selekcjonowal. trzeba by w kontrolerze odczytac wartosc ID producenta, powiazac z nim pliki i wyslac informacje do wrzucenia konretnego pliku w header. 2. wrzucenie w header.tpl odczytu isset dla id producenta, jezeli istnieje to odczytac plik styl_$id.css, jezlei nie istnieje to styl glowny pozornie to nic wielkiego, ale pytanie, na jakim poziomie u ciebie ze znajmoscia struktury presta, programowania itp. Edited February 11, 2017 by design4VIP (see edit history) Link to comment Share on other sites More sharing options...
0 Slizeer Posted February 13, 2017 Author Share Posted February 13, 2017 @atomek Dzięki. Działa super. A czy można przez jakąś modyfikację w powyższym sposobie sprawić, aby wybrany szablon .css wczytywał się również na podstronie wybranego produktu, którego ID znamy? Link to comment Share on other sites More sharing options...
Question
Slizeer
Chciałbym, aby po przejściu na stronę wyświetlającą produkty wybranego producenta (czyli dla konkretnego adresu URL), wczytał się inny arkusz CSS. W jaki sposób można to wykonać?
Presta 1.6.0.9
Edited by Slizeer (see edit history)Link to comment
Share on other sites
5 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now