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

ใน Drupal การรวบรวมเนื้อหาและฟังก์ชันที่มีอยู่ในตัวเองที่ปรากฏในขอบเขตของธีมเรียกว่า block

9
ฉันจะแสดงบล็อกโดยทางโปรแกรมได้อย่างไร
ฉันกำลังพัฒนาเว็บไซต์โดยใช้ Drupal 8 beta-14 ฉันได้สร้างบล็อคมุมมองของคำต่างๆและตอนนี้ฉันต้องการที่จะแสดงมันโดยใช้รหัส ฉันจะแสดงมันแบบเป็นโปรแกรมได้อย่างไร? ฉันเคยทำมันใน Drupal 7 โดยใช้รหัสนี้ แต่ฉันสับสนเกี่ยวกับ Drupal 8 $block = module_invoke('block', 'block_view', '4'); $text_block = render($block['content']);
33 8  blocks 


3
แสดงบล็อกโดยทางโปรแกรมในแม่แบบกิ่งไม้
ฉันต้องการแสดงบล็อกการดูในเทมเพลตของฉัน html.twig ใน D7 ฉันจะทำสิ่งนี้: <?php $block = module_invoke('module_name', 'block_view', 'block_delta'); print render($block['content']); ?> ใน Drupal 8 module_invoke เลิกใช้แล้วและแนะนำให้ใช้สิ่งนี้: (ฉันได้เพิ่มชื่อบล็อกเป็นพารามิเตอร์ตัวที่สอง) Drupal::moduleHandler()->invoke($block, 'views_block__blog_block_1', $args = array()); ฉันลองบางสิ่ง ก่อนอื่นให้ลองทำในเทมเพลตกิ่งไม้ แต่ฉันไม่รู้วิธีเรียกใช้ฟังก์ชัน php ในเทมเพลตกิ่งไม้ดังนั้นจึงไม่ได้ผลดีเกินไป จากนั้นฉันเรียกใช้ฟังก์ชันใน preprocess_page () ฟังก์ชั่นในไฟล์. theme แต่ก่อนที่ฉันจะสามารถใช้งานได้ฉันพยายามทำสิ่งที่ง่ายกว่าเพียงแค่พยายามทำให้ตัวแปรทำงานภายในเทมเพลตกิ่งที่ไม่ทำงานเช่น: ในฟังก์ชัน template_preprocess_page (& $ vars) ในไฟล์. theme: $test = 'Hello World'; $vars['$my_var'] = $test; …
28 blocks  8 


5
วิธีง่ายๆในการสร้างบล็อกโดยทางโปรแกรม? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา การเรียนรู้ Drupal ตอนนี้ฉันรู้แล้วว่าฉันสามารถสร้างบล็อกผ่านแบ็กเอนด์ แต่ฉันอยากจะสร้างบล็อกเหล่านี้แบบเป็นโปรแกรมถ้าเป็นไปได้ อันที่จริงฉันค่อนข้างแน่ใจว่าเป็นไปได้ แต่วิธีที่ง่ายที่สุดคืออะไร
26 blocks 

4
วิธีการธีมบล็อกที่กำหนดเอง
ฉันสร้างบล็อกโดยใช้hook_block_infoและไม่hook_block_themeชอบ แต่ฉันจะกำหนดธีมได้อย่างไร ฉันมีมันทำงานเพื่อกลับอาร์เรย์ด้วยปุ่มลูก ๆและ'subject' 'content'แต่ฉันสร้างมาร์กอัปในhook_block_view()เบ็ดโดยตรงและนั่นไม่ใช่สิ่งที่ฉันต้องการ ในเอกสารมีการกล่าวว่าเนื้อหาควรกลับมาเป็นอาร์เรย์ที่แสดงผลได้ดีกว่าไม่ใช่มาร์กอัป แต่สิ่งนี้คืออาร์เรย์ renderable ? พวกเขาบอกว่ามันควรจะเป็นข้อมูลแทนที่จะเป็นมาร์กอัป แต่สิ่งที่ฉันเห็นในตัวอย่างคือมันใช้เพื่อเป็นมาร์กอัปสำหรับมาร์กอัปดังนั้นจึงไม่มีอะไรที่จะได้รับ ฉันต้องการที่จะมีblock--MYMODULE--DELTA.tpl.phpในชุดรูปแบบของฉัน แต่ฉันจะเรียกมันได้อย่างไรและฉันจะส่งผ่านข้อมูลไปยังบล็อกได้อย่างไร?
26 7  blocks  theming 

