web-dev-qa-db-fra.com

Impossible de redéclarer une erreur de classe avec le plug-in de dérogation système

Je crée un plugin de remplacement principal (pour remplacer l'extension de partie tierce) en utilisant plugin système Joomla .

Le problème est Impossible de redéclarer l'erreur VirtueMartCart de la classe sur un modèle basé sur une structure t3.

La version de Joomla est 3.3.6 et VM 3.0.2.

Le même plugin fonctionne correctement sur une nouvelle installation, mais renvoie l'erreur sur ce site existant basé sur T3. J'ai essayé de changer de modèle mais le même problème. Je pense qu'un autre plugin a une idée du problème? :(

Approche de substitution du plugin système.

class plgSystemComVirtuemartOverride extends JPlugin{

    public function __construct(&$subject, $config = array()) {

         parent::__construct($subject, $config);
     }

     public function  onAfterRoute () {

        $app = JFactory::getApplication();
        if('com_virtuemart' == JRequest::getCMD('option') && !$app->isAdmin()) {
            $template = $app->getTemplate();

            require_once(JPATH_SITE.'/templates/'.$template.'/code/com_virtuemart/helpers/cart.php');

        }
    }   


}
1
Jobin Jose

Je devine que la raison de l'erreur Impossible de redéclarer une classe avec le plugin de remplacement système Joomla sur un site particulier est due à un autre plugin.

Un autre plugin est chargé manuellement dans la classe. Ce n'est donc pas comme la méthode de substitution de Joomla System. donc mon vrai plugin système de remplacement mort !. en désactivant ce plugin, tout fonctionne bien.

N'importe qui confronté à une telle situation vérifie d'abord que votre liste de plugins désactive tous les autres plugins système tiers et que le débogage fonctionne!.

1
Jobin Jose