Код: Выделить всё
S_IS_BOT
S_REGISTERED_USER
S_USER_LOGGED_IN
S_VIEWCENSORS
S_VIEWFLASH
S_VIEWIMG
S_VIEWSMILIES
STYLE_ID
T_SMILIES_PATH
Пример: если обычным способом в админразделе phpBB создать BBCode
[noguests]{TEXT}[/noguests]
с заменой HTML:
Код: Выделить всё
<xsl:choose>
<xsl:when test="$S_USER_LOGGED_IN and not($S_IS_BOT)">
<div>{TEXT}</div>
</xsl:when>
<xsl:otherwise>
<div>Только зарегистрированные пользователи могут видеть данное содержимое.</div>
</xsl:otherwise>
</xsl:choose>
то содержимое, помещенное в тегах
[noguests]
, будет доступно только зарегистрированным пользователям, не являющимся ботами. Остальным будет показан текст Только зарегистрированные пользователи могут видеть данное содержимое.
Т.е. содержимое будет показано при условии, что значение test
является логическим true
.Другие параметры шаблона могут быть добавлены расширениями, например, через слушатель события
core.text_formatter_s9e_renderer_setup
следующим образом (в слушатель необходимо передать зависимости сервисов @user
и @auth
):Код: Выделить всё
static public function getSubscribedEvents()
{
return array(
'core.text_formatter_s9e_renderer_setup' => 's9e_renderer_add_template_parameters',
);
}
public function s9e_renderer_add_template_parameters($event)
{
$renderer = $event['renderer']->get_renderer();
// Set s9e renderer template parameters
$renderer->setParameters(array(
'S_IS_ADMINISTRATOR' => $this->auth->acl_get('a_') && !empty($this->user->data['is_registered']),
'S_IS_MODERATOR' => $this->auth->acl_get('m_') || $this->auth->acl_getf_global('m_'),
));
}
затем данные параметры можно использовать при создании обычных BBCode указанным выше образом (в случае с данным конкретным примером - для отображения содержимого администраторам и модераторам).