حول قوالب Dreamweaver

تاريخ آخر تحديث 27 أبريل 2021

تعرف على كيفية استخدام قوالب Dreamweaver لتصميم تخطيط صفحة "ثابت"؛ ثم إنشاء المستندات بناءً على القالب الذي يرث تخطيط صفحته.

القالب هو نوع خاص من المستندات تستخدمه لتصميم تخطيط صفحة "ثابت"؛ يمكنك بعد ذلك إنشاء مستندات بناءً على القالب الذي ترث تخطيط صفحته.أثناء تصميم القالب، تحدد أي محتوى "قابل للتحرير" يمكن للمستخدمين تحريره في مستند يعتمد على ذلك القالب.تمكّن القوالب مؤلفي القوالب من التحكم في عناصر الصفحة التي يمكن لمستخدمي القوالب—مثل الكتّاب أو الفنانين الجرافيكيين أو مطوري الويب الآخرين—تحريرها.هناك عدة أنواع من مناطق القالب التي يمكن لمؤلف القالب تضمينها في المستند.

ملاحظة

تمكّنك القوالب من التحكم في منطقة تصميم كبيرة وإعادة استخدام التخطيطات الكاملة. إذا كنت تريد إعادة استخدام عناصر التصميم الفردية، مثل معلومات حقوق الطبع والنشر الخاصة بالموقع أو الشعار، قم بإنشاء عناصر مكتبة.

يتيح لك استخدام القوالب إمكانية تحديث صفحات متعددة في مرة واحدة. المستند الذي تم إنشاؤه من قالب يبقى متصلاً بذلك القالب (ما لم تفصل المستند لاحقاً). يمكنك تعديل القالب وتحديث التصميم فوراً في جميع المستندات المبنية عليه.

ملاحظة

تختلف القوالب في Dreamweaver عن القوالب في بعض برامج Adobe Creative Cloud الأخرى في أن أقسام الصفحة هذه من قوالب Dreamweaver تكون ثابتة (أو غير قابلة للتحرير) افتراضيًا.

أنواع مناطق القوالب

عندما تحفظ مستند كقالب، تكون معظم مناطق المستند مؤمّنة. باعتبارك مؤلف قالب، تحدد مناطق المستند القائم على القالب والتي ستكون قابلة للتحرير بإدراج مناطق قابلة للتحرير أو المعلمِّات القابلة للتحرير في القالب.

مع إنشائك للقالب، يمكنك إجراء تغييرات على كلٍ من المناطق القابلة للتحرير والمناطق المؤمَّنة. إلا أنه في مستند قائم على القالب، يمكن لمستخدم القالب إجراء التغييرات فقط في المناطق القابلة للتحرير، ولا يمكن تعديل المناطق المؤمَّنة.

توجد أربعة أنواع من مناطق القوالب:

المنطقة القابلة للتحرير: منطقة غير مؤمَّنة في مستند قائم على قالب - وهو قسم يمكن لمستخدم القالب تحريره. يمكن لمؤلف القالب تحديد أي منطقة من القالب باعتبارها منطقة قابلة للتحرير. لكي يكون القالب فعالاً، يجب أن يحتوي على منطقة واحدة على الأقل قابلة للتحرير، وإلا لن يمكن تحرير الصفحات بناءً على القالب. للحصول على معلومات تفصيلية حول المناطق القابلة للتحرير، راجع إنشاء المناطق القابلة للتحرير في القوالب.

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

يوجد نوعان من مناطق التكرار التي يمكنك إدراجها في قالب: منطقة التكرار وجدول التكرار. لمعرفة كيفية العمل باستخدام المناطق المكررة، راجع إنشاء الجداول والمناطق المكررة في Dreamweaver.

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

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

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

عندما تضيف رابطاً نسبياً جديداً للمستند إلى ملف القالب، من السهل إدخال اسم المسار الخطأ إذا كتبت المسار في مربع نص الرابط في Property inspector. المسار الصحيح في ملف القالب هو المسار من مجلد القوالب إلى المستند المرتبط، وليس المسار من مجلد المستند المبني على القالب إلى المستند المرتبط. تأكد من وجود المسارات الصحيحة للروابط باستخدام أيقونة المجلد أو أيقونة Point-to-file في Property inspector عند إنشاء روابط في القوالب.

