ฉันจะแสดงทีเซอร์ของโหนดโดยทางโปรแกรมโดยใช้เลเยอร์ธีมได้อย่างไร?
ฉันจะแสดงทีเซอร์ของโหนดโดยทางโปรแกรมโดยใช้เลเยอร์ธีมได้อย่างไร?
คำตอบ:
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()พระทัย ไม่เคยข้ามชั้นรูปแบบดังนั้นคุณควรจะปรับ :)