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

แท็กเวอร์ชันควรใช้สำหรับคำถามที่ใช้กับเวอร์ชันเท่านั้นไม่ใช่เพื่อบอกว่ามีการใช้เว็บไซต์รุ่นใด

1
การนำแท็กแคชที่กำหนดเองไปใช้
ฉันต้องการใช้ Cache Tagging ใหม่ใน D8 เพื่อช่วยให้เนื้อหาที่เกี่ยวข้องประเภทต่าง ๆ (เอนทิตี, โหนด, บล็อก, ฯลฯ ) ซิงค์กัน แต่จากการอ่านเอกสารที่มีอยู่ในปัจจุบันของคุณสมบัตินี้ฉันไม่เข้าใจวิธีการเพิ่มแท็กแคชของตัวเองไปยังรายการเนื้อหาเมื่อสร้าง / อัปเดตรายการดังกล่าว ตัวอย่างเช่นเมื่อสร้างโหนดใหม่ของร้านค้าประเภทฉันต้องการเพิ่มตำแหน่งแท็กแคช: new_york_123 และเหมือนกันสำหรับบล็อก aa ถ้าฉันเปลี่ยนชื่อที่แสดงของตำแหน่งนิวยอร์ก 123 เป็นโซโหฉันสามารถทำให้แท็กแคชใช้ไม่ได้และมีการอัปเดตเนื้อหาที่เกี่ยวข้องทั้งหมด
14 8  caching 



3
entityQuery ที่มีหลายเงื่อนไขเกี่ยวกับเงื่อนไข taxonomy จะไม่ส่งคืนผลลัพธ์
ในการใช้งานของฉันฉันมีเอนทิตีที่มีสองฟิลด์ที่อ้างอิงถึงคำศัพท์เฉพาะ ข่าว: - แท็ก (การอ้างอิงเอนทิตี) - หมวดหมู่ (การอ้างอิงเอนทิตี) ถ้าฉันค้นหาจากการอ้างอิงเหล่านั้นฉันได้รับผลลัพธ์อย่างไรก็ตามเมื่อฉันสอบถามทั้งสองตัว (และตัวกรอง AND) ฉันจะไม่ได้ผลลัพธ์ ฉันได้ตรวจสอบสามครั้งภายในตอนนี้และมีเอนทิตีที่มีทั้งแท็กและหมวดหมู่ที่ฉันสอบถาม นี่เป็นข้อผิดพลาดของผู้ใช้หรือข้อผิดพลาด Drupal หรือไม่ $query = \Drupal::entityQuery('node') ->condition('status', 1) ->condition('type', 'news') ; $group = $query->andConditionGroup() ->condition('field_tag.entity.name', ['cars'], 'IN') ->condition('field_category.entity.name', ['sport'], 'IN') ; $query->condition($group); $nids = $query->execute(); แก้ไข: ฉันได้พบการแก้ไขโดยการสอบถามเกี่ยวกับมูลค่าดิบแทนเอนทิตีมูลค่า นี่เป็นสถานการณ์ที่ไม่พึงประสงค์ $query = \Drupal::entityQuery('node') ->condition('status', 1) ->condition('type', 'news') ; $group …
13 8  entities 

2
ไซต์โคลนใน Drupal 8 คืออะไร
เมื่อพยายามส่งออกการกำหนดค่าไซต์ของฉันจาก Drupal 8 ไซต์หนึ่งไปยังอีกไซต์หนึ่งฉันได้รับข้อผิดพลาดต่อไปนี้ ไม่สามารถนำเข้าการกำหนดค่าฉากได้เนื่องจากมาจากไซต์อื่นนอกเหนือจากไซต์นี้ คุณสามารถซิงโครไนซ์การกำหนดค่าระหว่างอินสแตนซ์ที่ถูกโคลนของไซต์นี้เท่านั้น ดังนั้นในบริบทนี้ไซต์ที่ถูกโคลนคืออะไร ฉันจะแทนที่ข้อผิดพลาดนี้เพื่อนำเข้าการกำหนดค่าได้อย่างไร

6
วิธีฝังมุมมองในโหนดที่ระบุ?
ฉันพยายามฝังมุมมองในโหนดที่ระบุ ฉันพบบทเรียนสำหรับการทำเช่นนี้กับ Drupal 7 และ PHP-Templates: <?php print views_embed_view('view_name'); ?> แต่ฉันก็มองหาวิธีใน Drupal 8 ที่มี twig-Templates ฉันพยายามเรียกใช้views_embed_view()ฟังก์ชันในhook_node_view()และกำหนดให้โหนดเพื่อให้ฉันสามารถพิมพ์ออกมาในแม่แบบทวิ แต่ดูเหมือนว่าเบ็ดนี้ไม่เคยถูกเรียก คำแนะนำ / วิธีแก้ปัญหาใดบ้างใน Drupal 8 way?
13 views  8  nodes 

