SPIP

[ar] [bg] [ca] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [sv] [tr] [vi] [zh] Espace de traduction

تحميل أحدث اصدار

SPIP 1.9.2 SPIP 1.9.2

المعايير المشتركة لكل الحلقات

تشرين الأول (أكتوبر) 2003 — maj : تموز (يوليو) 2006

كل اصدارات هذا المقال:


هناك بعض المعايير التي تنطبق على كل انواع الحلقات (تقريباً). وهي معايير تهدف الى حصر النتائج المعروضة او الى ترتيب العرض. ويمكن التأليف بين عدة معايير.

ترتيب النتائج

يدل {par sort_criterion} الى الترتيب الذي تعرض به النتائج. ويطابق هذا المعيار احدى العلامات المسحوبة من قاعدة البيانات لكل نوع من انواع الحلقات. مثلاً، يمكن ترتيب المقالات {par date} (حسب التاريخ) او {par date_redac} (حسب تاريخ التحرير) او {par titre} (حسب العنوان). (لاحظ انه، بينما تظهر العلامات بحروف كبيرة، تُكتب المعايير بحروف صغيرة).

حالة خاصة: {par hasard} (عشوائياً) يتيح الحصول على قائمة بترتيب عشوائي.

عكس الترتيب. اضافة الى ذلك، يؤدي {inverse} (اي عكس) الى قلب ترتيب العرض. مثلاً، يبدأ معيار {par date} بعرض المقالات الاقدم تاريخاً؛ الا ان معياري {par date}{inverse}، فيعرضان اولاً المقالات الاحدث تاريخاً.

الترتيب حسب الرقم. عندما نقوم بالترتيب حسب احد عناصر المقال (العنوان مثلاً)، يتم الترتيب ابجدياً. لكن اذا اردنا فرض ترتيب مختلف، يمكن اضافة رقم امام العنوان، مثلاً: «1. المقال الاول»، «2. المقال الثاني»، «3. المقال الثالث»... ومن جراء الفرز الابجدي نحصل على ترتيب الارقام التالي: «1، 10، 11، 2، 3،...». ولاسترجاع الفرز حسب الارقام يمكن استخدام:

{par num criterion}

امثلة:

يعرض مقالات قسم ما مفروزة حسب الترتيب الزمني المعكوس (اي الاحدث اولاً والاقدم آخراً). اما:

فيعرضها حسب الترتيب الابجدي لعناوينها. واخيراً:

يعرضها حسب ترتيب ارقام عناوينها (ملاحظة: الخيار {par num titre} - اي حسب رقم العنوان - لا يعمل في الاصدارات القديمة من قاعدة MySQL، اي تلك الاقدم من الاصدار 3.23).

التصنيف حسب عدة معايير. منذ [SPIP 1.8]، يمكن التصنيف حسب عدة معايير: <b>{par</b> criterion1<b>,</b> criterion2<b>}</b>. نحدد هكذا ترتيب التصنيفات المتتالية. وسيتم فرز النتائج حسب المعيار criterion1 ثم حسب المعيار criterion2 للنتائج التي توفي شرط criterion1. ويمكن ادخال اي عدد من المعايير.

مثلاً، يفرز {par date, titre} النتائج حسب التاريخ date ثم يفرز النتائج التي تملك التاريخ date تفرز حسب العنوان titre.

المقارنات والمعادلات

{معيار < قيمة}
مقارنة بقيمة محددة. يمكن استخدام «>» و«<» و«=» و«>=» و«<=». ويمكن استخدام كل معايير الفرز (كما يتم سحبها من قاعدة البيانات) للحد من عدد النتائج المعروضة.

ويمكن لقيمة العامل الايمن ان تكون:

- قيمة ثابتة تم تحديدها في الصفحة النموذجية. مثلاً:

يعرض المقال الذي يحمل الرقم 5 (وهو مفيد لإبراز مقال معين في الصفحة الاساسية للموقع).

يعرض مقالات القسم الاساسي الرقم 2 (اي القسم 2 الموجود في اصل الموقع).

- منذ [SPIP 1.8]، علامة متاحة في سياق الحلقة. مثلاً:

تعرض المقالات التي تحمل عنوان المقال 5 نفسه.

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

خاصة اذا اردنا استخدام العلامة #ENV — او اي علامة اخرى تأخذ معاملات —، يجب استخدام الكتابة: {title = #ENV{titre}} وليس {title = [(#ENV{titre})]}.

التركيب المنتظم (regular expression):

قوي جداً (لكنه معقد الاستخدام)، يؤدي عامل المقارنة «==» الى المقارنة حسب تركيب منتظم.

مثلاً:

يختار المقالات التي تبدأ عناوينها بأحد الحرفين «ا» او «ج».

النفي:

يمكن استخدام التركيب {س س س != ج ج ج} و{س س س !== ج ج ج}. وتدل علامة «!» الى النفي (اي العامل المنطقي NOT).

يختار المقالات التي لا تبدأ عناوينها بأحد الحرفين «ا» او «ج».

يختار المقالات التي لا تعود الى القسم الاساسي الرقم 2.

عرض بعتمد على التواريخ

لتسهيل استخدام المقارنات بين التواريخ، اضفنا المعايير التالية:

- age وage_redac يدلان تباعاً الى قِدَم المنشور والى اول نشر للمقال بعدد الايام. فمثلاً: {age<30} يختار العناصر التي نشرت منذ شهر.

- اما المعايير mois, mois_redac, annee, annee_redac (شهر، شهر التحرير، سنة، سنة التحرير)، فتتيح المقارنة بين قيم ثابتة ({annee<=2000} للعناصر المنشورة قبل نهاية عام 2000).

يمكن التأليف بين عدة معايير للحصول على نتائج دقيقة جداً. مثلاً:

يعرض مقالات القسم الاساسي الرقم 2، المنشورة منذ اقل من 30 يوماً وباستثناء مقالات القسم الفرعي الرقم 3.

نصيحة. ان معيار age مفيد جداً لعرض المقالات والاخبار التي تحمل تاريخاً لم يقع بعد وذلك باستخدام قيم سالبة (بشرط ان يكون قد تم تحديد خيار «نشر المقالات المؤجلة» في صفحة «الاعداد الدقيق» للموقع). فعلى سبيل المثال، يتيح هذا المعيار ابراز احداث مستقبلية (لم تحدث بعد). ويختار {age<0} المقالات او الاخبار التي تحمل تاريخاً في المستقبل (اي «بعد» اليوم).

عمر بالنسبة لتاريخ محدد. يتم حساب معيار age بالاعتماد على تاريخ اليوم الجاري (بالتالي يدل {age<30} الى المقالات المنشورة منذ شهر). اما المعيار age_relatif فيقارن بين تاريخ مقال ما او خبر ما وتاريخ آخر تم تحديده. مثلاً، داخل حلقة مقالات، نكون قد عرفنا تاريخ لكل نتيجة من نتائج الحلقة، فيمكننا عندها الاختيار بالاعتماد على هذا التاريخ وليس على تاريخ اليوم الجاري).

مثلاً:

تعرض حلقة BOUCLE_next مقالاً واحداً من القسم نفسه، مرتباً حسب التاريخ وتاريخ نشره اقل من تاريخ نشر «main_article» او يعادله. بمعنى آخر المقال العائد الى القسم نفسه والمنشور بعد المقال الاساسي (main_article).

لمزيد من المعلومات حول استخدام التواريخ، انظر ادارة التواريخ.

عرض جزء من النتائج


- {doublons} او {unique} (هذان المعياران متعادلان تماماً). يتيحان منع عرض النتائج التي تم عرضها في حلقات سابقة استخدمت احد هذين المعيارين.

لمحة تاريخية: منذ [SPIP 1.2] وحتى [SPIP 1.7.2]، كان ينحصر استخدام هذا المعيار بحلقات ARTICLES وRUBRIQUES وDOCUMENTS وSITES فقط.

- {doublons xxxx} منذ [SPIP 1.8]، يمكن الحصول على عدة مجموعات من المعايير {doublons} المستقلة عن بعضها. فالحلقات التي تحتوي على {doublons احمر} لن تؤثرعلى الحلقات التي تحتوي على {doublons ازرق} كمعيار.

- {xxxx IN a,b,c,d} منذ [SPIP 1.8]، هنا يقتصر العرض على النتائج التي تملك معيار xxxx يعادل a او b او c او d. ويتم ترتيب النتائج حسب ترتيب هذه القيم (الا اذا تم طلب معيار ترتيب آخر). ومن الممكن اختيار سلاسل نصوص، مثلاً {titre IN الصين, اليابان} (اي العنوان هو الصين او اليابان).

- {a,b} حيث a وb رقمان. يتيح هذا المعيار الحد من عدد العناصر. فيدل a الى العنصر الذي نبدأ منه العرض (يجدر الانتباه الى ان رقم اول عنصر هو صفر) ويدل b الى عدد العناصر المعروضة.

