แสดงรายการคำศัพท์ทั้งหมดจากคำศัพท์


25

ฉันมี taxonomy ที่เรียกว่าบริการและต้องการแสดงรายการข้อกำหนดทั้งหมด ฉันสามารถโหลดคำศัพท์ด้วย

 $vocabulary = taxonomy_vocabulary_machine_name_load('Services')

แต่ไม่สามารถเห็นเงื่อนไขทั้งหมดได้


คุณสามารถเขียนรหัสรายละเอียดได้หรือไม่
monymirza

คำตอบ:


43

มีสองสามวิธี แต่ฉันชอบentity_load():

$vocabulary = taxonomy_vocabulary_machine_name_load('Services');
$terms = entity_load('taxonomy_term', FALSE, array('vid' => $vocabulary->vid));

คุณสามารถใช้:


คุณช่วยอธิบายข้อดีของการใช้งานได้entity_loadมั้ย
niksmac

3
@NikhilM มีตัวอักษรให้พิมพ์น้อยกว่าtaxonomy_term_load_multiple()ซึ่งเป็นเหตุผลว่าทำไมฉันถึงชอบมัน การใช้taxonomy_get_tree()แนะนำระดับความซับซ้อนที่ไม่จำเป็นสำหรับการสืบค้นที่เกี่ยวข้องยกเว้นว่าคุณต้องการเงื่อนไขในลำดับชั้นดั้งเดิม (ซึ่ง OP ไม่ได้ระบุ)
Clive

ฉันชอบมันฉันคิดว่าคำตอบด้านล่างนั้นอ่านง่ายขึ้น
LeBlaireau

@ การออกแบบที่รักจริงเหรอ? ฉันชอบ 2 บรรทัดมากกว่า 6 แต่นั่นเป็นเพียงความชอบส่วนตัว :) ตราบใดที่มันมีความยาวไม่เกิน 80 ตัวอักษรคุณก็ยังคงปฏิบัติตามมาตรฐานการเข้ารหัสของ Drupal ด้วย
Clive

+1 ของฉันสำหรับการปฏิบัติตามมาตรฐานการเข้ารหัสของ Drupal
niksmac

18

ฉันต้องการใช้รหัสนี้

$name = 'YOUR_VOCAB_NAME';
$myvoc = taxonomy_vocabulary_machine_name_load($name);
$tree = taxonomy_get_tree($myvoc->vid);
foreach ($tree as $term) {
 echo $term->tid;
}

taxonomy_vocabulary_machine_name_load

taxonomy_get_tree


หากคุณมีไซต์หลายภาษาสิ่งนี้จะไม่ทำงานตามที่ต้องการ ถ้าฉันต้องการข้อกำหนดทั้งหมดโดยไม่คำนึงถึงภาษาสิ่งนี้ไม่ได้ให้ผลลัพธ์ที่เหมาะสมแก่คุณ "taxonomy_get_tree" จะแยกวิเคราะห์ผลลัพธ์ตามภาษา คำตอบข้างต้นใช้ได้สำหรับฉัน
Vaibhav Jain
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.