Помогите разобраться с делегированием (или хуками)
Сделал я плагин для своего сайта. Плагин очень специфический, и вряд ли кому пока пригодится в том виде, какой есть. Но, если есть пожелания по его доработке — пишите, если наши пожелания совпадут, то допилю и поделюсь бесплатно. Вроде как все работает как надо, но для того, чтобы добавить в информацию о пользователе информацию из плагина, мне пришлось дописывать строчки в системные модули, что совсем нехорошо.
ActionProfile.class.php
и в шаблоне в whois.tpl
Так как это только эксперимент, и в будущем мне еще много где придется чего менять, как сделать так, чтобы эти строчки можно было делегировать из плагина.
Спасибо.
ActionProfile.class.php
$aTeamUsers=$this->PluginTeams_Teams_GetTeamUsersByUserId($this->oUserProfile->getId(),1); $aTeamModerators=$this->PluginTeams_Teams_GetTeamUsersByUserId($this->oUserProfile->getId(),2);
$aTeamAdministrators=$this->PluginTeams_Teams_GetTeamUsersByUserId($this->oUserProfile->getId(),4);
$this->Viewer_Assign('aTeamUsers',$aTeamUsers);
$this->Viewer_Assign('aTeamModerators',$aTeamModerators);
$this->Viewer_Assign('aTeamAdministrators',$aTeamAdministrators);
и в шаблоне в whois.tpl
{if $aTeamAdministrators}
<tr>
<td class="var">{$aLang.profile_teams_administration}:</td>
<td>
{foreach from=$aTeamAdministrators item=oPluginTeams_TeamsEntity_TeamUser name=team_user}
{assign var="oTeam" value=$oPluginTeams_TeamsEntity_TeamUser->getTeam()}
<a href="{router page='teams'}{$oTeam->getUrl()}/">{$oTeam->getTitle()|escape:'html'}</a>{if !$smarty.foreach.team_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aTeamModerators}
<tr>
<td class="var">{$aLang.profile_teams_moderation}:</td>
<td>
{foreach from=$aTeamModerators item=oPluginTeams_TeamsEntity_TeamUser name=team_user}
{assign var="oTeam" value=$oPluginTeams_TeamsEntity_TeamUser->getTeam()}
<a href="{router page='teams'}{$oTeam->getUrl()}/">{$oTeam->getTitle()|escape:'html'}</a>{if !$smarty.foreach.team_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aTeamUsers}
<tr>
<td class="var">{$aLang.profile_teams_join}:</td>
<td>
{foreach from=$aTeamUsers item=oPluginTeams_TeamsEntity_TeamUser name=team_user}
{assign var="oTeam" value=$oPluginTeams_TeamsEntity_TeamUser->getTeam()}
<a href="{router page='teams'}{$oTeam->getUrl()}/">{$oTeam->getTitle()|escape:'html'}</a>{if !$smarty.foreach.team_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
Так как это только эксперимент, и в будущем мне еще много где придется чего менять, как сделать так, чтобы эти строчки можно было делегировать из плагина.
Спасибо.
2 комментария
А шаблон стандартно делегируется, про это написано.
пс: больше с up'ами не шали =)