8
ฉันจะย้ายเนื้อหาบล็อกจาก dev ไปยังไซต์การผลิตได้อย่างไร
ในที่สุดฉันก็เริ่มมองหา Drupal 8 อย่างจริงจังและฉันสนใจเป็นพิเศษในการจัดการการกำหนดค่า ฉันเจอสิ่งที่อาจมีปัญหาเล็กน้อยและเกี่ยวข้องกับเนื้อหาบล็อกที่กำหนดเอง ฉันสามารถเห็นได้ว่าระบบการจัดการการกำหนดค่าสามารถส่งออกการกำหนดค่าบล็อก - ภูมิภาค, ธีม, น้ำหนัก, การมองเห็น ฯลฯ อย่างไรก็ตามเนื้อหาบล็อกที่เกิดขึ้นจริงไม่ได้อยู่ในการส่งออกการกำหนดค่าซึ่งมีเหตุผลและเข้าใจได้ ในการนำเข้าการกำหนดค่าบล็อกนั้นไปยังไซต์ที่ใช้งานจริงสิ่งที่ดูเหมือนจะเกิดขึ้นคือการกำหนดค่าบล็อกถูกสร้างขึ้นและมีการพักข้อความไว้การรายงานบล็อกนั้นขาดหายไปหรือขาดหายไป เห็นได้ชัดว่าเนื้อหาบล็อกไม่มีอยู่บนเซิร์ฟเวอร์ที่ใช้งานจริง บล็อกที่กำหนดเองสามารถโยกย้ายจากเซิร์ฟเวอร์ dev / staging ไปยังเซิร์ฟเวอร์ที่ใช้งานจริงได้อย่างไร ฉันรู้ว่าบล็อกใน Drupal 8 เป็นเอนทิตีที่สามารถทำงานได้เช่นโหนดดังนั้นจะต้องย้ายข้อมูลในลักษณะเดียวกันและฉันเข้าใจว่ามี Migrate API ใน Drupal 8 แต่ดูเหมือนว่าจะสร้างขึ้นสำหรับการย้ายเนื้อหาจากเว็บไซต์ Drupal 6 และ 7 Drupal 8 ตรงข้ามกับ Drupal 8 ถึง Drupal 8 sites ปัญหานี้เกี่ยวกับการบล็อกที่กำหนดเองโดยเฉพาะเป็นบล็อกที่สร้างขึ้นโดยโมดูลอื่น ๆ เช่น Views จะเห็นได้ชัดว่าจะโยกย้ายข้ามเป็นการกำหนดค่า
24 blocks  8 

4
มุมมองถูกแคชผ่านกลไกการแคชหลักหรือฉันควรตั้งค่าการแคชโดยตรงในแต่ละมุมมองหรือไม่?
ฉันเห็นว่ามีการตั้งค่าแคชในแต่ละมุมมองของฉัน ฉันต้องตั้งค่าเหล่านี้หรือไม่หรือกลไกการแคชหลักใน / admin / config / development / performance ทำสิ่งนี้โดยอัตโนมัติและ "การตั้งค่าพิเศษ" เหล่านี้ในมุมมองคือถ้าฉันต้องการแทนที่พฤติกรรมแคชเริ่มต้นของแกน drupal?
23 7  views  blocks  caching 

1
ตัวกรองบริบทพร้อมมุมมองบล็อก
ฉันมีการดูหน้าเว็บ ("/ ข่าว") พร้อมตัวกรองเชิงบริบทสำหรับหัวข้อ ("ข่าว / การออกแบบ", "ข่าว / การเข้ารหัส" ... ) ซึ่งเป็นคำศัพท์ทางอนุกรมวิธานและสิ่งนี้ใช้ได้ผล เนื่องจากมีการเปลี่ยนแปลงบางอย่างสำหรับชุดอุปกรณ์พกพาฉันต้องใช้มุมมองบล็อกแทนการดูหน้าเว็บ แต่ฉันไม่สามารถใช้งานตัวกรองได้ ด้วยการตั้งค่าตัวกรองแบบเก่าฉันได้รับบทความทั้งหมดของฉันใน "/ news" แต่ตัวกรองที่ฉันใช้เปลี่ยนค่าเริ่มต้นจากตัวกรองเป็น "รหัสคำศัพท์ taxonomy จาก url"; ตอนนี้ฉันเห็นหน้าว่างสำหรับ "/ news" (ตอนนี้เป็นหน้าธรรมดาที่มีมุมมองบล็อกรวมอยู่ด้วย) และ "ไม่พบไซต์" สำหรับ "/ news / design" ฯลฯ ในตัวอย่างของมุมมองทุกอย่างทำงานได้ดี . นี่คือการตั้งค่าสำหรับมุมมอง
19 blocks  views 