نصوص الخادم البرمجية في القوالب و المستندات المبنية على القوالب

يتم إدراج بعض نصوص الخادم البرمجية في بداية المستند أو نهايته تماماً (قبل علامة <html> أو بعد علامة </html>). تتطلب هذه النصوص البرمجية معاملة خاصة في القوالب والمستندات المبنية على القوالب. عادة، إذا أجريت تغييرات على رمز النص البرمجي قبل علامة <html> أو بعد علامة </html> في القالب، لن يتم نسخ التغييرات إلى المستندات المبنية على ذلك القالب. يمكن أن يتسبب هذا في أخطاء الخادم إذا اعتمدت نصوص الخادم الأخرى، الموجودة ضمن المتن الرئيسي للقالب، على النصوص البرمجية التي لم يتم نسخها.ينبهك تحذير إذا غيّرت النصوص البرمجية قبل علامة <html> أو بعد علامة </html> في القالب.

لتجنب هذه المشكلة، يمكنك إدراج الرمز التالي في قسم head من القالب:

<!-- TemplateInfo codeOutsideHTMLIsLocked="true" -->

عندما يكون هذا الرمز في القالب، يتم نسخ التغييرات على النصوص البرمجية قبل علامة <html> أو بعد علامة </html> إلى المستندات المبنية على ذلك القالب. ومع ذلك، لن تتمكن بعد الآن من تحرير تلك النصوص البرمجية في المستندات المبنية على القالب.وبالتالي، يمكنك اختيار تحرير هذه النصوص البرمجية في القالب، أو في المستندات المبنية على القالب، ولكن ليس كليهما.

معلمات القوالب

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

يتم نقل معلِّمات القوالب إلى المستند كمعلِّمات مثيلات. في معظم الحالات، يمكن لمستخدم القالب تحرير القيمة الافتراضية للمعامل لتخصيص ما يظهر في مستند قائم على القالب. في حالات أخرى، قد يحدد مؤلف القالب ما يظهر في المستند، بناءً على قيمة تعبير القالب.

تعبيرات القالب

تعبيرات القالب هي عبارات تحسب أو تقيم قيمة.

يمكنك استخدام تعبير لحفظ قيمة وعرضها في مستند. على سبيل المثال، يمكن أن يكون التعبير بسيطاً مثل قيمة معامل، مثل @@(Param)@@، أو معقداً بما يكفي لحساب القيم التي تبدّل لون الخلفية في صف جدول، مثل @@((_index & 1) ? أحمر: أزرق)@@.

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

يمكنك تعريف التعبيرات في عرض الكود أو في مربع حوار المنطقة الاختيارية عند إدراج منطقة اختيارية.

في عرض الكود، هناك طريقتان لتعريف تعبيرات القالب: استخدام تعليق <!-- TemplateExpr expr=&quot;your expresson&quot;--> أو @@(your expression)@@.عند إدراج التعبير في كود القالب، يظهر علامة تعبير في عرض التصميم. عند تطبيق القالب، يقوم Dreamweaver بتقييم التعبير وعرض القيمة في المستند القائم على القالب.

لغة تعبير القالب

لغة تعبير القالب هي مجموعة فرعية صغيرة من JavaScript، وتستخدم صيغة JavaScript وقواعد الأولوية. استخدم مشغلات JavaScript لكتابة تعبير مثل هذا:

@@(firstName+lastName)@@