7
รูปแบบ REST ของผู้ใช้เข้าสู่ระบบ
ทุกคนมีการเข้าสู่ระบบ REST ใน Drupal 8 หรือไม่? นี่คือสิ่งที่ฉันพยายาม POST /user/login HTTP/1.1 Host: 8.d8.local Content-Type: application/x-www-form-urlencoded Accept-Encoding: http://nikhilmohan.in Cache-Control: no-cache name=test&pass=password&form_id=user_login_form มันกลับฉันHTMLแทนJSON
13 8 

2
วิธีการทำให้ fieldset ที่กำหนดเองยุบตามค่าเริ่มต้นใน Drupal 8
ใน Drupal 7 มีตัวเลือกให้ fieldset สามารถยุบได้หรือไม่และเพื่อ จำกัด สถานะเริ่มต้นขององค์ประกอบแบบฟอร์มนี้ (ยุบหรือยุบ) ตัวอย่าง: $form['contact_data'] = array( '#title' => t("Contact data"), '#type' => 'fieldset', '#collapsible' => TRUE, '#collapsed' => FALSE, ); ขณะนี้ใน Drupal 8 ฉันไม่สามารถหา attributtes #collapsibleและใน#collapsed Drupal\Core\Render\Element\Fieldsetในเอกสารประกอบอย่างเป็นทางการขององค์ประกอบ Fieldset ไม่ได้กล่าวถึงองค์ประกอบใหม่ใด ๆ ซึ่งควรแทนที่องค์ประกอบ Fieldset นอกจากนี้ยังไม่มีภาพรวมองค์ประกอบ APIสำหรับ Drupal 8 เช่น Drupal 7 คุณต้องค้นหาคำจำกัดความองค์ประกอบ Render ทั้งหมดด้วยตนเองในรหัสซึ่งใช้เวลานานกว่า (โดยเฉพาะเมื่อคุณต้องการดูภาพรวมองค์ประกอบและเปรียบเทียบ) …
13 forms  8 

4
ควรล้างตารางใดเมื่อล้างแคชที่จัดเก็บฐานข้อมูลด้วยตนเอง
ก่อนที่จะไปยังแคช D8 cache_ชัดเจนด้วยตนเองใครสามารถตัดทอนตารางทั้งหมดเริ่มต้นด้วย ใน Drupal 8 ยังมีตารางที่เริ่มต้นด้วยcache_แต่ก็มีcachetagsตารางด้วย คำแนะนำใน D8 ยังคงถูกตัดทอนcache_*ถ้าคุณต้องการล้างแคชด้วยตนเองหรือไม่? ปลอดภัย / จำเป็น / แนะนำให้ตัดทอนcachetagsตารางพร้อมกับcache_*ตารางหรือไม่? ฉันรู้ว่าอาจมีโมดูล contrib ทำสิ่งที่แตกต่างกันฉันส่วนใหญ่สนใจในสิ่งที่แกนทำและสิ่งที่ถือว่า "ปฏิบัติที่ดีที่สุด" สำหรับ Drupal 8 โดยทั่วไป
13 8  caching 

3
รับวัตถุโหนดใน hook_form_FORM_ID_alter
ติดตามคำถามนี้ แต่ฉันไม่มีชื่อเสียงพอที่จะขอคำชี้แจงในความคิดเห็น ฉันกำลังย้ายโมดูลที่สนับสนุนไปยัง Drupal 8 รหัสที่ถูก sugested ใน CR ที่กล่าวถึงข้างต้นและโพสต์ไม่ทำงาน: $node = $form_state->getFormObject()->getEntity(); ไม่มีการโหลดอะไรลงในตัวแปร $ node PHPStorm IDE ของฉันให้คำเตือนสำหรับ getEntity (): วิธีการ 'getEntity' ไม่พบในคลาส Drupal \ Core \ Form \ FormInterface น้อยลง ... ไม่พบวิธีการอ้างอิงในคลาสหัวเรื่อง นอกจากนี้ยังไม่ได้นำเสนอวิธีนี้สำหรับการทำให้โค้ดสมบูรณ์ ในการใช้งานทำให้ฉันอ้างอิง: use Drupal\Core\Entity; use Drupal\Core\Entity\EntityInterface; use Drupal\node\Entity\Node; use Drupal\Core\Render\Element;
13 8  forms 