9
สร้างไฟล์เทมเพลตสำหรับบล็อกการดู
มีจำนวนมากเกี่ยวกับการกำหนดบล็อกที่กำหนดเอง แต่บล็อกที่สร้างโดยมุมมองมีอะไรบ้าง บล็อกมุมมองของฉันมี id: block-views-posts-listing-listing, ฉันลองหลายวิธีสำหรับการตั้งชื่อไฟล์เทมเพลตเช่น: block - block - views-posts-listing-block.tpl.php แต่ฉันหาชื่อไฟล์ไม่ถูกต้อง
19 7  views  theming  8  blocks 

7
ฉันจะตั้งค่าการแคชอย่างถูกต้องสำหรับบล็อกที่กำหนดเองของฉันที่แสดงเนื้อหาขึ้นอยู่กับโหนดปัจจุบันได้อย่างไร
ฉันมีบล็อกพื้นฐานมากซึ่งเพิ่งแสดง ID ของโหนดปัจจุบัน <?php /** * @file * Contains \Drupal\mymodule\Plugin\Block\ExampleEmptyBlock. */ namespace Drupal\mymodule\Plugin\Block; use Drupal\Core\Block\BlockBase; use Drupal\Core\Cache\Cache; /** * @Block( * id = "example_empty", * admin_label = @Translation("Example: empty block") * ) */ class ExampleEmptyBlock extends BlockBase { /** * {@inheritdoc} */ public function build() { $node = \Drupal::routeMatch()->getParameter('node'); $build …
19 8  blocks  caching 

3
วิธีการเลือกระหว่างบานถั่วกล่องและบานหน้าต่าง Fieldable?
Bean , กล่องและพาเนล Fieldable Panesทั้งหมดมีฟังก์ชั่นที่คล้ายกัน ฉันมีปัญหาในการทำความเข้าใจว่าอะไรคือความแตกต่างระหว่างพวกเขา อะไรคือข้อดี / ข้อเสียของพวกเขาเมื่อเทียบกับแต่ละอื่น ๆ ? พวกเขามุ่งเน้นไปที่กรณีการใช้งานที่แตกต่างกัน? ฉันต้องการใช้บล็อกบางชนิดในพาเนลเพื่อเพิ่มเนื้อหาที่กำหนดเอง - ผู้แก้ไขเนื้อหาต้องสามารถเพิ่มเนื้อหาได้ในกรณีนี้บล็อกที่ฉันต้องการไม่ใช่การกำหนดค่าที่บริสุทธิ์ แต่ฉันยังใช้คุณสมบัติ ... แก้ไข: ฉันจะเพิ่มสิ่งที่ดูเหมือนจะเป็นความแตกต่างที่สำคัญ กล่อง ฐานผู้ใช้ที่ใหญ่ที่สุด (~ 11500) ถือว่าบล็อกเป็นการกำหนดค่า (เช่นเนื้อหาจะสิ้นสุดในฟีเจอร์ของคุณ) โมดูลที่เสนอการรวมระบบ ถั่ว เพิ่งได้รับความนิยมมีการติดตั้ง 1,000 รายการ ใช้การบล็อกเป็นเนื้อหา แต่อนุญาตให้ส่งออกการกำหนดค่าผ่านชื่อเครื่อง (เช่นผ่านBean Panels ) โมดูลที่เสนอการรวมระบบ บานหน้าต่าง Fieldable userbase ที่เล็กที่สุด (~ 400) จากผู้เขียน Panels / Views / etc บานหน้าต่างไม่สามารถใช้เป็นบล็อกปกติในพื้นที่ธีมเช่นถั่วหรือกล่อง (ฉันถือว่า) …

3
การลบบล็อกเนื้อหาหลักในหน้าแรก
ฉันใหม่สำหรับ Drupal 7 และฉันต้องการแทนที่ค่าเริ่มต้นของ frontpage main content blockด้วยบล็อกที่เทียบเท่าที่สร้างจาก Views (เพิ่มการควบคุมบล็อกให้มากขึ้น) ฉันได้สร้างบล็อกหน้าแรกใหม่ใน Views แล้วเพิ่มลงในส่วนเนื้อหาอย่างไรก็ตามตอนนี้โฮมเพจจะแสดงทั้งบล็อกเดิมและบล็อกมุมมองใหม่ ความพยายามที่จะลบmain content blockโดยการกำหนดค่าให้ไม่แสดงบน<front>ไม่ทำงานและในตอนนี้วิธีแก้ปัญหาเดียวที่ฉันพบคือ CSS ต่อไปนี้: .front #block-system-main { display:none; } ฉันชอบโซลูชันแฮ็คที่น้อยกว่า มีใครแนะนำบ้างไหม
17 7  views  blocks 

4
การจัดการบล็อกในธีมที่ตอบสนองได้
ฉันเพิ่งเริ่มต้นธีมที่ตอบสนองตามโอเมก้าโดยเน้นที่รูปแบบมือถือในตอนแรก มีบล็อกบางอย่างที่อาจถือว่าหนักเกินไปที่จะรวมไว้ในเลย์เอาต์มือถือและบล็อคอื่น ๆ ที่จะต้องมีการแนะนำเป็นพิเศษสำหรับเลย์เอาต์นั้น (เมนูที่เลื่อนลงมา ฉันสามารถซ่อนบล็อคที่ไม่ต้องการบนเลย์เอาต์มือถือได้อย่างง่ายดายด้วย CSS และรวมบล็อกเฉพาะของมือถือไว้ในเลย์เอาต์เริ่มต้นและซ่อนบล็อกเหล่านั้น (ดังนั้นมันจะแสดงเฉพาะสำหรับมือถือ) แต่ดูเหมือนว่าจะค่อนข้างล้าหลัง มัน. หากบล็อกไม่ปรากฏขึ้นค่าใช้จ่ายเพิ่มเติมที่เกิดขึ้นจริงจะไม่สามารถยอมรับได้ (โดยเฉพาะอย่างยิ่งการพิจารณาจำนวนการสืบค้นฐานข้อมูลเพิ่มเติมที่เพิ่มเนื้อหาในบล็อกที่ซ่อนอยู่) ฉันคิดว่าต้องมีวิธีที่ดีในการสกัดกั้นกระบวนการตัดสินใจบล็อกในช่วงต้นของการสร้างหน้าเว็บและไม่รวม / รวมบล็อกตามการตรวจจับระบบปฏิบัติการบางอย่าง แต่ฉันวาดภาพเปล่า ๆ เป็นไปได้ ฉันกำลังจะโยนในความจริงที่ว่าวานิชกำลังทำงานอยู่หน้าเว็บไซต์นี้ซึ่งจะทำให้สิ่งต่าง ๆ สนุกขึ้น :) มีโมดูล / กลวิธีที่ทราบว่าสามารถช่วยได้หรือไม่? ฉันควรเพิ่มว่าการใช้โมดูลบริบทไม่ใช่ตัวเลือกเนื่องจากไซต์นั้นเต็มเปี่ยมแล้วและการย้ายไปยังบริบทจะกลายเป็นเรื่องใหญ่ในตอนนี้
15 blocks  theming 

3
วิธีเพิ่ม 'ยินดีต้อนรับ {ชื่อผู้ใช้}' ในบล็อกด้วย Drupal 7
ฉันกำลังแทนที่เว็บไซต์ drupal 6 โดย drupal 7 หนึ่งด้วยเนื้อหาเดียวกัน บนเว็บไซต์ Drupal 6 มีบล็อกที่ปรากฏขึ้นเมื่อคุณเข้าสู่ระบบส่วนหัวจะแสดงข้อความ 'ยินดีต้อนรับ {ชื่อผู้ใช้}' ในบล็อกนั้น ฉันกำลังมองหาวิธีที่จะทำเช่นนั้นใน Drupal 7 ฉันพยายามทำสิ่งนี้กับโมดูล 'Token' แต่ฉันไม่ทำงาน วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?
15 blocks 

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