web-dev-qa-db-fra.com

Rendre les composants Joomla 2.5 compatibles avec Joomla 3

J'ai composant dans Joomla 2.5. J'essaie de le rendre compatible avec Joomla 3.x.

Après quelques modifications dans le code, j'obtiens une erreur:

Impossible d'étendre à partir de l'interface JController

Puis je change le code

De:

class drAffiliatesControllerDefault extends JController {

À:

class drAffiliatesControllerDefault extends JControllerAdmin {

Après cela, il retourne une erreur:

0 Impossible d'accéder à la propriété protégée ApplicationAdministrator :: $ session

Quand j'ajoute le code

JControllerLegacy::display();

il renvoie une erreur:

0 Utilisation de $ this sans contexte d'objet

quelqu'un peut-il me suggérer comment puis-je mettre à niveau mon composant vers 3x

1
Raa Hul

Le lien de FFrewin devrait répondre à votre question. Ceci est juste un ajout au sujet de la prochaine modification de Joomla 3.8. Nous avons changé les bibliothèques en espaces de noms.

Donc, votre contrôleur devrait s'étendre ensuite\Joomla\CMS\MVC\Controller\BaseController

le modèle\Joomla\CMS\MVC\Model\BaseModel

et les vues\Joomla\CMS\MVC\View\HtmlView.

Vous trouverez toutes les classes ici https://github.com/joomla/joomla-cms/tree/staging/libraries/src/MVC . Les anciennes classes fonctionnent toujours car nous avons créé un alias pour elles https://github.com/joomla/joomla-cms/blob/staging/libraries/classmap.php#L38

1
Laoneo