Я пытаюсь отредактировать 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 в файл шаблона, но мне нужно что-то объявить, или я совершенно не в курсе?
Имя функции — «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
используйте переменную $ logged_in, она добавлена по умолчанию в drupal
вы не должны вызывать функции в файлах tpl, вместо этого используйте ловушку preproccess_page, чтобы добавить все переменные, которые вы хотите.
function mytheme_preprocess_page(&$variables) {
$variables['is_awesome'] = ($GLOBALS['user']->name == 'MyName');
}
после этого переменная $ is_awesome будет доступна в вашем page.tpl.php