2012-05-11 2 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

함수 user_is_logged_in()를 제공합니다. 노드 유형은 $ node-> type에 저장됩니다. 그러나 노드 페이지에만 해당됩니다. 'blog_post'유형의 노드 페이지는 전체 블로그 게시물을 표시합니다.

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

In page.tpl은 유형의 전체 노드에서만 제목을 인쇄합니다.

+0

그랬습니다. 감사! – ricardoom

0

당신은 특정 노드 매개 변수를 처리하기위한 node.tpl.php 사용할 수 있는 당신이 /modules/node/node.tpl.php

에 node.tpl.php 찾을 노드 템플릿은 당신에게 매개 변수를 제공합니다 해당 노드의보기 모드 ($ view_mode) 및 $ title을 확인합니다. 사용자가 로그인 한 경우 확인하려면

추신, 드루팔은 당신에게 페이지 노드 diaplayed 때 당신은 당신의 page.tpl.php에 $ 노드 변수를 사용할 수 있습니다

+0

감사합니다. @StryKaizer. 몇 가지, 나는 node.tpl을 사용하여 _intout_에 node.tpl을 사용하는 방법이 있습니까? 또한 위의 사용자 함수에 관해서는 다음과 같은 것을 쓸 것입니다 :' 일부 작업을 수행하십시오 ... ' 도움을 주셔서 감사합니다 – ricardoom