Bonsoir
question intéressante .. mais un peu laborieuse
il faut que tu ajoutes dans les tables "modules" et "messages " de la bdd les informations de ta classe avec le nom de ta classe qui est considéré comme un module
Code :
INSERT INTO `modules` (`label_mod`, `codename_mod`, `administrationFrontend_mod`, `hasParameters_mod`, `isPolymod_mod`) VALUES (1, 'monmodule', 'index.php', 0, 0);
INSERT INTO `messages` (`id_mes`, `module_mes`, `language_mes`, `message_mes`) VALUES (1, 'monmodule', 'en', 'Mon Module');
INSERT INTO `messages` (`id_mes`, `module_mes`, `language_mes`, `message_mes`) VALUES (1, 'monmodule', 'fr', 'Mon Module');
ensuite tu crées ta classes (en respectant le CMS_module_
Code :
class CMS_module_monmodule extends CMS_module
{
}
la classe doit surcharger la méthode load afin d'insérer ta classe dans la pile autoload
Code :
/**
* Module autoload handler
*
* @param string $classname the classname required for loading
* @return string : the file to use for required classname
* @access public
*/
public function load($classname) {
static $classes;
if (!isset($classes)) {
$classes = array(
'maclasse' => PATH_MODULES_FS.'/'.MOD_MONMODULE_CODENAME.'/ma_classe_perso.php'
);
}
$file = '';
if (isset($classes[io::strtolower($classname)])) {
$file = $classes[io::strtolower($classname)];
}
return $file;
}