يتم دعم الميزات والعوامل التالية:

  • الثوابت العددية، والثوابت النصية (بصيغة علامات الاقتباس المزدوجة فقط)، والثوابت المنطقية (true أو false)

  • مرجع المتغير (راجع قائمة المتغيرات المحددة لاحقاً في هذا القسم)

  • مرجع الحقل (عامل "النقطة")

  • عوامل تشغيل أحادية: +، -، ~، !

  • المشغلات الثنائية: +, -, *, /, %, &, |, ^, &&, ||, <, <=, >, >=, ==, !=, <<, >>

  • العوامل الشرطية: ؟:

  • الأقواس: ()

    تُستخدم أنواع البيانات التالية: المنطقي، العدد العشري العائم IEEE 64‑bpc، النص، والكائن.قوالب Dreamweaver لا تدعم استخدام أنواع JavaScript "null" أو "undefined". كما أنها لا تسمح بتحويل الأنواع القياسية ضمنياً إلى كائن؛ وبالتالي، فإن التعبير "abc".length سيؤدي إلى خطأ، بدلاً من إنتاج القيمة 3.

    الكائنات الوحيدة المتاحة هي تلك المحددة بواسطة نموذج كائن التعبير. يتم تعريف المتغيرات التالية:

    _document

    يحتوي على بيانات القالب على مستوى المستند مع حقل لكل معامل في القالب.

    _repeat

    مُعرَّف فقط للتعبيرات التي تظهر داخل منطقة متكررة.يوفر معلومات مضمَّنة عن المنطقة

    _index

    الفهرس العددي (من صفر) للإدخال الحالي

    _numRows

    إجمالي عدد الإدخالات في منطقة التكرار هذه

    _isFirst

    صحيح إذا كان الإدخال الحالي هو الإدخال الأول في منطقته المتكررة

    _isLast

    صحيح إذا كان الإدخال الحالي هو الإدخال الأخير في منطقته المتكررة

    _prevRecord

    كائن _repeat للإدخال السابق. من الخطأ الوصول إلى هذه الخاصية للإدخال الأول في المنطقة.

    _nextRecord

    كائن _repeat للإدخال التالي. من الخطأ الوصول إلى هذه الخاصية للإدخال الأخير في المنطقة.

    _parent

    في منطقة متكررة متداخلة، يعطي هذا كائن _repeat للمنطقة المتكررة المحيطة (الخارجية).من الخطأ الوصول إلى هذه الخاصية خارج منطقة متكررة متداخلة.

    أثناء تقييم التعبير، جميع حقول كائن _document وكائن _repeat متاحة ضمنياً.على سبيل المثال، يمكنك إدخال title بدلاً من _document.title للوصول إلى معامل العنوان الخاص بالمستند.

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

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

شروط If متعددة في كود القالب

عرِّف تعبيرات القالب لشروط if و multiple-if.يوضح هذا المثال تعريف معامل باسم "Dept"، وتعيين قيمة أولية له، وتعريف شرط متعدد الـ if الذي يحدد أي شعار سيتم عرضه.

فيما يلي مثال على الكود الذي قد تدخله في قسم head من القالب:

<!-- TemplateParam name="Dept" type="number" value="1" -->

العبارة الشرطية التالية تتحقق من القيمة المخصصة لمعامل Dept.عندما يكون الشرط صحيحاً أو مطابقاً، يتم عرض الصورة المناسبة.

<!-- TemplateBeginMultipleIf -->

<!-- يتحقق من قيمة Dept ويعرض الصورة المناسبة-->

<!-- TemplateBeginIfClause cond="Dept == 1" --> <img src=".../sales.gif"> <!-- TemplateEndIfClause -->

<!-- TemplateBeginIfClause cond="Dept == 2" --> <img src=".../support.gif"> <!-- TemplateEndIfClause-->

<!-- TemplateBeginIfClause cond="Dept == 3" --> <img src=".../hr.gif"> <!-- TemplateEndIfClause -->

<!-- TemplateBeginIfClause cond="Dept != 3" --> <img src=".../spacer.gif"> <!-- TemplateEndIfClause -->

<!-- TemplateEndMultipleIf -->

عندما تُنشئ مستندًا يستند إلى قالب، يتم تمرير معاملات القالب إليه تلقائيًا.يحدد مستخدم القالب الصورة التي سيتم عرضها.