Как использовать is_user_logged_in () в Drupal?

Я пытаюсь отредактировать page.tlp.php в папке шаблонов, чтобы изменить URL-ссылку заголовка сайта в зависимости от того, вошел ли пользователь в систему.

Например, если вы не вошли в систему, отобразите страницу 1, иначе — страницу 2.
Код остается простым для проверки функции.

        <div id="site-name"<?php if ($hide_site_name) { print ' class="element-invisible"'; } ?>>
<strong>
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a>
<?php if (is_user_logged_in()) {echo "hi";} ?>
</strong>

</div>

В этот момент error.log указывает на вызов неопределенной функции.

Должен ли я написать это как модуль или возможно просто добавить php в файл шаблона, но мне нужно что-то объявить, или я совершенно не в курсе?

0

Решение

Имя функции — «user_is_logged_in», а не «is_user_logged_in» (в WordPress) https://api.drupal.org/api/drupal/modules%21user%21user.module/function/user_is_logged_in/7

4

Другие решения

используйте переменную $ logged_in, она добавлена ​​по умолчанию в drupal

вы не должны вызывать функции в файлах tpl, вместо этого используйте ловушку preproccess_page, чтобы добавить все переменные, которые вы хотите.

function mytheme_preprocess_page(&$variables) {
$variables['is_awesome'] = ($GLOBALS['user']->name == 'MyName');
}

после этого переменная $ is_awesome будет доступна в вашем page.tpl.php

0

По вопросам рекламы [email protected]