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.
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.