web-dev-qa-db-fra.com

Impossible de remplacer le contrôleur com_content

J'essaie de surcharger le contrôleur com_content (administrator/components/com_content/controller.php), pour cela j’ai installé le plugin joomla-override et suivi comme indiqué dans la documentation.

Création d'un dossier code à la racine de administrator/ répertoire, et à l'intérieur de celui-ci j'ai créé un com_content répertoire avec un fichier nommé controller.php dans sa racine.

Le fichier ressemble à ceci:

<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  com_content
 *
 * @copyright   Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Component Controller
 *
 * @package     Joomla.Administrator
 * @subpackage  com_content
 * @since       1.5
 */
class ContentController extends ContentControllerDefault
{

        /**
         * @var         string  The default view.
         * @since   1.6
         */
        protected $default_view = 'articles';

        /**
         * Method to display a view.
         *
         * @param   boolean                     If true, the view output will be cached
         * @param   array  An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}.
         *
         * @return  JController         This object to support chaining.
         *
         * @since   1.5
         */
        public function display($cachable = false, $urlparams = false)
        {
             var_dump("Test");
             return $this;
        }

}

Comme vous pouvez le constater, le nom de la classe suit les règles de substitution du plug-in qui étend `ContentControllerDefault.

Le var_dump devrait apparaître sous le formulaire d'édition d'article, mais il n'est pas affiché. C'est comme si la classe n'était pas annulée. Des idées?

Merci.

4
rogcg

D'accord. Résolu. Le problème était que je mettais le dossier code/ À la racine de administrator/. J'aurais plutôt dû le placer dans le dossier du modèle (administrator/templates/my_template/code/).

Maintenant ça marche.

7
rogcg