it-swarm.asia

كيف أقوم بإنشاء شجرة متداخلة تحتوي على مصطلحات وعقد مع طرق العرض 3؟

أحتاج إلى إنشاء شيء مشابه مثل هذا:

ألوان (مفردات)

  • أحمر (مصطلح)
    • داكن (مصطلح)
      • العقدة 1
      • العقدة 2
    • خفيف (مصطلح)
      • العقدة 3
      • العقدة 4
  • أزرق (مصطلح)
    • العقدة 5
    • العقدة 6
  • الأخضر (مصطلح)
    • العقدة 7
    • العقدة 8

(النقاط النقطية هي مسافة بادئة.)
هل هناك طريقة للقيام بذلك مع Drupal 7 and views 3؟ إذا لم يكن كذلك ، فهل هناك طريقة أخرى للقيام بذلك؟

22
iStryker

بفضل ريفينو ، وجدت حلًا لطيفًا باستخدام الوحدات التالية:

تجد أدناه الشرح:

  1. أولاً قم بإنشاء تصنيف جديد (لنطلق عليه "المجلد")
  2. بعد ذلك ، قم بإنشاء نوع محتوى جديد (لنطلق عليه "العنصر") مع حقل مرجع مصطلح لتصنيف "المجلد"
  3. إنشاء عرض "محتوى" جديد (دعنا نسميها "Element View")
  4. اختر عرض الحقل
  5. قم بإضافة عامل تصفية سياقي إلى حقل مرجع المصطلح الخاص بك
  6. إنشاء طريقة عرض "تصنيف" جديدة (لنطلق عليها "شجرة المجلدات")
  7. أضف حقلين (اسم المصطلح ومعرف المصطلح). يمكن استبعاد الحقل الثاني من العرض
  8. فيما يتعلق: أضف "مصطلح أصل"
  9. قم بإضافة حقل ثالث (معرف المصطلح) وقم بتعيينه لعلاقة أصلك. يمكن استبعاد هذا الحقل من العرض
  10. اختر تنسيق "Tree (نموذج Adjacency)" وحدد في المعلمات: قائمة مرتبة + الحقل الرئيسي (Tid الأول الخاص بك) ، والحقل الأصل (Tid المخصص للعلاقة الأصل). يجب أن يكون لديك الآن شجرة لطيفة تحتوي على جميع مصطلحاتك المتداخلة
  11. قم بإضافة حقل رابع "عام: عرض" (يأتي هذا مع عرض حقل طرق العرض) واختر "عرض العنصر" ، قم بعرض إضافة رئيسية [tid] في حقل النص الخاص بالوسائط

نأمل أن تكون هذه المساعدة

في صحتك

تحرير بواسطة iStryker : هذا ما حصلت عليه. الشيء الوحيد الذي غيرته هو جعل Element View عرض جدول ، وإزالة فئات الصفوف والشرائح الافتراضية.

Image of the final product by iStryker

15
Fred

لقد أنشأت ثلاث طرق عرض في Drupal 7.8 و Views 3 + Views Field ، متداخلة طريقة عرض إلى أخرى باستخدام تضمين العرض ، وحصلت على مثل هذه النتيجة (مرفقة). enter image description here

خطوة بخطوة كيفية القيام بذلك:

  1. إنشاء المفردات "الألوان" وملؤها مع العلامات.

  2. إنشاء طريقة عرض جديدة لعقد تصنيف الألوان - أسميها "عُقد الألوان"

2.1 تنسيق الجدول ، الإعدادات: حقل التجميع: مصطلح التصنيف: الاسم

2.2 مرشحات سياقية متقدمة: مصطلح التصنيف: مصطلح الأصل

2.3 العلاقات المتقدمة: مصطلح التصنيف: المحتوى باستخدام اللون

2.4 تعيين الحقول: مصطلح التصنيف: مصطلح التعريف ، مصطلح التصنيف: الاسم ، (field_color) المحتوى: العنوان

2.5 معايير التصفية: مصطلح التصنيف: المفردات (= الألوان)

2.6 إذا كنت تريد ، يمكنك أيضًا تعيين "استبعاد من العرض" لمعرف المصطلح ، مصطلح التصنيف: الاسم

2.7 تعيين المسار:/نقاط الألوان /٪

2.8 عدم تحديد سلوك النتائج: عالمي: عرض المنطقة (سنعود إلى هذا لاحقًا) 2.9 حفظ

3.إنشاء عرض جديد لألوان العقد العقد - أسميها "عقد الألوان 2"

