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

عدة رموز لمقال واحد

تموز (يوليو) 2004 — maj : حزيران (يونيو) 2005

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


لترتيب التصفح في الموقع، غالباً ما نحتاج الى استخدام رموز مختلفة (او بأحجام مختلفة) للمقال نفسه بالاعتماد على الموقع الذي يظهر فيه هذا المقال. على سبيل المثال، نستخدم رمز «كبير» في الصفحة الاساسية يساهم في ابراز المقال الاساسي ورمز «صغير» للمقال نفسه في التصفح العام في الموقع.

الى الآن، لجأ المستخدمون الى اساليب شخصية تعتمد على التمايز الموجود بين الرمز «العادي» ورمز «الحوم». بمعنى آخر، واذا اخذنا مثالنا، يستخدمون الرمز «العادي» مكان الرمز «الصغير» بواسطة علامة #LOGO_ARTICLE_NORMAL وفي الصفحة الاساسية، يستخدمون رمز «الحوم» مكان الرمز «الكبير» بواسطة علامة #LOGO_ARTICLE_SURVOL. الا ان هذا الاسلوب غالباً ما يعقّد برمجة الصفحات النموذجية فضلاً عن انه يمنع استخدام رموز الحوم للحوم وهي وظيفة يوفرها SPIP آلياً.

منذ الاصدار [SPIP 1.4]، صار من الممكن ربط مستندات بالمقالات (وبالاقسام). سنشرح هنا كيفية استخدام هذه المستندات لإنشاء عدة رموز لمقال واحد.

المبدأ العام

