Jump to content

nouvelle feuille de style. Comment la déclarer ?


Recommended Posts

Bonjour,

Je souhaite créer une nouvelle feuille de styles. Par contre je pensais qu'elle serait déclarée "automatiquement" par :


{if isset($css_files)}
   {foreach from=$css_files key=css_uri item=media}
   <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
   {/foreach}
{/if}



Apparement ce n'est pas le cas ... Est-ce possible ?

Ou alors quelle est la variable sur la 1.4 renvoyant le chemin du dossier css du theme svp ?

Link to comment
Share on other sites

Bonjour,

J'ai trouvé un moyen de rajouter une feuille de style personnalisé, mais cela ne me semble pas très simple, car j'ai du aller assez loin dans le code pour y arriver:

Dans la méthode setMedia de la classe FrontControllerCore (dans le fichier classes/FrontController.php), on voit que le fichier "global.css" y est défini en dur:

public function setMedia()
   {
       global $cookie;

       Tools::addCSS(_THEME_CSS_DIR_.'global.css', 'all');
       Tools::addJS(array(_PS_JS_DIR_.'tools.js', _PS_JS_DIR_.'jquery/jquery-1.4.4.min.js', _PS_JS_DIR_.'jquery/jquery.easing.1.3.js'));
       if ($cookie->live_edit)
       {
           Tools::addJS(array(
                           _PS_JS_DIR_.'jquery/jquery-ui-1.8.10.custom.min.js', 
                           _PS_JS_DIR_.'jquery/jquery.fancybox-1.3.4.js',
                           _PS_JS_DIR_.'hookLiveEdit.js')
                           );
           Tools::addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css');
       }
   }



Il suffit alors de dupliquer cette ligne afin d'inclure une nouvelle feuille.

Par contre dans les anciennes versions, il suffisait de rajouter une entrée dans un tableau $css_files et tout fonctionnait directement.
En parcourant le code, les seuls références que j'ai trouvé sont des "global $css_files" et dans la méthode init de cette même classe :

public function init()
   {
       global $cookie, $smarty, $cart, $iso, $defaultCountry, $protocol_link, $protocol_content, $link, $css_files, $js_files;

       $css_files = array();

               ...

       self::setMedia();
   }



Du coup je ne comprends pas trop: on récupère une référence vers un tableau global $css_files, puis on la remplace par un tableau vide, et on appelle setMedia qui ne fait qu'ajouter le "global.css".

Donc même si même si le tableau $css_files est paramétrable en amont, cela ne prend pas en compte les modifications non ?

Je me trompe ?

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