ฉันกำลังพยายามแสดงเทมเพลตใน Drupal 8 ใน Drupal 7 ฉันจะสร้างชุดรูปแบบด้วย hook_theme สร้างไดเรกทอรีแม่แบบในโมดูลของฉันวางแฟ้มแม่แบบในและฉันสามารถแสดงด้วยชุดรูปแบบ () ฉันจะทำ eqivilent กับ Drupal 8 ได้อย่างไร ฉันลองสิ่งต่อไปนี้ แต่มีข้อผิดพลาดเกิดขึ้น:
ใน twitter_pull.module
/ ** * ใช้ hook_theme () * / ฟังก์ชัน twitter_pull_theme ($ ที่มีอยู่, $ type, $ theme, $ path) { อาร์เรย์ส่งคืน ( 'twitter_pull_tweet_listing' => อาร์เรย์ ( 'ตัวแปร' => อาร์เรย์ ( 'description' => array (), ) 'template' => 'templates / twitter_pull_tweet_listing' ) ); }
ภายใน twitter_pull / แม่แบบ: the twitter_pull_tweet_listing.html.twig
ภายในบล็อกของฉัน:
$ tweet_template = array ('# theme' => 'twitter_pull_tweet_listing', '#attributes' => อาร์เรย์ ('params' => $ params)); $ output = drupal_render ($ tweet_template, array ('params' => $ params)); พิมพ์ออก $;
ฉันได้รับข้อผิดพลาดต่อไปนี้ในบันทึกของฉัน:
ข้อผิดพลาดของผู้ใช้: "เนื้อหา" เป็นคีย์อาเรย์การแสดงผลที่ไม่ถูกต้องใน Drupal \ Core \ Render \ Element :: children () (บรรทัดที่ 89 ของ C: \ xampp \ htdocs \ drupal \ core \ lib \ Drupal \ Core \ Render \ Element PHP)
แก้ไข: ข้อผิดพลาดอื่น:
Twig_Error_Loader: ไม่พบเทมเพลต "modules / custom / twitter_pull / templates / templates / twitter_pull_tweet_listing.html.twig" (ดูที่: C: \ xampp \ htdocs \ drupal) ใน Twig_Loader_Filesystem-> findTemplate () (บรรทัดที่ 202 ของ C: \ xampp \ htdocs \ drupal \ core \ seller \ twig \ twig \ lib \ Twig \ Loader \ Filesystem.php)
ฉันคิดว่าข้อผิดพลาดนี้เกิดขึ้นเพราะฉันไม่ได้ใช้เนมสเปซและการโหลดอัตโนมัติอย่างถูกต้อง ฉันจะวางไฟล์เทมเพลตของฉันที่ไหน? จากข้อผิดพลาดฉันพยายามวางไว้ที่ C: \ xampp \ htdocs \ drupal \ templates \ แต่ก็ยังใช้งานไม่ได้
drupal_render()
? คาดว่าจะเป็นบูลีน
templates/templates/
มีส่วนร่วมในข้อผิดพลาดที่ 2 ทำให้ฉันคิดว่าคุณควรลอง'template' => 'twitter_pull_tweet_listing',
แทน'template' => 'templates/twitter_pull_tweet_listing',
ในhook_theme()