2011-04-22 3 views
1

마크 업을 모두하지 않고도 필드 내용을 인쇄 할 수 있습니까? Drupal에 익숙하지 않지만 field.tpl.php에 대해 알고 있습니다. 그러나 노드에있는 컨텐트를 가져 오는 더 빠른 방법 인 custom.tpl.php가 있는지 궁금합니다. 그것은 워드 프레스의 <?php echo get_field('field_name'); ?>드루팔 (Drupal : 마크 업이없는 필드 인쇄

+0

그래서 당신이 HTML 태그를 제거하려면 무엇입니까? – Tivie

+0

예, 복수의 field.tpl.php 파일을 만드는 것 외에는 그렇게 할 수있는 방법이 있습니다. 감사!!! – csm232s

답변

1

잘 비교 것, 떨어져 field.tpl.php를 사용, 나는이 개 솔루션을 생각할 수 있습니다 :

첫째 :

를 사용하여 템플릿에서 HTML 태그를 제거하는 PHP 조각. php. 여러 테마를 사용하는 경우 template.php에서

function mytheme_strip_html_tags($n_field) { 

    return preg_replace("/<.*?>/", "", $n_field); 

} 

는하지만, 당신이 그들의 각 하나에이 코드를 복사 할 필요가 함수에게 mytheme_strip_html_tags($field_name)

를 호출합니다.

편집 : 모듈을 만들어 내부에 스 니펫을 넣을 수 있습니다. 이 방법은 모든 테마에서 작동합니다.

초 :

토큰 모듈을 다운로드하십시오. 토큰은 필드에 대한 참조입니다. 토큰 모듈에는 html을 제거하는 출력 모드가 있습니다. [field_name-raw]

토큰을 추가하는 방법에 대한 지침을 따라야하지만 그다지 어렵지는 않습니다.

0

당신은 그렇게하는 node.tpl.php 내부 $ 노드 변수에 액세스 할 수 있습니다

<?php print $node->field_monkey_height; ?> 

작동합니다

... 많은 분야는 여러 값 필드 (배열 안에 데이터를 숨길 수 있습니다, 등등) 당신은 조금을 할 필요가있을 수있다 :

<?php drupal_set_message(print_r($node->field_monkey_height), 1); ?> 

... 당신이 필요로하는 자료에 정확한 경로를 파악하기 위하여.

0

당신은 단순히과 같이 PHP의 strip_tags()을 사용할 수 있습니다 : 그것은 것을

<?php print strip_tags($node->field_name[LANGUAGE_NONE][0]['value']); ?>