Bonjour,
Si vous en avez marre comme moi de ne pas pouvoir modifier facilement les CSS de la même façon que le "template override" et bien cette astuce est pour vous.
Je ne comprend pas pourquoi cette astuce n'a pas été intégrer à joomla.
Voici comment faire du "CSS override" :
1) On vas prendre comme exemple un module joomla coder en MVC.
Le fichier à trouver est le fichier qui demande à joomla de charger le CSS du module, on doit chercher un code du genre:
une fois cette ligne trouver editer ce code pour le transformer de cette façon :
Avec ce code on demande à joomla de voir s'il existe dans le dossier CSS de votre TEMPLATE actif un fichier qui se nomme : nondumodule.css
si la condition est vrais alors nondumodule.css seras charger à la place du fichier style.css original de votre module.
Personnellement, j'ai respecter cette logique :
template/html/nondumodule/default.php
=> De cette façon on peut personnaliser la mise en forme du module. Autoriser par joomla.
template/css/nondumodule.css
=> De cette façon on peut personnaliser le CSS. Faisable grâce à mon astuce.
template/images/nondumodule/
=> Les images associer à votre fichier CSS s'il y en a.
Et voila une fois votre module modifier de cette façon, vous faite du TEMPLATE override, CSS override et IMAGES override (lier au fichier css)
Dans le fichier CSS modifier les appeles aux images de cette façon :
Si vous en avez marre comme moi de ne pas pouvoir modifier facilement les CSS de la même façon que le "template override" et bien cette astuce est pour vous.
Je ne comprend pas pourquoi cette astuce n'a pas été intégrer à joomla.
Voici comment faire du "CSS override" :
1) On vas prendre comme exemple un module joomla coder en MVC.
Le fichier à trouver est le fichier qui demande à joomla de charger le CSS du module, on doit chercher un code du genre:
Code PHP:
JHTML::stylesheet('modules/'.$module->module.'/assets/style.css');
Code PHP:
if (is_file(JPATH_SITE.DS.'templates'.DS.$app->getTemplate().DS.'css'.DS.$module->module.".css")) {
JHTML::stylesheet('templates/'.$app->getTemplate().'/css/'.$module->module.'.css');
} else {
JHTML::stylesheet('modules/'.$module->module.'/assets/style.css');
}
si la condition est vrais alors nondumodule.css seras charger à la place du fichier style.css original de votre module.
Personnellement, j'ai respecter cette logique :
template/html/nondumodule/default.php
=> De cette façon on peut personnaliser la mise en forme du module. Autoriser par joomla.
template/css/nondumodule.css
=> De cette façon on peut personnaliser le CSS. Faisable grâce à mon astuce.
template/images/nondumodule/
=> Les images associer à votre fichier CSS s'il y en a.
Et voila une fois votre module modifier de cette façon, vous faite du TEMPLATE override, CSS override et IMAGES override (lier au fichier css)
Dans le fichier CSS modifier les appeles aux images de cette façon :
Code:
../images/nondumodule/votreimage.png
Commentaire