توسيع Dreamweaver: تخصيص تحليل علامات الجهات الخارجية
نظرًا لأنني قمت بتطوير المكونات الإضافية لـ Dreamweaver مؤخرًا، هناك عدد قليل جدًا من المواد الصينية، كما أن لغتي الإنجليزية ضعيفة عندما أتحقق من المواد الإنجليزية، لا يسعني إلا أن أشعر دائِخ. بعد أن اضطررت إلى ترجمة بعض المحتوى المهم إلى اللغة الصينية، شعرت بالانتعاش أكثر عندما قرأته. هذا المقتطف مقتبس من "Extending Dreamweaver 8" الذي يأتي مع Dreamweaver 8. عند الترجمة، أشرت إلى "التعليمات الصينية لـ Dreamweaver 4" التي ترجمتها Xiakedao. لكن لأكون صادقًا، لدي بعض الشكوك في أن بعض أجزاء المساعدة تمت ترجمتها باستخدام برنامج مثل Kingsoft Translation. على أية حال، فهي أصعب في القراءة من اللغة الإنجليزية.
تستخدم التقنيات من جانب الخادم، مثل ASP وMacromedia ColdFusion وJSP وPHP، تركيبًا خاصًا غير HTML في ملفات HTML، ويقوم الخادم بإنشاء محتوى بتنسيق HTML وتقديمه استنادًا إلى هذه الرموز. عندما يكتشف Dreamweaver علامات غير HTML، يقوم Dreamweaver بمقارنتها عن طريق استدعاء ملفات تعريف العلامات التابعة لجهة خارجية، والتي تحدد كيفية قراءة Dreamweaver لهذه العلامات وعرضها.
على سبيل المثال، بالإضافة إلى لغة HTML القياسية، تحتوي ملفات ASP أيضًا على كود ASP ليقوم الخادم بتحليله. تبدو تعليمات ASP البرمجية مشابهة لعلامات HTML، ويتم تمييزها بزوج من العلامات، وهي علامة افتتاحية <% وعلامة إغلاق %>. يوجد ملف باسم Tags.xml في المجلد Configuration/ThirdPartyTags في Dreamweaver. يُستخدم هذا الملف لوصف العديد من مواصفات علامات الجهات الخارجية بما في ذلك ASP، ويحدد كيفية عرض Dreamweaver لهذه الرموز. باستخدام هذا الأسلوب، تم توحيد تعليمات ASP البرمجية في Tags.xml، لذا لن يحاول Dreamweaver بعد الآن تحليل أي تعليمات برمجية بين <%...%>. ومع ذلك، في طريقة العرض "تصميم"، سيتم عرض رمز للإشارة إلى أن هذا هو رمز ASP. يمكنك تحديد علاماتك الخاصة وإنشاء ملف مكتبة علامات جديد لكل مجموعة من العلامات لتحديد كيفية قيام Dreamweaver بقراءة علاماتك وعرضها.
ملاحظة: يصف هذا القسم كيفية تحديد طريقة لبرنامج Dreamweaver لعرض تسمية مخصصة، لكنه لا يصف كيفية تحرير محتوى التسمية المخصصة أو خصائصها. راجع Property Inspector للحصول على معلومات حول كيفية إنشاء مفتش خصائص لفحص خصائص التسمية المخصصة وتعديلها.
يحدد كل ملف من ملفات مكتبة العلامات الاسم والنوع ووضع المحتوى ومواصفات العرض وأيقونة علامة مخصصة واحدة أو أكثر. يمكنك إنشاء أي عدد من ملفات مكتبة العلامات، ولكن يجب أن تكون موجودة في المجلد Configuration/ThirdPartyTags حتى يتمكن Dreamweaver من قراءتها ومعالجتها. تستخدم ملفات مكتبة العلامات ملحق الملف .xml.
نصيحة: إذا كنت تعمل على عدة مواقع ويب مختلفة في نفس الوقت (على افتراض أنك مستقل)، فيمكنك تحديد جميع مواصفات العلامة في ملف وتخزينها في موقع خاص للاستخدام المستقبلي من قبل الآخرين عندما يقوم شخص ما بصيانة الموقع، يمكنك تسليم مكتبة العلامات الكاملة، بما في ذلك الرموز المخصصة ومفتشي الخصائص.
تحتاج إلى تحديد مواصفات العلامة باستخدام علامة XML تسمى tagspec. على سبيل المثال، يمثل التعليمة البرمجية التالية مواصفات العلامة المسماة سعيد.
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
يمكنك استخدام tagspec للتعريف نوعان من التسميات:
· العلامات المشتركة في شكل HTML
مثال العلامة السعيدة هو علامة عادية بتنسيق HTML. يبدأ بالعلامة <happy>، ويحتوي على البيانات بين علامتي الفتح والإغلاق، وينتهي بالعلامة </happy>.
· علامات محددة بسلاسل تبدأ العلامات المحددة بسلسلة بسلسلة واحدة وتنتهي بسلسلة أخرى، وهي تشبه علامات HTML الفارغة (مثل img) من حيث أنها لا تحتوي على محتوى أو علامات إغلاق. إذا كانت Happy أيضًا علامة مفصولة بسلسلة، فيجب أن تتضمن مواصفات تعريفها سمتين: start_string وend_string. علامات ASP هي جميعها علامات مفصولة بسلسلة، وهي تبدأ بـ <% وتنتهي بـ %>، ولا توجد علامة إغلاق.
تسرد المعلومات التالية السمات المختلفة والقيم الصالحة لعلامة tagspec. تشير السمات التي تحمل علامة النجمة ("*") إلى أنها لا تنطبق على العلامات المفصولة بسلسلة، ويتم تمييز السمات الاختيارية بأقواس ({})؛ وليس من الصعب استنتاج أن الخصائص الأخرى التي لم يتم تمييزها بأقواس قوسية ضرورية ملكيات.
<tagspec>
يصف
سمات
المعلومات الافتراضيةحول علامات الطرف الثالث
tag_name، {tag_type}، {render_contents}، {content_model}، {start_string}، {end_string}، {detect_in_attribute}، {parse_attributes}، icon، icon_width، icon_height، { يعادل_علامة}، {is_visual}، {server_model}
tag_name يمثل اسمًا مخصصًا. بالنسبة للعلامات المفصولة بسلسلة، يتم استخدام tag_name فقط للتحقق مما إذا كان مفتش خاصية محدد ينطبق على العلامة. إذا كان السطر الأول من مفتش السمة يحتوي على اسم العلامة في موضع مطابق (في الواقع، في السطر الأول من الإعلان) وتم وضع علامة النجمة ("*") عليه، فسيتم السماح للمفتش بفحص تسمية النوع . على سبيل المثال، اسم علامة كود ASP هو ASP. يجب أن تحتوي أدوات التفتيش التي تسمح بالتحقق من كود ASP على *ASP* في السطر الأول. للحصول على معلومات حول Property Inspector API، راجع Property Inspector.
يحدد tag_type ما إذا كانت العلامة فارغة (مثل الصورة المذكورة سابقًا) أو يسمح بوضع المحتوى بين علامتي الفتح والإغلاق (مثل علامة الكود). هذه السمة ضرورية للعلامات العادية (غير المحددة بسلسلة)، ولكن ليس لها أي تأثير على العلامات المحددة بسلسلة لأنها تكون فارغة دائمًا. تتضمن القيم الصالحة "فارغة" و"غير فارغة".
تحدد render_contents ما إذا كانت التسمية تعرض المحتوى في عرض التصميم، أو تستبدله برمز معين. هذه السمة ضرورية فقط للعلامات غير الفارغة وليس لها أي تأثير على العلامات الفارغة (العلامات الفارغة نفسها لا تحتوي على محتوى لعرضه). تنطبق هذه السمة فقط على العلامات المدرجة خارج السمة إذا تم إدراج علامة في قيمة السمة للعلامات الأخرى، فلن يتم عرض محتواها (هذه الفقرة صعبة الفهم بعض الشيء. أفكر في كائنات مثل RealMedia وFlash). داخل تلك العلامات المعلمة؟ القيم الصالحة هي "صحيحة" أو "خاطئة".
يصف content_model نوع المحتوى الذي يمكن أن تحتويه هذه العلامة، وأين يمكن إدراج هذه العلامة في ملف HTML. تتضمن القيم الصالحة "block_model" و"head_model" و"marker_model" و"script_model":
·block_model يعني أن العلامة يمكن أن تحتوي على كائنات كتلة مثل div وp، ويمكن أن تظهر العلامة فقط في منطقة النص، أو يمكن إدراجها في علامات محتوى الجسم الأخرى، مثل div، وlayer، وtd.
·head_model يعني أن الملصق يمكن أن يحتوي فقط على نص ويمكن أن يظهر فقط في نطاق HEAD.
·marker_model يعني أن العلامة يمكن أن تحتوي على أي كود HTML صالح ويمكن وضعها في أي مكان داخل ملف HTML. يتجاهل مدقق HTML المدمج في Dreamweaver العلامات المحددة كـ Marker_model. ومع ذلك، لا يتجاهل المدقق المحتوى الموجود في هذه العلامات، لذلك، على الرغم من إمكانية وضع العلامة نفسها في أي مكان، إلا أن محتواها قد يسبب أخطاء في بعض أجزاء HTML. على سبيل المثال، لا يمكن أن يظهر النص العادي (باستثناء عناصر الرأس القانونية) في منطقة الرأس بالمستند، لذلك لا يمكنك وضع علامة Marker_model التي تحتوي على نص عادي في منطقة الرأس (إذا كنت تريد القيام بذلك، فيجب عليك تغيير تم استبدال نموذج محتوى العلامة بـ marker_model بـ head_model). سيتم عرض العلامات التي تستخدم علامة_نموذج على سطر واحد (داخل عنصر كتلة مثل p أو div - على سبيل المثال، داخل فقرة). يوصى بعدم استخدام هذا الوضع.
·script_model يسمح بوضع هذه العلامة في أي مكان بين علامات HTML داخل المستند. عندما يكتشف Dreamweaver علامة تستخدم هذا الوضع، يتم تجاهل محتوى العلامة بالكامل. لن يقوم Dreamweaver بتحليل هذه العلامات (مثل علامات ColdFusion معينة) عند استخدامها.
تحدد start_string محددًا كنقطة بداية للتسميات المحددة بسلسلة. يمكن وضع التسميات المفصولة بسلسلة في أي مكان يمكن إدراج تعليق فيه. لن يقوم Dreamweaver بتحليل التعليمات البرمجية أو تشفيرها أو ربطها بين start_string وend_string. هذه السمة مطلوبة عند تحديد end_string.
تحدد end_string محددًا كنقطة نهاية للتسمية المحددة بسلسلة. كما أن هذه السمة مطلوبة عند تعريف start_string.
يحدد Detect_in_attribute ما إذا كان سيتم تجاهل كل التعليمات البرمجية بين start_string وend_string (أو بين علامتي البداية والنهاية، إذا لم يتم تعريف هاتين السلسلتين)، بغض النظر عما إذا تم إدراج السمات أو القيم بين هذه الرموز. قيمتها الافتراضية هي "خطأ"، ولكن بشكل عام، يجب أن تكون هذه القيمة مضبوطة على "صحيح" للعلامات المفصولة بسلسلة. على سبيل المثال، تحدد مواصفات علامة ASP Detect_in_attribute = "true"، لذلك حتى إذا كانت هناك علامات اقتباس تحتوي على قيم سمات داخل علامة ASP، فسيتم تجاهلها بواسطة Dreamweaver.
يشير parse_attributes إلى ما إذا كان سيتم تحليل سمات العلامة أم لا. إذا تم التعيين على "true" (الافتراضي)، فسوف يقوم Dreamweaver بتحليل هذه الخصائص؛ وإذا تم التعيين على "false"، فسوف يتجاهل Dreamweaver كل التعليمات البرمجية قبل ">" خارج علامتي الاقتباس. على سبيل المثال، يجب أن يتم تعيين هذه السمة إلى علامات مثل cfif على "false" (لأن Dreamweaver لا يمكنه تحليل علامة مثل <cfif a is 1> كاسم سمة/زوج قيمة).
تحدد الأيقونة المسار واسم الملف للأيقونة التي تطابق هذه التسمية. هذه الخاصية مطلوبة للعلامات الفارغة، وكذلك للعلامات غير الفارغة التي لا يمكن عرض محتواها في عرض تصميم نافذة المستند.
تحدد Icon_width عرض البكسل للأيقونة.
يحدد Icon_height ارتفاع البكسل للأيقونة.
يحدد Equival_tag مرادفات HTML البسيطة لعلامات معينة مرتبطة بالنماذج في ColdFusion. لا يمكن استخدام هذه السمة بواسطة علامات أخرى.
يحدد is_visual ما إذا كانت التسمية مرئية على الصفحة. على سبيل المثال، لا تحدد علامة ColdFusion cfgraph قيمة لـ is_visual (وبالتالي يتم استخدام القيمة الافتراضية "true")، وتحدد علامة ColdFusion cfset قيمة لـ is_visual لـ "false". في عمود "العناصر غير المرئية" بمربع الحوار الافتراضي، يمكنك التحكم في رؤية تسميات الخادم؛ ويمكن تعيين رؤية تسميات الخادم المرئية وتسميات الخادم غير المرئية بشكل منفصل.
يشير server_model، إذا تم تعيينه، إلى أنه لا يمكن تطبيق علامة tagspec إلا على الصفحات التي تنتمي إلى طراز الخادم المحدد. إذا لم يتم تعيينه، فيمكن تطبيق tagspec على جميع الصفحات. على سبيل المثال، محددات ASP وJSP هي نفسها، لكن علامة tagspec المطبقة على JSP تحدد وضع الخادم كـ "JSP"، لذلك عندما يكتشف Dreamweaver محددًا محددًا على صفحة JSP، فإنه يعرض رمز JSP عندما يكون هو نفسه تم اكتشاف رمز في صفحة غير JSP، فإنه يعرض رمز ASP.
لا يوجدمحتوى
(علامة فارغة).
حاوية
لا شيء.
مثال
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
علامة مخصصة في التصميم كيف يعرض العرض
علامات مخصصة في عرض التصميم لنافذة المستند ويعتمد على قيم سمة tag_type وسمة render_contents لعلامة tagspec (راجع تحليل علامات الطرف الثالث المخصصة). إذا كانت قيمة tag_type "فارغة"، فسيتم عرض الأيقونة المحددة المحددة بواسطة سمة الأيقونة. إذا كانت قيمة tag_type "غير فارغة" ولكن قيمة render_contents "خطأ"، فسيتم عرض الرمز أيضًا كعلامة فارغة. يوضح المثال التالي كيف يمكن إدراج مثيل العلامة السعيدة التي حددناها للتو في كود HTML:
<p>هذه فقرة تتضمن مثيل العلامة <code>happy</code> (<happy>Joe</ سعيد>).</p>
نظرًا لأنه تم تعيين render_contents على "خطأ" في مواصفات العلامة، فلن يتم عرض العلامة السعيدة (كلمة joe)، وسيتم استبدال علامتي الفتح والإغلاق بما في ذلك المحتوى الموجود بينهما بعلامة رمز بسيط.
بالنسبة للعلامة غير الفارغة ذات قيمة render_contents "صحيح"، لن تعرضها طريقة عرض التصميم كرمز، ولكنها ستعرض المحتوى بين علامتي الفتح والإغلاق (مثل النص بين العلامات، مثل هذا: < mytag> هذا هو المحتوى الموجود بين علامتي الفتح والإغلاق </mytag>). إذا تم تحديد عرض > المساعدين المرئيين > العناصر غير المرئية في خيار القائمة، فسيتم تمييز هذا المحتوى باستخدام لون علامة الطرف الثالث المحدد بواسطة معلمة "لون الرمز" (ينطبق "لون الرمز" فقط على ملفات مكتبة العلامات
كيفية التغيير لون التمييز لعلامات الطرف الثالث:
1.
حدد تحرير > التفضيلات في خيارات القائمة، ثم حدد العمود "لون الرمز".
2. انقر فوق مربع ألوان تسمية الجهة الخارجية لعرض منتقي الألوان.
3. حدد لونًا، ثم انقر فوق "موافق" وأغلق مربع الحوار المحدد مسبقًا. للحصول على معلومات حول كيفية اختيار الألوان، راجع أيضًا استخدام Dreamweaver.
تجنب إعادة كتابة علامات الجهات الخارجية
. سيقوم Dreamweaver بتصحيح بعض الأخطاء في تعليمات HTML البرمجية لمزيد من المعلومات، يرجى الرجوع إلى استخدام Dreamweaver. افتراضيًا، يمنع Dreamweaver إجراء تغييرات على تعليمات HTML البرمجية في الملفات ذات امتدادات ملفات معينة، بما في ذلك .asp (ASP)، و.cfm (ColdFusion)، و.jsp (JSP)، و.php (PHP). يهدف هذا الإعداد الافتراضي إلى التأكد من أن Dreamweaver لا يقوم عن طريق الخطأ بتعديل أي تعليمات برمجية موجودة في علامات غير HTML. يمكنك تغيير سلوك إعادة الكتابة الافتراضي لبرنامج Dreamweaver بحيث تتم إعادة كتابة تعليمات HTML البرمجية عند فتح هذه الملفات، ويمكنك إضافة أنواع ملفات أخرى إلى قائمة أنواع الملفات التي يحظر Dreamweaver إعادة كتابتها.
عند إدخال أحرف خاصة معينة في عارض الخصائص، يقوم Dreamweaver بتشفيرها إلى قيم رقمية. بشكل عام، من الأفضل السماح لـ Dreamweaver بإجراء هذا الترميز لأنه من المرجح أن يتم عرض هذه الأحرف الخاصة بشكل أفضل عبر الأنظمة الأساسية والمتصفحات المختلفة. ومع ذلك، نظرًا لأن هذا الترميز يؤثر على علامات الجهات الخارجية، فقد تحتاج إلى تغيير سلوك ترميز Dreamweaver عندما تقوم بتحرير الملفات التي تتضمن علامات الجهات الخارجية.
السماح لبرنامج Dreamweaver بإعادة كتابة HTML في المزيد من أنواع الملفات:
1. حدد تحرير > التفضيلات في خيارات القائمة، ثم حدد عمود "إعادة كتابة التعليمات البرمجية"
2. اختر أيًا مما يلي:
· تصحيح العلامات المتداخلة غير القانونية أو العلامات التي لا تنتهي · حذف علامات الإغلاق الزائدة عن الحاجة
3. قم بأحد الإجراءات التالية:
· قم بإزالة واحد أو أكثر من امتدادات الملفات من القائمة "عدم إعادة كتابة التعليمات البرمجية مطلقًا: في الملفات ذات الامتدادات".
· قم بإلغاء تحديد الخيار "عدم إعادة كتابة التعليمات البرمجية مطلقًا: في الملفات ذات الامتدادات". الرجاء ملاحظة: يتيح هذا لبرنامج Dreamweaver إعادة كتابة تعليمات HTML البرمجية في أي نوع من الملفات.
قم بإضافة أنواع الملفات التي يحظر Dreamweaver إعادة كتابتها:
1. حدد Edit > Preferences في خيارات القائمة، ثم حدد العمود "Code Rewriting"
2. اختر أيًا مما يلي:
· تصحيح العلامات المتداخلة غير القانونية أو العلامات التي لا تنتهي · حذف علامات الإغلاق الزائدة عن الحاجة
3. تأكد من تحديد العنصر "عدم إعادة كتابة التعليمات البرمجية مطلقًا: في الملفات ذات الامتدادات" وأضف امتداد الملف الجديد إلى القائمة في مربع النص.
إذا لم يظهر نوع الملف الجديد في القائمة المنبثقة لمربع الحوار File > Open، فقد تحتاج إلى إضافته إلى المجلد Configuration/Extensions.txt. للحصول على التفاصيل، راجع تغيير نوع الملف الافتراضي.
قم بإيقاف تشغيل خيارات البرمجة الخاصة بـ Dreamweaver:
1. حدد Edit > Preferences في خيارات القائمة، ثم حدد العمود "Code Rewrite"
2. قم بإلغاء أي من خياري "تشفير الأحرف الخاصة".
للحصول على معلومات إضافية حول تحديد تفضيلات Code Rewrite، راجع استخدام Dreamweaver.