Score:1

จะแทนที่ชุดรูปแบบกล่องกาเครื่องหมาย facets และช่องทำเครื่องหมายสไตล์ที่ตรวจสอบสถานะได้อย่างไร

ธง tr

ฉันมีปัญหาในการจัดรูปแบบช่องทำเครื่องหมาย Drupal 9 facets ให้อยู่ในสถานะตรวจสอบ ฉันพยายามแทนที่ธีมด้วยช่องทำเครื่องหมาย theme_preprocess_checkboxes โดยไม่มีผลใดๆ

นี่คือรหัสของฉัน:

 ฟังก์ชัน mytheme_preprocess_checkboxes (ตัวแปร $) {

  $องค์ประกอบ = $ตัวแปร['องค์ประกอบ'];
  $element['#attributes']['type'] = 'ช่องทำเครื่องหมาย';
  element_set_attributes($element, array('id', 'name', '#return_value' => 'value'));

  // ช่องทำเครื่องหมายที่ไม่ได้ทำเครื่องหมายมี #value ของจำนวนเต็ม 0
  ถ้า (!empty($element['#checked'])) {
      $element['#attributes']['checked'] = 'checked';
  }
  _form_set_class($element, array('form-checkbox'));

  ส่งคืน '<อินพุต' drupal_attributes($element['#attributes']) . ' /><span></span>';
}

ฉันเดาว่าฉันไม่ได้รับกล่องกาเครื่องหมาย facets ด้วย คำแนะนำใด ๆ ที่ฉันจะจัดรูปแบบ facet และแทนที่เทมเพลตของพวกเขา

ฉันใช้ธีมย่อย bootstrap 3 บน drupal 9

Vitaliy K avatar
tr flag
ขออภัย preprocess_checkboxes hook เลิกใช้แล้วและจะไม่สามารถใช้งานได้อีกต่อไปจาก Drupal เวอร์ชัน 10 ... ดังนั้นกำลังมองหาวิธีแก้ไข ฉันอาจต้องเขียนเทมเพลต twig ใหม่ แต่ยังหาไม่พบแม้ในโฟลเดอร์เทมเพลตโมดูล facets... :(
Vitaliy K avatar
tr flag
เข้าใกล้มากขึ้น: ฟังก์ชันสาธารณะแบบคงที่ ช่องทำเครื่องหมาย::preRenderCheckbox สำหรับช่องทำเครื่องหมายที่ไม่ใช่แง่มุมใน stade ที่ตรวจสอบจะเพิ่มองค์ประกอบคลาส css butr ยังไม่สามารถติดตามการปรับช่องทำเครื่องหมาย facets ได้
Score:1
ธง cn

ช่องทำเครื่องหมายถูกสร้างขึ้นใน JS ไม่ใช่ PHP ดังนั้นคุณจึงไม่สามารถจัดการช่องทำเครื่องหมายได้จากแบ็กเอนด์ (ดู Drupal.facets.makeCheckbox ใน facets/js/checkbox-widget.js สำหรับรหัส)

หมายความว่าคุณสามารถใช้ JS แบบง่าย ๆ ได้ด้วยตัวเอง ตัวอย่างเช่น สมมติว่าคุณต้องการต่อท้ายช่วงว่าง คุณอาจต้องเพิ่มสิ่งนี้ในพฤติกรรมที่กำหนดเอง:

$('.facets-checkbox').after($('<span />'))

(นั่นเป็นเพียงตัวอย่างเล็กน้อย คุณควรใช้ ครั้งหนึ่ง หรือกลไกที่คล้ายกันเพื่อให้แน่ใจว่าไม่ได้ดำเนินการหลายครั้งสำหรับองค์ประกอบเดียวกัน)

Vitaliy K avatar
tr flag
ขอบคุณ ไคลฟ์จะลองบิตนี้

โพสต์คำตอบ

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