ฉันจะแสดงทีเซอร์ของโหนดโดยทางโปรแกรมโดยใช้เลเยอร์ธีมได้อย่างไร?
ฉันจะแสดงทีเซอร์ของโหนดโดยทางโปรแกรมโดยใช้เลเยอร์ธีมได้อย่างไร?
คำตอบ:
node_view()
เป็นฟังก์ชั่นมาตรฐานสำหรับการแสดงผลโหนดเช่น
$node = node_load(1);
$view = node_view($node, 'teaser');
$rendered = drupal_render($view);
มีnode
ชุดรูปแบบที่กำหนดโดยโมดูลโหนด (ในnode_theme()
) แต่ฉันไม่เคยเห็นมันใช้
$build += array(
มันมี#theme
คุณสมบัติที่ฉันเดาว่าจะบอกให้ Drupal ใช้ ระบบชุดรูปแบบ ช่วยแก้ให้ด้วยนะถ้าฉันผิด. ตอนนี้ฉันเพิ่งเริ่ม 'รับ' Drupal API :)
theme('node', ...
ก่อน ในความเป็นจริงว่าจะไม่ได้ทำงานเพราะจะกำหนดตัวเองว่ามีแทนrender element
variables
theme('theme_name', $args)
และโดยการใช้ที่เรียกว่าrender element
เอส. hook_theme()
เอกสารอธิบายมันสวยดีก็ไม่ได้ 100% ใช้งานง่าย แต่เมื่อคุณรู้ว่ามันมีประโยชน์จริงๆ. ใช้node_view()
พระทัย ไม่เคยข้ามชั้นรูปแบบดังนั้นคุณควรจะปรับ :)