2011-11-27 4 views
6

Sto usando opencart (versione 1.5.1.3.1) per un negozio client e mi sto chiedendo quale sia il modo migliore per codificarlo in modo da poter avere determinati fogli di stile aggiunti per determinati itinerari.Aggiunta di fogli di stile CSS alle pagine basate su route in OpenCart

Ad esempio, nella pagina delle categorie mi piacerebbe avere un foglio di stile diverso da quello predefinito o uno che supererà gli stili predefiniti con il mio foglio personalizzato. Ho usato questo per più di un percorso, ovviamente, e voglio farlo con il minor numero possibile di modifiche possibili, in modo da ridurre la quantità di modifiche nel framework, se dovessi aggiornare in qualsiasi momento (e con il ben noto opencart cambiamenti casuali e fix release bug questo è abbastanza probabile)

risposta

11

aperte catalog/controller/common/header.php

Subito dopo la linea protected function index() { su una nuova linea messo

$route = empty($this->request->get['route']) ? 'common/home' : $this->request->get['route']; 
    $css_file = str_replace('/', '_', $route) . '.css'; 

    if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/stylesheet/' . $css_file)) { 
     $this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template'). '/stylesheet/' . $css_file); 
    } 

Poi vai al tuo tema corrente, e creare un file in Cartella catalog/view/your-theme/stylesheet/ denominata product_category.css e inserisci i tuoi stili in t cappello. I fogli di stile lavorano fuori il nome di percorso ad eccezione si sostituisce la barra ad una sottolineatura seguito da .css, cioè common/home diventa common_home.css

Si noti che è sta per utilizzare il metodo di sostituzione, piuttosto che sostituire il foglio di stile predefinito

+0

Questo sarebbe sicuro essere una buona cosa da aggiungere al codice principale. –