web-dev-qa-db-fra.com

Ignorer la fonction de modèle com_users

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.

4
miguelmpn

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');
     }
 } 
}
3
jdog