الخميس، 31 مارس 2011

كيف يمكن استخدام ملفات المصادر الخاصة باللغة في ملفات تخطيط الصفحات


تعتبر ملفات تخطي الصفحات Page Layouts أحد العناصر الأساسية في عملية إنشاء الصفحات في المواقع التي يتم بناؤها باستخدام تقنية شيربوينت, ويتيح شيربوينت عملية إضافة ونشر ملفات تخطيط الصفحات باستخدام الميزات Features, وهذه الملفات تحتوي العديد من العناصر التي تفيد في عرض البيانات وتحديد طريقة عرضها وترتيبها, إضافة إلى احتوائها على مناطق لأجزاء الويب Web Part Zones, وهذه المناطق تفيد في عملية إضافة أجزاء ويب إلى الصفحات التي يتم إنشاؤها اعتماداً على ملف تخطيط صفحة معين مثل "صورة إلى اليمين ArticleRight.aspx" أو "صفحة أجزاء ويب BlankWebPartPage.aspx" وغيرها من أنواع الصفحات الافتراضية أو الإضافية التي يتم تخصيصها على حسب المشروع, ومن المعلوم أن لكل منطقة أجزاء ويب عنوان Title يُستخدم لإعطاء وصف واضح لمدخلي البيانات والمستخدمين الذين يتعاملون مع الصفحات في الموقع أثناء تحريرها, ومن المعلوم عند إنشاء مواقع ثنائية اللغة يجب الحرص على عرض النصوص بحسب اللغة التي يختاره المستخدم فمثلاً منطقة أجزاء الويب التي عنوانها في الإصدار العربي هو "المنطقة 1" يجب أن يكون العنوان في الإصدار الانجليزي هو "Title 1" وهكذا, وهنا سنركز على هذه النقطة فيما يخص بناء ملفات مصادر اللغة وكيفية نشرها واستخدامها. بالنسبة للأدوات المستخدمة فهي بيئة التطوير المتكاملة 2010 Visual Studio وبرنامج SharePoint Designer 2010 والاعتماد على تقنية الميزات Features لتنفيذ جميع عمليات النشر المرتبطة بملفات مخططات الصفحات وملفات مصادر اللغة.

أولاً يجب بناء مشروع جديد باستخدام القالب Empty SharePoint Project كما هو واضح في الشكل التالي:



الشاشة التالية تحدد عنوان URL مجموعة المواقع التي سيتم نشر الميزة الجديدة عليها, حدد العنوان المناسب حسب البيئة التي تستخدمها وباقي الخيارات كما في الشكل التالي:



بعد إنشاء المشروع الجديد يجب إضافة عنصر Element يحتوي على مخطط الصفحة كما في الخطوات التالية المبينة فيما يلي:





بالنسبة لإضافة مخطط صفحة Page Layouts يمكن نسخ صفحة من SharePoint Designer 2010 وإضافتها داخل العنصر PageLyouts الذي تم إنشاؤه في الخطة السابقة, ولنفترض تم نسخ الملف BlankWebPartPage.aspx الافتراضي في شيربوينت 2010 SharePoint مع تغيير اسمه إلى CustomBlankWebPart.aspx:



الآن يجب إضافة الشيفرة التالية إلى الملف Elements.xml ال موجود ضمن PageLaouts وذلك لنشر الملف الجديد باستخدام الميزة المرتبطة بالمشروع:



أما بالنسبة للقيمة التي سيتم وضعها مكان VALUE_HERE فيجب إدخال القيمة التالية كما هو بالضبط:

;#صفحة;#0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF39;#

يجب الملاحظة بأنه يمكن استخدام نوع محتوى آخر غير صفحة, مثل صفحة المقالة أو أي نوع محتوى آخر عندها يجب تغيير اسم نوع المحتوى ورقمه في القيمة السابقة.

الآن يجب إضافة ملفات مصادر اللغة Resources files إلى المشروع بحيث يتم نشر هذه الملفات إلى المجلد App_GlobalResources الموجود ضمن مجلد تطبيق الويب في المسار التالي:

C:\inetpub\wwwroot\wss\VirtualDirectories

ومن أجل تحقيق هذا الهدف يجب إضافة عنصر فارغ Empty Elements ومن ثم تضاف ملفات المصدر إليه باللغات التي نريد التعامل معها:





بعد إضافة ملف مصدر اللغة العربية أضف مفتاح لقيمة جديدة كما يلي:
  • المفتاح: CustomBlankWebPart_TopZone
  • القيمة: تجربة

انسخ الملف العربي وغير اسمه إلى LocalizePageLayoutsResources.en-US.resx ومن ثم انسخ الملف العربي وغير اسمه إلى LocalizePageLayoutsResources.resx ليكون الشكل التالي:



بعد إضافة جميع المتطلبات يجب تعدل ملف تخطيط الصفحة CustomBlankWebPartPahe.aspx لاستخدام مفتاح القيمة الجديد حيث يتم استبدال القيمة Resources:cms,WebPartZoneTitle_Header بالقيمة Resources:LocalizePageLayoutsResources,CustomBlankWebPart_TopZone.

بالنسبة لملفات المصادر حتى يتم نشرها إلى المجلد App_GlobalResources يجب تنفيذ ما يلي:



جميع التعديلات والإضافات تم إنجازها والآن يجب تنفيذ عملية النشر من خلال تنفيذ الأمر Deploy. ومن ثم إنشاء صفحة من التخطيط CustomBlankWebPartPage.aspx كما يلي: