2012-05-11 1 views
1

У меня есть ситуация, когда мне нужно выполнить два разных условия, чтобы заголовок данного узла был напечатан на странице (этот бит ниже из моего page.tpl):drupal 7 Ориентация конкретных массивов в файле page.tpl.php

<?php if 
($title && ($user->uid == 1) || $title && ($page['#object']['type']['blog_post']) 
/* is the node a full blog post? */ 
): ?> 

Я хочу, чтобы отобразить название узла, только если пользователь вошел в систему, в которой работает, но я не уверен, как отобразить название для моего специфичны. тип узла. Очевидно, я сверля в неправильную часть массива. Но я не могу понять, какая часть массива будет удовлетворять моему состоянию.

спасибо!

ответ

2

Вы можете использовать переменную $ узла в вашем page.tpl.php, когда diaplayed страница узла. Тип узла хранится в $ node-> type. Но только для узлов. Страница узла типа «blog_post» отображает полную запись в блоге.

<?php if(isset($node) && $node->type == 'blog_post');?> 
    <?php print $title; ?> 
<?php endif?> 

В page.tpl будет напечатан титул только на всех узлах вашего типа.

+0

, которая сделала это. благодаря! – ricardoom

0

Вы можете использовать node.tpl.php для обработки конкретных параметров узлов, , которые вы найдете в node.tpl.php /modules/node/node.tpl.php

Шаблон узла предлагает вам параметры для проверки режима просмотра ($ view_mode) и $ title для этого узла.

приписка, если вы хотите, чтобы проверить, если ваш пользователь вошел в систему, друпал предлагает вам функцию user_is_logged_in()

+0

спасибо @StryKaizer. Пара вещей, я понимаю ваш подход, используя node.tpl, есть ли способ _without_ использовать node.tpl? Кроме того, что касается функции пользователя выше одного, вы должны написать что-то вроде: ' сделайте кое-что ... ' Спасибо за помощь – ricardoom

 Смежные вопросы

  • Нет связанных вопросов^_^