คำถามติดแท็ก theming

ใช้สำหรับคำถามเกี่ยวกับการเรนเดอร์หรือแก้ไขมาร์กอัพ HTML ที่สร้างขึ้นโดยโมดูล / ธีม

2
แสดงข้อมูลผลลัพธ์เว็บฟอร์มใน Google Chart
ฉันพยายามที่จะแสดงผลเว็บฟอร์มเป็นGoogle แผนภูมิ ฉันทำเช่นนี้ในชั้นธีมโดยเอาชนะ theme_webform_results_analysis () ในไฟล์ template.php ธีมของฉันและการใช้โมดูลแผนภูมิ Drupal 6.22, Webform 6.x-3.11 หน้าการวิเคราะห์เว็บฟอร์มปกติจะแสดงข้อมูลในตารางดังนั้นฉันพยายามที่จะตัดออกจากกันอาร์เรย์สำหรับตารางที่จะผ่านสิ่งที่เข้ามาในแผนภูมิ API แก้ไข : ฉันคิดวิธีการใช้ var_dump และพบว่าวิธีที่ดีกว่าอาจลุกขึ้นใน $ row_data และ $ questions arrays แยกต่างหาก (แทนที่จะใช้ $ array array ที่ฉันมีในรุ่นแรกของคำถามนี้ซึ่งเป็น ตอบโต้กับผู้ใช้ได้ของทั้งสองอาร์เรย์) แก้ไข # 2 : ฉันคิดว่าฉันได้ค้นพบวิธีการคว้าแต่ละ $ $ คำถามเดิมและอาร์เรย์ $ row_data (ดูด้านล่าง - foreach ใน foreach อื่น ๆ ) …
11 theming  6  webforms  charts 

4
ชื่อไฟล์เทมเพลตของผู้สมัครสำหรับรายการประเภทเนื้อหาที่กำหนดเองโดยเฉพาะ
ฉันกำลังทำงานกับเว็บไซต์ Drupal 7 ฉันสร้างประเภทเนื้อหาที่กำหนดเองสำหรับงาน ฉันมีหลายฟิลด์และบางฟิลด์เกี่ยวข้องกับเลย์เอาต์ของหน้าเช่นหน้า bg เฉพาะสำหรับแต่ละรายการ ดังนั้นฉันต้องการ page.tpl ที่กำหนดเองสำหรับประเภทเนื้อหานี้โดยเฉพาะ ดังนั้นฉันจึงเปิดใช้งานและเปิดโมดูล Theme Developer และคลิกพื้นที่ส่วนเนื้อหาเพื่อรับชื่อผู้สมัครสำหรับรายการหน้าประเภทเนื้อหานี้โดยเฉพาะ และมันทำให้ฉันเห็นหน้าจอด้านล่างซึ่งไม่ได้มีความหมายอะไรกับฉัน: / เมื่อฉันคลิกที่พื้นที่โหนดมันก็ดีมันให้โหนด - work.tpl.php แต่ฉันต้องการหน้า ฉันลอง "หน้า - work.tpl.php" มันไม่ทำงาน ฉันกำลังคิดถึงอะไร
11 7  theming 