3.1 تنسيق الجدول ، الإعدادات: حقل التجميع: لا شيء

3.2 المرشحات السياقية المتقدمة: مصطلح التصنيف: مصطلح التعريف

3.3 العلاقات المتقدمة: مصطلح التصنيف: المحتوى باستخدام اللون

3.4 تعيين الحقول: مصطلح التصنيف: مصطلح التعريف ، مصطلح التصنيف: الاسم ، (field_color) المحتوى: العنوان

3.5 معايير التصفية: مصطلح التصنيف: المفردات (= الألوان)

3.6 إذا كنت تريد ، يمكنك أيضًا تعيين "استبعاد من العرض" لمعرف المصطلح ، مصطلح التصنيف: الاسم

3.7 تعيين المسار:/nodes-of-colours-2 /٪

3.8 عدم تحديد سلوك النتائج: عالمي: لا شيء

3.9 حفظ

ارجع وعدّل "عُقد الألوان" مرة أخرى

4.1 انتقل إلى عدم تعيين سلوك النتائج: عام: عرض المنطقة

4.2 تعيين عرض لإدراج: عرض: nodes_of_colors2 عرض: صفحة

4.3 تعيين مرشحات سياقية وراثة

4.4 حفظ

5 العودة إلى طرق العرض مرة أخرى (مصطلح المدة)

5.1 إنشاء عرض جديد لألوان عقد التصنيف - أسميها "شجرة الألوان"

5.1 تنسيق الجدول ، الإعدادات: حقل التجميع: لا شيء

5.2 المرشحات السياقية المتقدمة: لا شيء

5.3 العلاقات المتقدمة: مصطلح التصنيف: مصطلح الأصل

5.4 تعيين الحقول: مصطلح التصنيف: مصطلح التعريف ، مصطلح التصنيف: مصطلح التعريف ، مصطلح التصنيف: الاسم ، طريقة العرض: تضمين العرض (تضمين العرض)

5.5 معايير التصفية (1): مصطلح التصنيف: المفردات (= الألوان)

5.6 معايير التصفية (2): مصطلح التصنيف (الأصل): مصطلح

5.7 إذا أردت ، يمكنك أيضًا تعيين "استبعاد من العرض" لمعرف المصطلح وتسمية "تضمين العرض"

5.8 تعيين المسار:/شجرة الألوان

5.9 عدم تعيين سلوك النتائج: لا شيء

5.10 حفظ

... وهذا يجب أن يكون ، أخيرًا.

14
Refineo

لم أجرب الإصدار D6 أو D7 من هذا بنفسي ولكني اعتقدت أنني سأذكره في حال كان ما تبحث عنه: وحدة عرض شجرة - تقدم D7

تحرير : يوجد الآن إصدار D7 ، تحقق من الصفحة الرئيسية للوحدة النمطية شجرة المشاهدات

4
nmc

إذا كنت تريد الحصول على vid من عنوان URL ، فاستخدم الكود التالي.

$vid = $_GET['vid'];
$tid = 0;
$level = 0;
print taxonomy_tree($vid, $tid, $level);
function taxonomy_tree($vid, $tid = 0, $level) {
  $children = taxonomy_get_children($tid, $vid);
  $output = '';
  if ($children) {
    $output .= '<ul>'; 
    foreach ($children as $child) {
      $level++;
      $output .= '<li class="taxonomy-tree-lvl' . $level . ' ">'; 
print $level;
      $output .= l($child->name, 'taxonomy/term/'. $child->tid) . '(' . taxonomy_term_count_nodes($child->tid) . ')'; 
      $output .= taxonomy_tree($vid, $child->tid, $level);
      $output .= '</li>';

      $level--; 
    }
    $output .= '</ul>'; 
  }

  return $output;

}

أو استخدم الكود التالي.

$vocabulary = taxonomy_vocabulary_load(2);//Here pass the vid
print $vocabulary->name;
$vid1 = $_GET['vid'];
if(!$vid1) {
$vid1 = 2;
print 'empty';
}
$vid = 2;
$parent = 0;
print get_child_terms($parent, $vid1);
 function get_child_terms($parent, $vid) {
      $sql = "SELECT td.tid, td.vid, td.name"
         . "  FROM {term_data} td"
         . "  JOIN {term_hierarchy} th on th.tid = td.tid"
         . " WHERE th.parent = %d"
         . "   AND td.vid = %d"
         . " ORDER BY td.weight, td.name";
    $terms = db_query($sql, $parent, $vid);
    $output = "";
    while ($aterm = db_fetch_object($terms)) {
        $output .= "<li>";
        $output .= l("$aterm->name", "taxonomy/term/$aterm->tid/all") . " ("
                .  taxonomy_term_count_nodes($aterm->tid) . ")</li>\n"
                .  get_child_terms($aterm->tid, $vid);
    }
    return ($output != "") ? "<ul style='list-style-type: none;
  margin: 0px 0px 0px 20px;
  padding: 0px;'>\n". $output ."</ul>\n" : "";
  }
