Jump to content
  • 0

Inny CSS dla strony wybranego producenta


Slizeer

Question

5 answers to this question

Recommended Posts

  • 0

- 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;

}



  • Like 1
Link to comment
Share on other sites

  • 0

przyjrzyj się klasom generowanym dla elementu body dla każdego producenta, na podstawie ich możesz zrobić indywidualne style dla wybranych producentów

przykł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">

  • Like 1
Link to comment
Share on other sites

  • 0

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 by Slizeer (see edit history)
Link to comment
Share on other sites

  • 0

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 by design4VIP (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...