مثلاً، يعرض المعيار {0,10} العناصر العشرة الاولى. ويعرض {4,2} عنصرين ابتداءاً من الخامس (ضمناً).

- {debut_xxx,b} هو نكهة مختلفة ومطورة من المعيار السابق. إنه يتيح البدء بحد عدد العناصر بواسطة متغير يتم تمريريه في عنوان URL (هذا المتغير يحل مكان العامل a المذكور سابقاً). ان عمل هذا المعيار معقد بعض الشيء ولكن لحسن الحظ لا نضطر الى استخدامه كثيراً.

ويجب ان يبدأ المتغير الذي تم تمريريه في عنوان URL بـdebut_xxx (حيث xxx هي عبارة يختارها مطور الموقع). هكذا، في صفحة تحمل عنوان URL:

petition.php3?id_article=13&debut_signatures=200

مع صفحة نموذجية اسمها petition.html وتحتوي مثلاً على حلقة توقيعات:

نحصل على قائمة بمائة توقيع تبدأ من التوقيع الرقم 201 [تذكير]. ومع عنوان URL على شكل:

petition.php3?id_article=13&debut_signatures=300

نحصل على قائمة بمائة توقيع تبدأ من التوقيع الرقم 301 [تذكير].

- {a,n-b} منذ [SPIP 1.8]، هو تنوع من {a,b}، يختصر العرض بالاعتماد على عدد النتائج في الحلقة. ويشكل a الحد الذي يبدأ منه عرض النتائج ويدل b الى عدد النتائج التي لا يجب عرضها في آخر الحلقة.

هكذا سيعرض {0,n-10} كل النتائج الا العشر الاخيرة.

- {n-a,b} منذ [SPIP 1.8]، هو نظير {a, n-b}. نعرض b نتيجة ايتداءاً من النتيجة الرقم a قبل نهاية الحلقة.

مثلاً: يعرض {n-20,10} عشر نتائج ايتداءاً النتيجة الرقم 20 قبل نهاية الحلقة.

- {a/b} حيث a وb رقمان. ويتيح هذا المعيار عرض جزء a (نسبياً) من النتائج نسبتاً الى عدد من «الشرائح» b.

مثلاً: يعرض {1/3} اول ثلث من النتائج. وتبرز اهمية هذا المعيار حين نريد عرض النتائج في عدة اعمدة. فللحصول على عرض بعمودين، يكفي انشاء حلقة اولى، في خانة من خانات جدول، تشمل المعيار {1/2} (النصف الاول من النتائج)، ثم حلقة ثانية في خانة ثانية من الجدول، تشمل المعيار {2/2} (النصف الثاني من النتائج).

تحذير. من الخطر استخدام معيار {doublons} مع هذا المعيار. فمثلاً:

لا تعرض كل مقالات القسم! فلنفترض مثلاً، ان هناك 20 مقالاً في هذا القسم. فستعرض الحلقة BOUCLE_first النصف الاول من هذه المقالات، اي المقالات العشرة الاولى وتمنع (بسبب وجود {doublons}) من اعادة استخدامها. اما الحلقة BOUCLE_second، فستجلب النصف الثاني من المقالات التي لم تعرض بعد في الحلقة BOUCLE_first، اي الخمسة مقالات الاخيرة في القسم. ونكون بذلك قد «خسرنا» خمسة مقالات في هذه العملية...

العرض بين النتائج

يتيح المعيار {"inter"} ادراج علامات HTML (وهي هنا inter) بين نتائج الحلقة. مثلاً، اذا اردنا ان نفصل اسماء مؤلفين بفاصلة، تصبح الحلقة:

المعايير الاختيارية

تتيح المعايير الاختيارية بناء حلقات متعددة الاهداف: فيكفي الآن اضافة علامة استفهام الى معيار ما لكي لا يعود معتمداً الا اذا تم تمريره في السياق. ويتيح ذلك تسهيل بناء حلقات صفحة dist/backend.html بشكل كبير مع الحفاظ على امتياز الاعلان عن رغبتنا بأن يقتصر ملف الترخيص الخلفي على المقالات بالايطالية مثلاً (backend.php3?lang=it) او ان يقتصر على القسم رقم 7 واقسامه الفرعية (backend.php3?id_rubrique=7).

وتكون الحلقة على الشكل التالي:

حواشي

[تذكير] النتيجة الاولى تحملالرقم صفر، يعني ان النتيجة الـ200 تكون في الحقيقة التوقيع الرقم 201


عرض الصفحة النموذجية لهذه الصفحة موقع صمم بنظام SPIP | مجال الترجمة | المجال الخاص