سؤال

Plone جميلة مربع البحث مع "جوجل تشير إلى" مثل وظائف الموقع.حتى فهارس الوثائق التي تم تحميلها مثل ملفات Pdf.لا أحد يعرف من الوحدة التي يمكن أن توفر هذا النوع من الوظائف في جانغو الموقع ؟

هل كانت مفيدة؟

المحلول

Plone تنفذ انها LiveSearch الميزة من خلال المحافظة على فصل البيانات الوصفية جدول فهرسة سمات (مجالات مثل آخر تعديل, الخالق, العنوان يتم نسخها من محتوى الكائنات في هذا الجدول).محتوى الكائنات ثم ترسل ObjectAdded/ObjectModified/ObjectRemoved الأحداث ، الحدث المشترك يستمع لهذه الأحداث هو المسؤول عن تحديث البيانات الوصفية الجدول (في جانغو الأحداث اسمه إشارات).ثم هناك عرض المتصفح يتعرض ثابت URL الذي يبحث البيانات الوصفية وإرجاع المناسبة LiveSearch HTML و أخيرا كل صفحة HTML يتم إرسال المناسبة JavaScript للتعامل مع الإكمال التلقائي وظائف اياكس الاستعلام هذا الرأي فتحة الناتجة HTML النتائج في DOM.

إذا كنت تريد الخاص بك LiveSearch الاستعلام نماذج متعددة/أنواع المحتوى, كنت على الأرجح سوف تحتاج إلى إرسال الأحداث الخاصة بك ويكون المشترك التعامل معها بشكل مناسب.هذا ليس من الضروري بالنسبة أصغر مجموعات البيانات أو أقل مواقع حركة المرور ، حيث الأداء عقوبة على فعل متعددة استعلامات بحث واحد ليس القلق (أو كنت ترغب فقط في بحث واحد نوع المحتوى) و يمكنك فعل العديد من الاستفسارات من وجهة نظركم.

أما بالنسبة جافا سكريبت الجانب ، يمكنك لفة الخاص بك أو استخدام القائمة مكتبة جافا سكريبت.هذا يسمى عادة "الإكمال التلقائي" في مكتبة JS.هناك يوي الإكمال التلقائي Scriptaculous الإكمال التلقائي بالنسبة للمبتدئين ، ومن المرجح أن الكثير من جافا سكريبت "الإكمال التلقائي" تطبيقات هناك.Plone يستخدم KSS لانها مكتبة جافا سكريبت ، KSS livesearch البرنامج المساعد هو مكان جيد للبدء إذا كنت تبحث على سبيل المثال رمز إلى نتف من.

http://pypi.python.org/pypi/kss.plugin.livesearch

و البرنامج التعليمي على استخدام KSS مع جانغو:

http://kssproject.org/docs/tutorial/kss-in-django-with-kss-django-application

KSS هو لطيف جدا لأنه يفصل نظيفة السلوك من المحتوى على جانب العميل (دون الحاجة إلى كتابة سكريبت), ولكن Scriptaculous هو من الناحية النظرية أبسط قليلا و ما أفضل الوثائق (http://github.com/madrobby/scriptaculous/wikis/ajax-autocompleter).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top