6
วิธีการเปลี่ยนเส้นทางผู้ใช้ที่ไม่ระบุชื่อไปยังแบบฟอร์มการเข้าสู่ระบบหลังจากข้อผิดพลาด 403?
ฉันต้องการเปลี่ยนเส้นทางผู้ใช้ที่ไม่ระบุชื่อไปยังแบบฟอร์มการเข้าสู่ระบบหากผู้ใช้ดังกล่าวพบข้อผิดพลาด 403 ฉันได้สร้างผู้สมัครสมาชิกของเหตุการณ์และนี่คือรหัสของฉัน แต่ฉันจบลงด้วยการวนซ้ำในหน้าปัจจุบัน /** * Redirect anonymous user to login page if he encounters 404 or 403 * response. * * @param \Symfony\Component\HttpKernel\Event\GetResponseEvent $response * The created response object that will be returned. * @param string $event * The string representation of the event. * @param \Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher $event_dispatcher * …
13 8  routes  redirection 

3
จะปิดการใช้งานการรวมจาก drush หรือ PHPmyadmin ได้อย่างไร?
ฉันค้นหาสิ่งนี้แล้วและทั้งหมดที่ฉันพบข้อตกลงกับ Drupal 7 คำสั่ง drush เก่าdrush vset preprocess_js 0ไม่สามารถใช้กับ Drupal 8 และตาราง "ตัวแปร" ใน DB ไม่มีอยู่ใน 8 ... แต่ฉันไม่สามารถปิดการรวมในเว็บไซต์ D8 ของฉันด้วยเหตุผลบางอย่างและต้องการปิดการใช้งานจาก drush หรือ DB คุณรู้วิธีหรือไม่?

2
ฉันจะสร้างตารางในโมดูลที่กำหนดเองได้อย่างไร
ใน Drupal 7 เราเคยใช้hook_schema()ในไฟล์. install เพื่อสร้างตาราง ฉันเชื่อว่าใน Drupal 8 คุณสามารถทำได้เช่นกัน แต่ฉันรู้สึกว่าคุณควรสร้างไฟล์. syml ด้วยสคีมาของคุณ วิธีสร้างตารางใน Drupal 8 คืออะไร
13 8  database 


4
วิธีที่ถูกต้องในการตั้งค่าบริบทแคชบนบล็อกที่กำหนดเองคืออะไร?
ฉันพบปัญหาที่บล็อกที่ไม่ซ้ำใครต่อหน้าไม่ใช่สำหรับผู้ใช้ที่ออกจากระบบ ปัญหาคือปลั๊กอินบล็อกที่กำหนดเองที่ฉันมีในหน้าค้นหามุมมองที่มีตัวกรองแบบกำหนดเอง (เรียงลำดับเหมือนการแทนที่แบบกำหนดเองสำหรับตัวกรองแบบเปิดเผยบล็อกที่วางผ่าน / admin / โครงสร้าง / บล็อก) จากสิ่งที่ฉันได้เรียนรู้เกี่ยวกับ Drupal 8 ฉันได้เพิ่มบริบทแคชไปยังอาร์เรย์บิลด์ของฉัน: public function build() { $search_form = \Drupal::formBuilder()->getForm('Drupal\mymodule\Form\SearchForm'); return [ 'search_form' => $search_form, '#cache' => ['contexts' => ['url.path', 'url.query_args']] ]; } แต่ดูเหมือนว่าสิ่งนี้จะต้องไม่ถูกต้องเพราะเมื่อออกจากระบบบล็อกจะถูกแคชในมุมมองแรกและเมื่อ URL เปลี่ยนไปมันจะไม่แสดงบล็อกเวอร์ชันใหม่ ฉันคิดว่าอาจเป็นหน้าการดูที่ทำให้เกิดปัญหา แต่แม้ว่าฉันจะปิดการแคชในหน้าการดูปัญหายังคงอยู่ ฉันสามารถแก้ไขปัญหาได้หลายวิธีตัวอย่างเช่นโดยใช้ตะขอ preprocess_block: function mymodule_preprocess_block__mycustomsearchblock(&$variables) { $variables['#cache']['contexts'][] = 'url.path'; $variables['#cache']['contexts'][] = 'url.query_args'; } …
13 8  blocks  caching 

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