Score:0

html--user--wildcard-id--module.html.twig

ธง cn

วิธีย้ายช่อง Rich Text จากภายนอก Drupal โดยไม่ต้องแปลงแท็ก html เป็นเอนทิตี ฉันมีเพจที่เส้นทาง /user/{id}/module

และฉันกำลังพยายามให้ Drupal โหลดเทมเพลตที่กำหนดเองจากโมดูลของฉันเมื่อเข้าถึงหน้านี้ เอาต์พุตการดีบัก twig แสดงคำแนะนำสำหรับชื่อเทมเพลตดังด้านล่าง แต่ดูเหมือนว่าจะไม่เลือกเทมเพลตแม้ว่าจะสร้างแคชใหม่แล้วก็ตาม เพจต้องแสดงสำหรับผู้ใช้ทั้งหมด ดังนั้นจึงไม่สามารถตรึงกับรหัสเฉพาะได้ แต่ html--user--module.html.twig

<!-- FILE NAME SUGGESTIONS:
   * html--user--module.html.twig
   * html--user--123456.html.twig
   * html--user--%.html.twig
   * html--user.html.twig
   x html.html.twig
-->

ไม่ได้รับความเคารพ มีไวยากรณ์บางอย่างที่ฉันไม่พบหรือไม่ เช่น ?

sonfd avatar
in flag
คุณต้องทำสิ่งพิเศษสำหรับ Drupal เพื่อค้นหาการแทนที่เทมเพลตในไดเร็กทอรีของโมดูลของคุณ ตามค่าเริ่มต้น จะดูเฉพาะกับธีมที่ใช้งานอยู่เท่านั้น
leymannx avatar
ne flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [ลบล้างเทมเพลตธีมจากโมดูลโดยไม่ต้องใช้ธีม](https://drupal.stackexchange.com/questions/200602/override-theme-template-from-module-without-implementing-a-theme)
cn flag
@leymannx ขอบคุณสำหรับสิ่งนั้น เป็นวิธีแก้ปัญหาเดียวกัน แต่วิธีแก้ไขปัญหาต่างกัน ฉันมีทั้งธีมและโมดูลที่กำหนดเอง ฉันลงคะแนนให้คำตอบของแซมสำหรับคำถามนี้ แต่ไม่มีตัวแทนที่จะทำเครื่องหมายว่ายอมรับ
Score:0
ธง es
Sam

ใช้เทมเพลตจากโมดูล

คุณต้องระบุเทมเพลตใน hook_theme() ด้วยตะขอฐานที่ถูกต้อง

นี่คือตัวอย่างสำหรับ hook 'node':

ฟังก์ชัน MY_MODULE_theme($existing, $type, $theme, $path) {
  กลับ [
    'node__custom-type__full' => [
      ' template' => 'node--custom-type--full',
      'ฐานเบ็ด' => 'โหนด',
      'path' => drupal_get_path('โมดูล', 'MY_MODULE') '/ templates/content', // ถ้ากำหนดเอง
    ]
  ];
}

วิธีแก้ปัญหาอื่น: สร้างคำแนะนำใหม่

คุณสามารถทำได้ใน theme_suggestions_alter()

ตรวจสอบ theme_suggestion_alter

นี่คือตัวอย่าง นี่คือวิธีแก้ปัญหา เพื่อสร้างคำแนะนำเทมเพลตสำหรับฟอร์มที่มี id form :

ฟังก์ชัน MY_THEME_theme_suggestions_alter($existing, $type, $theme, $path) {
  if ($hook === 'form' && !empty($variables['element']['#id'])) {
    $suggestions[] = 'แบบฟอร์ม__' str_replace('-', '_', $variables['element']['#id']);
  }
}

(สร้างแบบฟอร์มให้ฉัน--แบบฟอร์มการเข้าสู่ระบบของผู้ใช้.html.twig)

ในกรณีของคุณ ให้เปลี่ยน $ตะขอ โดย html และเพิ่มรหัสผู้ใช้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา