Joomlaクラスをオーバーライドするプラグインを作成しようとしています。それ以外の場合はオーバーライドできません。これが私のコードです:
comoverride.xml
<files>
<filename plugin="comoverride">comoverride.php</filename>
<filename>comoverride.xml</filename>
<filename>index.html</filename>
</files>
<config>
</config>
</extension>
(もちろん、私のタグに私の情報と他の必要な情報があります)
comoverride.php
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
jimport('joomla.application.component.helper');
class comcontent 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()) {
$template = $app->getTemplate();
require_once(JPATH_SITE.'/templates/'.$template.'/code/com_content/models/articles.php');
}
}
「ContentModelArticles」クラスが含まれているarticles.phpファイルをオーバーライドしようとしています。しかし、残念ながらまったく機能しないようです。
誰か私に試して頂けますか?
次のスニペットをご覧ください。それは明確に機能します
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.4" type="plugin" group="system" method="upgrade">
<name>plg_system_comoverride</name>
<author>JProof</author>
<creationDate>Februar 2009</creationDate>
<copyright>(C) 2010 Romacron. All rights reserved.</copyright>
<license>GNU/GPL</license>
<version>3.0.0</version>
<files>
<filename plugin="comoverride">comoverride.php</filename>
<filename>comoverride.xml</filename>
<filename>index.html</filename>
</files>
<config>
</config>
</extension>
defined('_JEXEC') or die('Restricted access');
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}
jimport('joomla.application.component.helper');
class PlgSystemComOverride extends JPlugin
{
public function __construct(&$subject, $config = array())
{
parent::__construct($subject, $config);
}
public function onAfterRoute()
{
$app = JFactory::getApplication();
if ('com_content' === $app->input->getCmd('option') && !$app->isAdmin()) {
$template = $app->getTemplate();
require_once(JPATH_SITE . '/templates/' . $template . '/code/com_content/models/articles.php');
}
}
}
お役に立てば幸いです