Salut,
petit historique de la situation :
en suivant le tuto de cette doc un peu ancienne, qui s'appuie sur un plugin qui permet de surcharger des fichiers d'un composant MVC, comme un view.html.php, ou d'un model :
How to override the component mvc from the Joomla! core - Joomla! Documentation
je me suis associée avec un autre dev pour adapter ce plugin à J!3.3.6 :
ghazal/plg_mvcoverride
Après qq tatonnements, le bidule fonctionne.
Usage :
ajouter un dossier "code" dans le répertoire templates/montemplate/
exemple avec un fichier view.html.php du com_search
templates/montemplate/code/com_search/views/search/view.html.php
Problème :
Incompatible avec Advanced Module Manager de NoNumber
On récupère une Fatal Error :
Call to undefined method JModuleHelper::addIncludePath in plugins/system/mvcoverride/mvcoverride.php on line 66
Si on commente la "partie maudite" dans mvcoverride.php :
Puis :
ça fonctionne.
Mais on se prive de la possibilité de surcharger un helper.php de module.
J'ai essayé de modifier l'ordre d'arrivée des plugins (mvcoverride et le plugin de Advanced Module Manager. Rien à faire.
Une idée ?
petit historique de la situation :
en suivant le tuto de cette doc un peu ancienne, qui s'appuie sur un plugin qui permet de surcharger des fichiers d'un composant MVC, comme un view.html.php, ou d'un model :
How to override the component mvc from the Joomla! core - Joomla! Documentation
je me suis associée avec un autre dev pour adapter ce plugin à J!3.3.6 :
ghazal/plg_mvcoverride
Après qq tatonnements, le bidule fonctionne.
Usage :
ajouter un dossier "code" dans le répertoire templates/montemplate/
exemple avec un fichier view.html.php du com_search
templates/montemplate/code/com_search/views/search/view.html.php
Problème :
Incompatible avec Advanced Module Manager de NoNumber
On récupère une Fatal Error :
Call to undefined method JModuleHelper::addIncludePath in plugins/system/mvcoverride/mvcoverride.php on line 66
Si on commente la "partie maudite" dans mvcoverride.php :
Code PHP:
public function onAfterInitialise()
{
//override JModuleHelper library class
$moduleHelperContent = JFile::read(JPATH_LIBRARIES.'/cms/module/helper.php');
$moduleHelperContent = str_replace('JModuleHelper', 'JModuleHelperLibraryDefault', $moduleHelperContent);
$moduleHelperContent = str_replace('<?php','',$moduleHelperContent);
eval($moduleHelperContent);
jimport('joomla.application.module.helper');
JLoader::register('jmodulehelper', dirname(__FILE__).'/module/helper.php', true);
}
Code PHP:
JModuleHelper::addIncludePath(JPATH_BASE.'/code/modules');
JModuleHelper::addIncludePath(JPATH_THEMES.'/'.$template.'/code/modules');
Mais on se prive de la possibilité de surcharger un helper.php de module.
J'ai essayé de modifier l'ordre d'arrivée des plugins (mvcoverride et le plugin de Advanced Module Manager. Rien à faire.
Une idée ?
Commentaire