3
ส่งไฟล์เทมเพลตตัวแปรเป็นบล็อกแบบกำหนดเอง
ฉันต้องการสร้างบล็อกที่กำหนดเองของฉันด้วยเนื้อหาที่กำหนดเองใน Drupal 8 ในตอนแรกฉันสร้างบล็อกด้วยข้อความง่ายๆและทำงานอย่างถูกต้องปัญหาของฉันคือฉันจะส่งตัวแปรที่กำหนดเองไปได้อย่างไร ฉันเห็นการสอนเกี่ยวกับเรื่องนี้ชื่อโมดูลของฉันคือtcdevและนี่คือเนื้อหาของ.moduleไฟล์ function tcdev_theme($existing, $type, $theme, $path) { return array('tcdev' => array( 'variables' => array( 'title' => 'Default title', 'description' => null ), 'template' => 'block--sliderblock' ) ); } และของฉัน SliderBlock.php namespace Drupal\tcdev\Plugin\Block; use Drupal\Core\block\BlockBase; /** * Provides a 'SliderBlock' block. * * @Block( * id = …
11 theming  8  blocks 

9
ฉันจะตรวจสอบอย่างถูกต้องว่าภูมิภาคว่างเปล่าอย่างไร [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน8 เดือนที่ผ่านมา ฉันมีเงื่อนไขสำหรับการพิมพ์พื้นที่ในเทมเพลตของเพจเนื่องจากไม่ว่างเปล่าแต่จะพิมพ์พื้นที่ว่างเสมอไม่ว่าจะเกิดอะไรขึ้น วิธีที่เหมาะสมในการตรวจสอบพื้นที่ว่างเปล่าคืออะไร? ตัวอย่างเช่นพิมพ์ออก{% if page.local_tasks is not empty %}{{ page.local_tasks }}{% endif %}<div class="region region-local-tasks"></div> หากฉันแสดงพื้นที่themename_preprocess_page()ด้วยvar_dump(drupal_render($variables['page']['highlighted']));ฉันจะได้รับ SafeString พร้อมโทเค็นตัวยึด: <div class="region region-highlighted"><drupal-render-placeholder callback="Drupal\Core\Render\Element\StatusMessages::renderMessages" arguments="0" token="a8c34b5e"></drupal-render-placeholder></div> ดังนั้นในทางเทคนิคพื้นที่ไม่ว่างเปล่า แต่ฉันไม่สามารถทำอะไรได้
11 8  theming 

1
เพิ่มคลาสลงในเซลล์ตาราง Drupal ที่มี ['data']
ใน Drupal 8 ตารางการเรนเดอร์ยังคงเหมือน Drupal 7 คุณสร้างอาร์เรย์หลายมิติของแถวและคอลัมน์ใน PHP ที่ Drupal แปลงเป็น a <tr>และ<td>s ตามลำดับ ยังคงมี Drupalism ที่สับสนที่รู้จักกันในชื่อนี้'data'ซึ่งช่วยให้คุณเพิ่มองค์ประกอบอาร์เรย์แสดงผลเป็นข้อมูลเซลล์ (เพื่อไม่ให้สับสนกับแอตทริบิวต์ของข้อมูล) ฉันได้รับเว็บไซต์ที่ผู้พัฒนาเลือกใช้ 'data' เพื่อแสดงเนื้อหาของเซลล์ แต่ฉันไม่สามารถหาวิธีเพิ่มคลาสไปยัง<td>รอบ ๆ ข้อมูลได้ ฉันได้อ่านซอร์สโค้ดและเอกสารสำหรับTable.phpแล้วและฉันรู้เรื่องใหม่แล้ว#wrapper_attributes แต่ไม่สามารถถอดรหัสได้ ฉันลองอย่างน้อยสี่วิธีในการเพิ่มชั้นเรียนและไม่ทำงาน $table['row-' . $row_id] = [ // Option 1: Class appears on <tr> tag '#attributes' => [ 'class' => ['option-1-row-attributes'], 'id' => 'row-' . …
11 theming  8 

2
ตัวแปรประมวลผลล่วงหน้าสำหรับบล็อกบางตัวเท่านั้น
เป็นไปได้ที่ตัวแปรก่อนการประมวลผลสำหรับบล็อกบางอย่างเท่านั้นหรือไม่ ฉันได้สร้างฟังก์ชั่นดังกล่าวmytheme_preprocess_block__aggregator(&$vars)แต่มันไม่ทำงาน - แก้ไข - ดูเหมือนว่าจะได้รับการแก้ไขใน Drupal 8 https://drupal.org/node/1751194
11 7  theming  8 

3
ฉันจะลบชื่อ / ส่วนหัวของหน้าได้อย่างไร
ใน Drupal 8 มีวิธีง่าย ๆ ในการกำหนดค่าหน้าเพื่อให้ส่วนหัว / ชื่อหน้าไม่แสดงบนหน้าหรือไม่? ฉันได้สร้างเพจพื้นฐานโดยมี / home เป็นชื่อแทนพา ธ และชื่อหน้าแรก ฉันตั้งมันเป็นหน้าแรก อย่างไรก็ตามจะแสดง 'หน้าแรก' ที่ด้านบนของหน้าด้านล่าง navbar และ breadcrumb จำเป็นต้องสร้างธีมย่อยของธีม 'Bootstrap' และเพิ่ม CSS แบบกำหนดเองหรือไม่?
10 8  theming 

4
ฉันจะจัดรูปแบบลิงก์จากไฟล์เทมเพลตได้อย่างไร
เทมเพลตกิ่งไม้กำลังแสดงรายการลิงก์ที่มาพร้อมกับคลาส พื้นฐาน: {{ mylink }} รหัสทวิจะส่งออกบางสิ่งเช่น <a href="#" class="someclass" >the text</a> ลิงก์ไม่ได้มีคลาสทั้งหมด ฉันต้องการเขียนแม่แบบกิ่งไม้ที่จะเอาท์พุทแบบนี้แทน: <a href="#" class="someclass" > <span class="sprite someclass" ></span> the text</a> สิ่งที่ฉันได้ลอง: ฉันมองหาแม่แบบกิ่งไม้เพื่อแทนที่ น่าเสียดายที่ดูเหมือนว่าลิงค์จะไม่แสดงผลโดยแม่แบบกิ่งไม้ ฉันพยายามอัปเดตตัวแปร twig เช่น set mylink['#title'] = "<span>...</span>" ~ mylink['#title'] แต่มันจะไม่ทำให้ฉันทำอย่างนั้น
10 theming  8 


4
วิธีตัดแต่งเนื้อความ (field_body)?
ฉันสร้างมุมมองสำหรับโหนดซึ่งแสดงเนื้อหาเป็นเอนทิตีที่แสดงผล ในบรรดาคนอื่น ๆ ฉันส่งออกฟิลด์ร่างกายในแม่แบบกิ่งไม้: {{ content.field_body }} ตอนนี้ฉันต้องการ จำกัด ข้อความไว้ที่ 200 ตัวอักษรและใส่จุดสามจุด ฉันได้ทดสอบวิธีการต่าง ๆ สามวิธี แต่ไม่มีอะไรได้ผล ปัญหาคือว่าแต่ละวิธีนับและตัดแต่งอักขระ HTML ด้วย 1: ฉันได้เพิ่มรูปแบบ "Trimmed" ใน "Manage display" => ข้อความมี จำกัด แต่ไม่ถูกต้อง และฉันไม่มีจุดสามจุด 2: ฉันตัดแต่งข้อความในแม่แบบกิ่งไม้ แต่เพื่อนับข้อความฉันต้องแสดงมันก่อน ดังนั้น, twig เอาท์พุทข้อความเป็น HTML (ฉันเห็นแท็ก HTML บนหน้าของฉัน!) {% set text = content.field_body|render %} {{ text|length > 200 …
10 theming  8 

2
วิธีการกำหนดฟังก์ชั่น preprocess นิติบุคคล
โมดูลที่กำหนดเองของฉันกำหนดเอนทิตีที่กำหนดเองซึ่งขยายคลาส EntityAPIController ฉันจัดการเพื่อให้มันทำงานโดยทั่วไปคือการแสดงฟิลด์ ฯลฯ ผ่านไฟล์ tpl.php ที่กำหนดเองของฉัน แต่ฉันต้องการสร้างmymodule_preprocess_entityฟังก์ชั่น (ตามที่แนะนำไว้ที่นี่ ) เพื่อเพิ่มตัวแปรที่กำหนดเองลงในไฟล์ tpl.php แต่ฟังก์ชั่นดังกล่าวไม่ทำงาน (ไม่ได้ถูกเรียก) นอกจากนี้เมื่อฉันแสดงเอนทิตีนี้ฉันสังเกตเห็นว่าฟังก์ชั่นtemplate_preprocess_entity(&$variables)จากเอนทิตี้ของโมดูลไม่ทำงานเช่นกัน ต้องกำหนดอะไรอีกเพื่อให้มีการเรียกใช้ฟังก์ชัน preprocess สำหรับเอนทิตีแบบกำหนดเอง
10 7  theming  entities 


7
วิธีซ่อนชื่อหน้าตามประเภทโหนดโดยใช้ template_preprocess_page ()
ฉันกำลังพยายามที่จะซ่อนชื่อของหน้าปัจจุบัน (ตามที่พิมพ์ด้วยpage.tpl.php) ถ้าหน้าปัจจุบันคือ 1) โหนดในการแสดงเต็มรูปแบบ (เมื่อเทียบกับโหมดทีเซอร์) และ 2) ประเภทโหนดเป็นทั้งคอนเสิร์ตหรือชีวภาพ ฉันพิมพ์ชื่อโหนดสำหรับประเภทเนื้อหาเหล่านี้โดยตรงในเนื้อหาโหนดดังนั้นฉันต้องการซ่อนสิ่งที่ซ้ำกันที่ถูกพิมพ์โดย page.tpl.php ฉันไม่สามารถใช้งานได้โดยตรงใน page.tpl.php และการอ่านของฉันชี้ให้เห็นว่าวิธีปฏิบัติที่ดีที่สุดคือการจัดการกับแม่แบบตรรกะใน template.php โดยใช้ฟังก์ชั่น preprocess และกระบวนการ ดังนั้นฉันกำลังพยายามที่จะซ่อนชื่อหน้าปัจจุบัน (ที่มีมากกว่า 2 เงื่อนไข) template_preprocess_page()โดยใช้ นี่คือรหัสของฉัน <?php function MYTHEME_preprocess_page(&$variables) { if (!empty($variables['node']) && $variables['node']->type == 'concert') { hide($variables['title']); } } ?> ฉันอ่านฉันจะทดสอบประเภทโหนดเพื่อพิมพ์ตัวแปรจาก template.php ได้อย่างไร และหน้าเอกสารสำหรับtemplate_preprocess_page()และไซต์อื่น ๆ อีกมากมาย แต่ฉันก็ดูเหมือนจะไม่สามารถใช้งานได้ ฉันเห็นข้อเสนอแนะที่คุณต้องเรียกisset()ใช้$variables['node']ก่อนที่จะทำการทดสอบสำหรับชนิดโหนด แต่นั่นก็ไม่ได้ผลเช่นกัน ฉันไม่เห็นวิธีแก้ปัญหาที่ชัดเจนโพสต์ที่ใดก็ได้และตอนนี้ฉันก็ใกล้จะหมดปัญญาแล้ว
10 nodes  theming  7 

2
วิธีแสดงการจัดเรียงที่เปิดเผยในมุมมองโดยใช้หนึ่งวิดเจ็ตดร็อปดาวน์?
โดยปกติแล้วโมดูล Views 3.0 สำหรับ Drupal 7 จะใช้สองดรอปดาวน์เพื่อแสดงการจัดเรียงที่เปิดเผย ดรอปดาวน์แรกเพื่อเลือกชื่อฟิลด์และอื่น ๆ - เพื่อเลือกทิศทางการเรียง ฉันจะสัมผัสการเรียงลำดับในหนึ่งดรอปดาวน์ได้อย่างไร
10 7  theming  views 

2
ผ่านตัวแปรจากฟังก์ชัน preprocess html ไปยังฟังก์ชัน preprocess หน้าหรือไม่
ในชุดรูปแบบที่กำหนดเองhook_preprocess_page()และhook_preprocess_html()ฟังก์ชั่นของฉันฉันมักจะต้องระบุข้อมูลเดียวกัน แทนที่จะเรียกใช้คำสั่งเดิมหากตรวจสอบทั้งข้อมูลระบุเหมือนกันมันจะสมเหตุสมผลมากกว่าที่จะทำเพียงครั้งเดียวทั้งคู่จากนั้นส่งผ่านข้อมูลนั้นไปยังฟังก์ชัน preprocess อื่น ฉันจะทำสิ่งนี้ได้อย่างไร ฉันลองสิ่งต่อไปนี้ แต่มันไม่ทำงาน: function myTheme_preprocess_page(&$vars){ $vars['myValue'] = 7; } function myTheme_preprocess_html(&$vars){ //$vars['myValue'] should equal 7... } ฉันยังได้ลองวิธีอื่น ๆ (การตั้งค่าในฟังก์ชั่น preprocess html แล้วดึงข้อมูลในฟังก์ชั่น preprocess หน้า) แต่ก็ไม่ได้ผลเช่นกัน คำถามใดบ้างที่เกี่ยวข้อง: ในฟังก์ชัน preprocess, er, processing ในลำดับใด ดูเหมือนว่าฉันว่าฟังก์ชั่น preprocess หน้ามาก่อนหนึ่ง html นั้นถูกต้องหรือไม่
10 7  theming 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.