Score:0

ฉันจะเพิ่มหรือลบ request_path ใหม่โดยทางโปรแกรมเพื่อบล็อกการมองเห็นได้อย่างไร

ธง in

ดูเหมือนว่าฉันสามารถใช้ รับเงื่อนไขการมองเห็น เมธอดบนบล็อกซึ่งคืนค่า a ConditionPluginCollection คัดค้านด้วยก setInstanceConfiguration วิธีซึ่งดูเหมือนจะง่ายพอที่จะใช้ $request_path และ $configuration ข้อโต้แย้ง แต่ตัวแปรเส้นทางคำขอการเปิดเผยบล็อกปัจจุบันคือสตริงที่มีเส้นทางคั่นด้วยเครื่องหมายจุลภาค ฉันจะอัปเดตเพื่อเพิ่มหรือลบเส้นทางในการบันทึกโหนดได้อย่างไร ฉันรู้ว่าฉันกำลังถามถึงวิธีจัดการการเปิดเผยบล็อกในแบบฟอร์มโหนด ซึ่งไม่ผิดทั้งหมด ดูเหมือนว่าฉันอาจพลาดบางอย่างใน API ที่จะอนุญาตสิ่งนี้หากสิ่งนี้

4uk4 avatar
cn flag
นี่คือคำตอบสำหรับคำถามของคุณหรือไม่ https://drupal.stackexchange.com/a/226037/47547 - ฉันไม่ต้องการลงคะแนนให้กับรายการที่ซ้ำกันเนื่องจากคำถามตรงนั้นถูกทำเครื่องหมายว่าเป็นรายการที่ซ้ำกัน
cn flag
@4uk4 เปิดแล้ว (การลงคะแนนแบบเปิดใหม่ของคุณมีผลผูกพันเนื่องจากคะแนนของคุณในแท็กที่เกี่ยวข้อง)
steve avatar
in flag
@ 4uk4 คำตอบของคุณที่ https://drupal.stackexchange.com/a/226037/47547 นั้นเป็นสิ่งที่ฉันกำลังทำอยู่ แต่มันไม่ได้ไปไกลพอ เนื่องจากในคำแนะนำของคุณมีการแทนที่ request_path ฉันต้องการ เพิ่มหรือลบเส้นทางคำขอ
sonfd avatar
in flag
คุณสามารถใช้ implode/explode เพื่อแปลงสตริงเป็นอาร์เรย์แล้วย้อนกลับหลังจากทำการปรับเปลี่ยนได้หรือไม่
Score:0
ธง cn

แต่ตัวแปรเส้นทางคำขอการเปิดเผยบล็อกปัจจุบันคือสตริงที่มีเส้นทางคั่นด้วยเครื่องหมายจุลภาค

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

ถ้าอยากติดตาม @sonfd ความคิดเห็น คุณสามารถเขียนโค้ดของคำตอบที่เชื่อมโยงใหม่ได้:

$block = \Drupal\block\Entity\Block::load('openidconnectlogin');
$visibility = $block->getVisibility();
ถ้า (isset($visibility['request_path']['pages'])) {
  $pages = $visibility['request_path']['pages'];
  $paths = array_map('ตัดแต่ง', ระเบิด("\n", $เพจ));

และหลังจากนั้น

  $pages = ระเบิด ("\n", $เส้นทาง);
  $visibility['request_path']['pages'] = $pages;
  $block->setVisibilityConfig('request_path', $visibility['request_path']);
  $block->save();
}
steve avatar
in flag
คุณได้รับอาร์เรย์ `$ pages ' ที่ไหน
4uk4 avatar
cn flag
$paths คืออาร์เรย์ (ที่คุณทำการปรับเปลี่ยน) เพื่อให้ชัดเจน ฉันจะรวมทั้งสองอย่าง รหัสจากคำตอบก่อนหน้าและคำตอบใหม่

โพสต์คำตอบ

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