To write my extension Introduciator I need to put a button under "contact" in viewtopic page (and elsewhere too).
My repo : https://github.com/Feneck91/Introduciator
So my listener use event 'core.viewtopic_modify_post_data' and 'core.viewtopic_post_row_after'.
On core.viewtopic_modify_post_data, just read all users present in page and get introduciator information about each user :
Code: Select all
public function on_viewtopic_modify_post_data($event)
{
if ($this->introduciator_helper->is_introduciator_allowed())
{
$user_cache = $event['user_cache'];
foreach ($event['user_cache'] as $user_id => $user_info)
{
$user_cache[$user_id]['datas_introduciator'] = $this->introduciator_helper->introduciator_get_user_infos($user_id, $user_info['username']);
}
$event['user_cache'] = $user_cache;
}
}
The problem is when I want to put information to the template:
Code: Select all
public function on_viewtopic_post_row_after($event)
{
$data_introduciator = $event['user_poster_data']['datas_introduciator'];
$this->template->assign_block_vars('postrow', array(
'S_INTRODUCIATOR_DISPLAY' => $data_introduciator['display'],
'U_INTRODUCIATOR_URL' => $data_introduciator['url'],
'T_INTRODUCIATOR_TEXT' => $data_introduciator['text'],
'T_INTRODUCIATOR_CLASS' => $data_introduciator['class'],
));
}
I think assign_block_vars('postrow', .. overwrite 'postrow' info. Or not…
I just try to add info to 'postrow' to be able to use into my template page.
Code: Select all
{% INCLUDECSS '@feneck91_introduciator/introduciator.css' %}
<!-- IF postrow.S_INTRODUCIATOR_DISPLAY -->
<div class="{postrow.T_INTRODUCIATOR_CLASS}" title="{postrow.T_INTRODUCIATOR_TEXT}">
<!-- IF postrow.U_INTRODUCIATOR_URL -->
<a href="{postrow.U_INTRODUCIATOR_URL}" alt="{L_INTRODUCIATOR_MEMBER_INTRODUCTION}" title="{postrow.T_INTRODUCIATOR_TEXT}">
<!-- ENDIF -->
<span>{L_INTRODUCIATOR_MEMBER_INTRODUCTION}</span>
<!-- IF postrow.U_INTRODUCIATOR_URL -->
</a>
<!-- ENDIF -->
</div>
<!-- ENDIF -->
Thanks.