- سنتابع استخدام رمزي المقال لعرض الرموز «العادية» (اي تلك التي تظهر في وصلات التصفح الاكثر استخداماً كما في صفحات الاقسام مثلاً) مما يحافظ على بساطة ادارة الرموز التي يوفرها SPIP (اي الادارة الآلية للحوم، اي نعود الى الاستخدام البديهي لعلامة #LOGO_ARTICLE او #LOGO_ARTICLE_RUBRIQUE).

- نقرر ربط مستند بالمقال (عادة هو صورة بتنسيقات GIF او JPEG او PNG) ونعطيه الاسم نفسه. ويكفي عرض هذا المستند (باستخدام اسمه) بدلاً من الرمز «العادي» ساعة نشاء.

- تتيح هذه الطريقة انشاء العدد الضروري من الرموز المختلفة لمقال واحد (وليس فقط رمز كبير ورمز صغير بل، لما لا، صورة تحتوي على كتابة فنية لعرض عنوان المقال...).

- سنرى في ما بعد، انه بفضل حلقات SPIP، يمكننا بسهولة تحديد اذا كان رمز «كبير» معين (اي مستند يحمل الاسم الذي اخترناه له) موجوداً في الصفحة النموذجية والتعامل معه على هذا الاساس (مثلاً عرض مكانه الرمز «العادي» او نص معين او اي عنصر رسومي آخر).

- وبفضل التقنيات الحديثة والتنسيقات الخاصة والاتصال السريع بالشبكة وبما ان هذه الرموز هي مستندات مرفقة، يمكن لهذه الرموز ان تكون بتنسيقات غير تنسيقات الصور. فبإمكاننا مثلاً استخدام مشاهد فلاش او شوكويف او فيديو لعرضها بصفتها رموز «كبيرة».

تثبيت المستندات واختيار اسمائها

- قررنا (بشكل اعتباطي، ولكنك حر في خياراتك) ان اسم المستندات المرفقة المستخدمة بصفة رمز «كبير» سيكون «spip_logo». وسيتم عرض المستند «spip_logo» في الصفحة الاساسية لموقعنا بدلاً من الرمز العادي.

سنستخدم اسماء اخرى لاحقاً في هذا المثال لإنشاء مؤثرات اكثر دقة، ونقرر منذ الآن ان تبدأ هذه الاسماء بكلمة «..._spip». (يتيح ذلك للمقال استثناء كل المستندات التي يبدأ اسمها بـ«..._spip» خلال عرضه الاعتيادي للمستندات المرفقة. بهذه الطريقة، لن يؤثر استخدام مستندات مرفقة بصفة رموز بديلة على العرض العادي لمعرض صور مثلاً.)

- في مقال منشور (انه منشور ليتاح لنا اختبار صفحاتنا النموذجية) نقوم بتثبيت:

  • رمز بالطريقة العادية (اي في العمود الايمن). يمكننا اذا اردنا، تثبيت نسخة ثانية من الصورة «للحوم» لإدارة الحوم آلياً.
JPEG - 7.9 كيلوبايت
الرمز «العادي»
يتم تثبيت الرمز كالعادة. مبدئاً يكون صورة صغيرة الحجم
  • في اسفل صفحة المقال، نقوم بتثبيت مستند مرفق (من خلال مربع «إرفاق مستند»). للتبسيط سنثبت صورة (JPEG او GIF او PNG). بعد تثبيت المستند (او «تحميله»)، نعطيه اسم «spip_logo». وهذه هي العملية الوحيدة الضرورية... سيعرض SPIP هذا المستند في اسفل صفحة المقال في المجال الخاص مع اسمه («spip_logo») وابعاده بالنقاط.
JPEG - 19.5 كيلوبايت
المستند «spip_logo»
المتطلب الوحيد هو اعطاء المستند اسم «spip_logo». لا لزوم لتثبيت مصغر عرض.
في حال مستند وسائط متعددة (فلاش او شوكويف...)، يجب تحديد ابعاد المستند يدوياً.

- نقرر ماذا سنفعل بالمستند «spip_logo»: سيتم عرضه في الصفحة الاساسية مكان الرمز العادي لآخر مقال منشور. هكذا، ستقوم الصفحة الاساسية بعرض صورة «كبيرة» لإبراز اهمية المقال.

عرض «spip_logo» في الصفحة الاساسية

لنبدأ بإدخال حلقة بسيطة تعرض آخر مقال تم نشره في الموقع اضافة الى رمزه «العادي». (في كل الامثلة التالية، سنختصر علامات HTML الى الحد الادنى، ويبقى عليك انت ان تطور تصميم الصفحة حسب مزاجك).

هذه الحلقة البسيطة تعرض اول مقال ({0,1}) من بين كل المقالات التي تم استرجاعها بواسطة تاريخ نشرها ({par date}) من الاحدث الى الاقدم ({inverse}). نعرض اذاً، احدث مقال تم نشره في الموقع. وفي داخل هذه الحلقة نعرض رمز المقال يتبعه عنوان المقال.

- ولكن نريد عرض المستند «spip_logo» المرفق بالمقال مكان الرمز العادي. فتصبح الحلقة:

تختار الحلقة BOUCLE_logo_main_article من بين المستندات المرفقة بهذا المقال ({id_article}) المستند الذي يحمل اسم «spip_logo» الذي اخترناه ({titre=spip_logo}). في داخل الحلقة، نطلب عرض هذا المستند المرفق (#EMBED_DOCUMENT).

ان استخدام EMBED_DOCUMENT# (لا يزال قليل الاستخدام في المواقع المعتمدة على SPIP) في الصفحة النموذجية يتيح من خلال نظام الحلقات، ادراج المستند مباشرة داخل الصفحة. ويتكفل SPIP بإنشاء البرمجة المناسبة لنوع المستند (صورة او ملف وسائط متعددة).

- اما سيئة هذه الطريقة فهي: اذا كان المقال لا يملك مستنداً مرفقاً اسمه «spip_logo»، لن تعرض الفقرة البرمجية السابقة الا الاسم. لذلك، سوف ندخل تعديلاً جديداً يتيح عرض رمز المقال «العادي» في حال عدم وجود مستند مرفق مخصص لهذه الغاية. ملاحظة: اذا تم فهم هذه الطريقة، لا يعود هناك اي صعوبة لتنفيذ كل المؤثرات التالية...

اكتفينا هنا بإضافة نداء الى الرمز «العادي» (#LOGO_ARTICLE) كنص بديل (ما يوجد قبل <//B...> في حلقة ما يُعرض اذا لم تسترجع الحلقة اية نتيجة - وهنا، اذا كان لا يوجد مستند مرفق بالمقال يحمل اسم «spip_logo»).

لقد حصلنا على النتيجة المطلوبة:
- اذا كان هناك مستند مرفق بالمقال، اعطيناه اسم «spip_logo»، يُعرض مباشرة.
- والا فيتم عرض الرمز «العادي».

استثناء هذه المستندات المخصصة من العرض العادي للمستندات المرفقة

في صفحة المقالات النموذجية، نعرض المستندات المرفقة بفضل حلقة BOUCLE_attached_docs، ومعاييرها الاساسية هي:

ننادي للمستندات DOCUMENTS المرتبطة بهذا المقال ({id_article}) والتي هي فعلاً مستندات وليست صوراً ({mode=document}) والتي لم يتم عرضها داخل مادة المقال بواسطة علامة <EMBxx> (معيار {doublons}).

لنعدّل هذه الفقرة لمنع عرض المستندات التي يبدأ اسمها بـ «..._spip» داخل الحلقة (لا نريد هنا عرض الرمز «الكبير» الذي استخدمناه في الصفحة الاساسية لإبراز المقال):

يشكل معيار {titre!==^spip\_} تركيباً منتظماً (regular expression) يتمتع بطريقة كتابة منتظمة جداً. فهنا نختار المستندات التي لا يكون اسمها على الشكل التالي (يعني !== «الذي لا يتطابق مع التركيب المنتظم»): الحروف الاولى (فالرمز ^ يدل الى بداية سلسلة الحروف التي تهمنا) هي «spip» يتبعها «_» (في كتابة التركيب المنتظم يعني «_\» الحرف «_» كما يدل «.\» الى الحرف «.»).

اذاً، هذا المعيار يختار المستندات المرفقة التي لا يبدأ اسمها بعبارة «_spip».

لقد تم عرض المبدأ العام ولديك الآن ما يكفي لتطبيق ذلك في موقعك. اما الامثلة التالية فليست الا تنوعات مما اسلفنا.

عرض رمز كبير دائماً في اعلى الصفحة

نقرر (اعتباطياً كالعادة) انه يجب وجود صورة كبيرة في اعلى صفحة المقالات. انه خيار جمالي اتخذناه: لضمان التوافق الرسومي في المو قع نعرض في اعلى الصفحة نسخة كبيرة من الرمز المرتبط بالمقال (اي نوع من الرمز «الكبير») وفي حال عدم وجودها نعرض صورة مخزنة في مكان آخر من الموقع.

- دائماً حسب المبدأ نفسه، نربط مستند بالمقال ونسمّيه «spip_top». (لتفادي عرض هذا المستند في حلقة BOUCLE_attached_docs السابقة نجعل اسمه يبدأ بعبارة «..._spip».)

في صفحة المقالات النموذجية، نكتفي بعرض المستند في اعلى الصفحة:

كما في المثال السابق، نعرض المستند المرتبط بهذا المقال والذي يحمل اسم «spip_top». ولا اسهل!

- كما في المثال الاول، يمكن عرض رمز المقال في حال عدم وجود المستند المطلوب:

- ولكن ليست هذه النتيجة المرجوة. فنريد دائماً عرض صورة كبيرة بأبعاد محددة مسبقاً وذلك لضرورات الواجهة الرسومية.

اذاً، سنقوم بإنشاء صور بديلة تستخدم «افتراضياً» في حال وجود مقال لا يرتبط به مستند خاص به. وتخضع هذه الصور لمتطلباتنا الرسومية (كأن تعادل ابعادها ابعاد المستند المستخدم عادة بإسم «spip_top»).

نقوم بإنشاء قسم جديد يستقبل هذه المستندات البديلة دون اي ترتيب. لذلك نقوم بتفعيل المستندات في الاقسام (يمكن ايضاً انشاء مقال يستقبل هذه المستندات وبالتالي عدم تفعيل المستندات في الاقسام. فالبرمجة لن تختلف كثيراً). لنعتبر ان هذا القسم يحمل الرقم 18 (يقوم SPIP بتحديد رقم القسم آلياً لدى انشاءه)، فنثبت كل المستندات البديلة في داخله (ليس من الضروري اعطاء اسماء لها).

لجلب مستند من هذا القسم بشكل عشوائي، يكفي استخدام المعايير التالية:

(ملاحظة: لا يعني معيار {par hasard} ان الصورة ستكون مختلفة لدى كل زيارة للصفحة ولكن انه سيتم اختيار الصورة عشوائياً لدى كل اعادة تحديث للصفحة.)

نتأكد من اننا نحول دون عرض القسم 18 في تصفح الموقع لأن لا لزوم لتوفيره للزائر. فالمعيار {id_rubrique=18} يقوم بالواجب.

ولإنهاء تصميم هذا النظام، يكفي ادراج هذه الحلقة التي تعرض مستنداً بديلاً تم اختياره عشوائياً في القسم 18 بصفته نصاً بديلاً في الحلقة BOUCLE_doc_top (بدلاً من #LOGO_RUBRIQUE):

عرض عنوان رسومي

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

- نقرر ان هذا العنوان سيكون مستنداً مرفقاً بالمقال نطلق عليه اسم «spip_title».

- لجلب هذا المستند الى المكان الذي يجب ان يظهر فيه عنوان المقال #TITRE، ندرج الحلقة المعروفة:

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

لنكمل النظام: في حال عدم وجود مستند مرفق يحمل اسم «spip_title»، يجب عرض المعلومات الضرورية بواسطة علامات HTML التقليدية:

* * *

نذكر ميزة اخيرة لهذه الطريقة...

تتيح في ما بعد امكان تحسين واجهة الموقع الرسومية جذرياً. فليس من الضروري حذف كل المستندات المرفقة المسمات «spip_top» او «spip_title»...واحد تلو الآخر، اذا اردنا ان نتخلى عن هذا الاسلوب، يكفي انشاء صفحة نموذجية جديدة لا تنادي هذه المستندات.

على سبيل المثال، اذا كانت المستندات «spip_top» كلها مصممة مسبقاً بعرض 450 نقطة وتتطلب الواجهة الجديدة صوراً بعرض 600 نقطة، لن تضطر لتعديل ملفات «spip_top» كلها. يكفي ان تنشئ صفحة نموذجية تجلب نوعاً جديداً من المستندات اسمه «spip_large» مثلاً. وهكذا لن يحصل تضارب رسومي خلال الانتقال من نوع الى آخر.

اما المطورين الاكثر حماسة، فيمكنهم انشاء اي نوع من الاختبارات حول المستندات ({extension=...}) او حجمها ({largeur=...} - العرض يساوي...، {hauteur=...} - الارتفاع يساوي...) (لا حاجة لأية اوامر PHP) لإنتاج واجهات تتماشى مع هذه الاختبارات (مثلاً انشاء واجهة معينة اذا كان «spip_top» بعرض 450 نقطة وواجهة اخرى اذا كان العرض 600 نقطة...).


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