Est-il possible de remplacer la fonction de sauvegarde de com_users?
C'est ce que j'ai essayé jusqu'à présent ...
<?php
echo JPATH_SITE.'/components/com_users/models/profile.php';
require_once JPATH_SITE.'/components/com_users/models/profile.php';
class NbrealUsersModelProfile extends UsersModelProfile{
public function save($data){
die("it works");
}
}
?>
J'ai ajouté ceci sur le fichier d'index de modèle.
Cette page de documentation devrait vous aider avec ceci:
https://docs.joomla.org/How_to_override_the_component_mvc_from_the_Joomla!_core
NOTE: cela ne marche pas tout seul, vous devez créer un plugin pour votre contrôleur remplacé:
Il peut arriver que vous deviez remplacer le paramètre Joomla! Composant MVC pour ajouter de nouvelles fonctionnalités ou pour personnaliser complètement le composant. Le composant MVC peut être complètement remplacé en utilisant les mêmes noms de classe que ceux utilisés dans le composant. Ceci est réalisé en chargeant un plugin système avant que le composant ne soit distribué par l'application.
Vous pouvez créer votre propre plugin pour le faire.
class plgSystemComContentOverride extends JPlugin { public function __construct(&$subject, $config = array()) { parent::__construct($subject, $config); } public function onAfterRoute() { $app = JFactory::getApplication(); if('com_content' == JRequest::getCMD('option') && !$app->isAdmin()) { require_once(dirname(__FILE__) . '/comcontentoverride/my_content_controller.php'); } }
}
dans votre cas, vous devez le modifier en quelque chose comme
class plgSystemComContentOverride extends JPlugin {
public function __construct(&$subject, $config = array()) {
parent::__construct($subject, $config);
}
public function onAfterRoute() {
$app = JFactory::getApplication();
if('com_user' == JRequest::getCMD('option') && !$app->isAdmin()) {
require_once(dirname(__FILE__) . '/../../templates/{template_name}/code/com_users/profile.php');
}
}
}