3
Ahmad

يمكنك استخدام قائمة التصنيف الوحدة. هنا اقتباس عنها (من صفحة مشروع الوحدة):

يحول مفردات تصنيفك إلى قوائم بكل سهولة!

الميزات:

  • قائمة مخصصة لكل مفردات
  • يستخدم مسار مصطلح التصنيف الافتراضي أو المسارات المخصصة
  • التكامل مع طرق العرض
  • التكامل مع Pathauto: استخدم الأسماء المستعارة لعناوين URL/المسار
  • لا يتداخل مع وحدات القائمة الأخرى
2
dilari

بالطبع هناك:

  1. قم بإعداد مفرداتك الهرمية ،
  2. أضفه إلى أي نوع محتوى محدد ،
  3. إنشاء عقد قائمة عرض من نوع المحتوى هذا باستخدام عامل تصفية سياقي :

    • إما "المحتوى: لديه معرف مصطلح التصنيف" - إذا كنت ترغب في إدراج العقد المعينة فقط لمصطلح معين ،
    • أو "المحتوى: لديه معرف مصطلح التصنيف (مع العمق)" - إذا كنت ترغب في سرد ​​العقد المخصصة لمصطلح معين وكذلك للمصطلحات الفرعية.

      في هذه الحالة ، تحتاج في تكوين المرشح إلى تعيين العمق - كم عدد المستويات أدناه (أو أعلى) التي تريد أن يعمل فيها هذا المرشح.

ثم ، بافتراض أن عنوان URL لطريقة العرض هو http://mysite.com/myview و "Red" tid = 1 ، إذا انتقلت إلى http://mysite.com/myview/1 ستسرد لك جميع العقد المخصصة لأي من المصطلحات "حمراء" و "داكنة" و/أو "فاتحة".

2
Maciej Zgadzaj

أعتقد أنني وجدت طريقة أخرى لحل هذه المشكلة ، وأعتقد أنها أبسط من بقية هذه الحلول. لا يتضمن أي وحدات إضافية وتحتاج إلى عرض واحد فقط.

بافتراض أنك قمت بإنشاء مستويين مفردات هرمية (ألوان) ونوع محتوى بمصطلح يشير إلى هذا المفرد ، قم بما يلي:

  1. أنشئ طريقة عرض جديدة وقم بالفلترة حسب "مفردات التصنيف: اسم الجهاز (= الألوان)"
  2. إضافة علاقات: (1) Taxonomy term: Content using Color و 2) Taxonomy term: Parent term
  3. أضف الحقول إلى طريقة العرض: (1) Title (اختر field_color في "العلاقة" وتتطلب هذه العلاقة) ، (2) Taxonomy term name (لا تستخدم علاقة واستثنى من العرض) (3) Taxonomy term name (نعم ، مرة أخرى ، اختر هذه المرة Parent للعلاقة واستثنائها من العرض).
  4. الآن قم بتجميعها عن طريق النقر فوق إعدادات التنسيق: (1) grouping 1: (Parent) Taxonomy term: Name، (2) Taxonomy term: Name

منجز. إذا كان لديك أكثر من مستويين ، فما عليك سوى إضافة علاقة أخرى للوالد باستخدام الأصل كعلاقة العلاقة.

تعديل: إذا لم تكن بحاجة إلى العلاقة ، فسوف ينتهي بك الأمر إلى خداع. سيتم إدراج أولياء الأمور مرتين إذا كانت لديهم مصطلحات فرعية يتم الرجوع إليها بواسطة العقد. لذا فإن هذا يحد من الإجابة قليلاً في مصطلحات المستوى الأعلى بدون عقد تشير إلى أنها لن تعرض. أيضًا ، نظرًا لأن الفرز مهم على الأرجح ، فإن وجود أي محتوى يشير إلى مصطلح المستوى الأعلى من المحتمل أن يسبب مشاكل لك اعتمادًا على احتياجات العرض.

0
cdmo

أحاول تحقيق الشيء نفسه ولكن لم أجد الكثير متاحًا في D7. كتل التصنيف الوحدة النمطية في كتلة - لا طرق عرض.

0
uwe