Делегирование шаблона плагина в другом плагине
Вот никак не могу найти информацию. Можно ли в одном плагине делегировать шаблон другого плагина? И если да, то как это указать в $aDelegates?
{if {cfg name='path.root.web'}}
это естественно не работает, как правильно?
если мы делегируем только шаблон и у нас нет возможности присвоить
переменной значение конфига в блоке/экшене/хуке
{/if}
{php}
if ((Config::Get('plugin.name.value')) && $oUserCurrent {
{/php}
вот такой костыль
{php}
}
{/php}
class PluginExample extends Plugin {
/**
* Делегирование регистрации
*/
public $aInherits = array(
'action' => array('ActionLogin', 'ActionRegistration', 'ActionTalk'),
);
...
}
class PluginExample_ActionRegistration extends PluginExample_Inherit_ActionRegistration {
protected function EventIndex() {
...
$this->PluginAntistatist_Antistatist_addLogin($oUser->getLogin());
...
}
<li class="minus"><a href="#" onclick="lsVote.vote({$oTopic->getId()},this,-5,'topic'); return false;"></a></li>
protected $aDelegates = array(
'action' => array('ActionTopic'=>'PluginAntispam_ActionTopic')
);
<?php
class PluginTest extends Plugin {
protected $aInherits=array(
'entity' =>array('ModuleUser_EntityUser'=>'_ModuleSide_EntityUser')
);
public function Activate() {
return true;
}
public function Init() {
}
}
?>
<?php
class HookTest extends Hook {
public function RegisterHook() {
$this->AddDelegateHook('module_text_parser_before','testHook',__CLASS__,-3);
}
public function testHook($aVars) {
return 'Topic text > '.$aVars[0];
}
}
?>
require_once(Config::Get('path.root.server').'/classes/modules/topic/entity/Topic.entity.class.php');
class PluginMyTopic_TopicEntity_Topic extends TopicEntity_Topic
{
public function setMyData($data) {
if ($this->getType()!='myTopicType') {
return;
}
$this->extractExtra();
$this->aExtra['mydata']=$data;
$this->setExtra($this->aExtra);
}
........