الجمعة، 28 ديسمبر 2012

حل خطأ allow_url_fopen


يفاجئنا هذا الخطأ allow_url_fopen بين الفينة والأخرى وخصوصا عند تثبيت جملة! لأول مرة في أحد الخطوات.. وأحياناً عند ترقية جملة! 2.5 إلى نسخة جديدة.. وهو كما تعلمون خاص بالدالة نفسها ويطلب منك تفعيلها حيث بإمكانك طلب ذلك من مستضيف موقعك.. ولكن سنحاول شرح كيفية عمل ذلك من خلال لوحة تحكم الموقع cPanel وذلك بإنشاء ملف بسيط في مجلد جملة!
لنشاهد الخطأ عند محاولة تحديث جملة! من لوحة تحكم الإدارة قبل البدء في إصلاحه:
أولاً: ندخل إلى لوحة تحكم الموقع cPanel ومنها إلى الجذر الرئيسي للموقع وهو public_html ومنها إلى مجلد إدارة جملة! وهوadministrator وهناك نقوم بإنشاء ملف من خلال القائمة الموجودة.
إضغط على ملف جديد New File  لإنشاء الملف الجديد.. كالتالي:

ثم أكتب إسم الملف.. ( php.ini ) وإضغط على إنشاء ملف جديد Create New File كالتالي:
ثانياً: قم بكتابة هذا الكود في الملف الجديد كالتالي:
allow_url_fopen = 1

ثم قم بحفظ عملك من خلال أيقونة الحفظ " حفظ التغييرات Save Changes " كالتالي:

لكم تحياتي..


ترقية جملة! 2.5 إلى جملة! 3.0


سنقدم شرحا حول عملية الترقية أو الهجرة من جملة! 2.5 إلى جملة! 3.0 بطريقة بسيطة وفي خطوات قليلة جداً وبإذن الله ستوفق بكل سهولة ويسر فقط عليك تجربتها على جملة! غير المثبتة بموقعك للتجربة كذلك قم بأخذ نسخة إحتياطية لموقعك حتى لاتفقده بسبب خطأ بسيط قد ينجم أثناء تنفيذك لهذه العملية ورغم أنها لا تسبب أي مشاكل اللهم إن كنت تستخدم أحد التطبيقات أو القوالب التي لا تتوافق مع جملة! 3.0
ملاحظة: العمل على جملة! 2.5
أولا قم بالدخول إلى الموقع الرسمي لجملة لتحميل ملف الترقية كالتالي


أو قم بتحميل ملف الترقية من جملة! 2.5 إلى جملة! 3.0 مباشرة كالتالي


ثانيا نقوم يتثبيت ملف الترقية وكأنه تطبيق لجملة!.. نذهب إلى قائمة التطبيقات كالتالي


ومنها إلى مدير التطبيقات لنقوم بتثبيته على جملة 2.5


ثم نقوم بالبحث عن ملف الترقية من خلال زر البحث وإبحث عن الملف كالتالي


ثم قم بتثبيت ملف الترقية بالطريقة الإعتيادية لتثبيت أي تطبيق آخر على جملة ثم نضغط على زر التحميل والتثبيت كالتالي


في غضون ثوان أو دقائق ستتم عملية الترقية بإذن الله بكل سهولة ثم ستجد لوحة تحكم جملة! 2.5 قد تم ترقيتها إلى جملة! 3.0  كالتالي


وأخيرا ستجد جملة! 3.0 قد أصبحت بين يديك كالتالي


كيفية عمل جملة! 2.5 متعددة اللغات Multi-lingual Joomla


كما نعلم جميعا في السابق كنا نستعمل تطبيق Joomfish لترجمة محتوى جملة! وأحيانا يلجئ البعض منا بإنشاء أكثر من جملة! بموقع واحد متعدد اللغات وهي عملية مجهدة وتأخذ الوقت الطويل.. إلا أنه مع التطور الأخير في جملة! أصبح بالأمكان الأن عمل أكثر من لغة في جملة! وبدون أي تدخل لتطبيق خارجي وهي كالتالي.
قبل العمل يجب التوضيح كمثال.. أن موقع ( جملة! ) خاصتك ذو محتوى عربي.. وبالتالي ستكون بالكامل ذو لغة عربية.. أي أن القوائم والأقسام والمحتوى كلها باللغة العربية بعد أن عربت حسب ملف اللغة العربية كاملاً كالتالي:
وبالتالي.. سنقوم بعد تجهيز جملة! للعمل على تعدد اللغات أن ننشأ قوائم وأقسام ومحتوى أو مقالات جديدة حسب اللغة الأخرى.. مثلا لو أضفت لغة أنجليزية وايطالية والمانية.. عليك بإنشاء قوائم وأقسام ومحتوى جديد أيضا باللغة ذاتها.
إن فهمت هذه النقطة تكون قد نجحت بإذن الله.

خطواط العمل:
1. العمل سيكون على جملة! 2.5.
2. بداية يجب أن تُحمل ملفات اللغات التي تود أن تضيفها لجملة!.. مثلا اللغة الإيطالية والفرنسية والألمانية والأسبانية وغيرها.. وبإمكانك تحميلهم من الموقع الرسمي لجملة! Translation Packs 2.5
3. في مثالنا هذا استخدمت اللغة الإيطالية والألمانية إلى جانب اللغة الرئيسية وهي العربية وأيضا الإنجليزية.
4. بعد إضافة اللغات المطلوبة.. نتوجه الان إلى قائمة الإضافات ومنها إلى مدير التطبيقات المساعدة كالتالي:
ومن هناك إبحث عن التالي وقم بتفعيلهما:
- لمن يستخدم اللغة العربية في لوحة الإدارة : أبحث عن ( النظام - فلترة اللغة ) وأيضاً ( النظام - كود اللغة )
- لمن يستخدم اللغة الإنجليزية في لوحة الإدارة : أبحث عن System - Language Code ) وأيضاً ( System - Language Filter)
للتوضيح أكثر :
- النظام - كود اللغة: يعني كود اللغة.. مثلا اللغة العربية ( ar-AA ) والإنجليزية ( en-GB ) والإيطالية كما مثالنا هنا ( it-IT ) والإلمانية ( de-DE ) وهي خاصية تسمح لك بتغيير الكود حسب البلد التي تريد.
- النظام - فلترة اللغة: السماح بتغيير اللغة تلقائياً حسب لفة المستخدم للواجهة
5. أدخل في التطبيق المساعد ( النظام - فلترة اللغة ) حتى نقوم ببعض التعديلات.. ستجد التالي:
حيث:
- اختيار اللغة الجديدة للزوار ستكون حسب المتصفح لديهم.
- تغيير اللغة تلقائي للزوار حسب اللغة المستخدمة لديهم.
- قائمة مجتمعة.. أي عرض اللغات المتاحة لديك في قائمة منسدلة.
- ازالة رمز اللغة من الرابط.. شرط تفعيل الروابط الصديقة من لوحة تحكم جملة! SEF.
- تعديل وسم الميتا تاق.. اضافة وسوم لعناصر القائمة المعروضة.

6. نتوجه إلى قائمة الإضافات ومنها إلى مدير اللغات.. كالتالي:
ومن هناك توجه إلى قائمة ( لغات المحتوى ) أو ( Content  ) لكي نقوم بإدراج اللغات بجملة!.. كالتالي:

ستجد اللغة الإنجليزية هي اللغة الوحيدة الموجودة هناك.. لهذا سنقوم بإدراج اللغات التي نريدها مثل اللغة العربية والإيطالية والألمانية كما في مثالنا هذا.. كالتالي:
من القائمة العليا نختار جديد.. كالتالي:
ثم نقوم بكتابة بيانات محتوى اللغة العربية واللغات الأخرى في مثالنا هذا كالتالي:
حيث:
- الإسم: اسم اللغة.. سيكون كالتالي.. العربية (AR)  أو Arabic (AR).
- الإسم الأصلي: إسم اللغة الأصلية..  وسيكون كالتالي.. العربية (AR)  أو Arabic (AR).
- رمز اللغة: سيتم اضافة هذا الرمو لعنوان أو رابط الموقع.. مثلا هنا رمز اللغة العربية هو ( ar ) لهذا فسيكون رابط الموقع الذي يحتوي اللغة العربية كالتالي.. www.arabjoomla.com/ar في حال تم تفعيل الروابطالصديقة ( SEF ) من لوحة تحكم جملة!.. أو سيكون الرابط كالتالي.. &lang=ar وكذلك الحال لبقية اللغات.
- بادئة الصورة: وهي خاصة بعرض صورة علم الدولة الخاص باللغة بالموقع.. كما إنه يجب أن يكون اسم الصورة نابع من رمز اللغة.. مثلا اللغة العربية رمزها ( ar ) لهذا سيكون اسم الصورة ar.gif وملف الصور الخاصة بالأعلام والـ ( CSS ) سيكون في/media/mod_languages.
- كود اللغة: كتابة كود اللغة الرسمي.. بالنسبة للغة العربية فهو ( ar-AA ).
- الحالة. يجب أن تكون منشور.. أي مفعل.
- مستوى الوصول.. ستعرض لأي مستوى.. يفضل أن تكون عام أو Public.
- الوصف: بإمكاتك كتابة وصف للغة مثلا.. اللغة العربية.

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

ومن الفائمة العليا أختر جديد New لنقوم بإنشاء قسم جديد.. كالتالي:
ثم نقوم بكتابة بيانات الصفحة الرئيسية للقسم الإنجليزي على سبيل المثال Home.. كالثالي:
حيث:
- الإسم : إسم الصفحة حسب اللغة.. مثلا القسم الإنجليزي.
- الإسم المستعار: الإسم الذي سيكون مختصر للرابط عند تفعيل الروابط الصديقة SEF.
- الأصل: يمكن تركه كما هو حيث أن هذا القسم رئيسي وليس فرعي.
- الحالة: منشور أي مفعل.
- مستوى الوصول: يفضل أن يكون عام إذا كان القسم عام Public.
- الترخيص: للتحكم بترخيص القسم حسب المجموعات أو المشرفين.
اللغة: هنا تختار لغة المحتوى أو المقالات التي ستضعها به.. في حالتنا أخترنا اللغة الإنجليزية.
رقم التعريف: هو رقم خاص وغير مكرر للإستفادة منه في ملف CSS أو بعض التطبيقات الأخرى.

كما شاهدتم قمنا بإنشاء قسم خاص باللغة الإنجليزية وأخترنا له لغة أنجليزية.. في حال كنت ستستخدم لغة أخرى مثلا اللغة الإيطالية والألمانية إلى جانب اللغة العربية.. عليك أن تقوم بإنشاء أقسام لهم تماما كما فعلنا قبل قليل.. كالتالي:
9. نقوم الأن بإنشاء قوائم حسب كل لغة.. بمعنى سنقوم بإنشاء قوائم جديدة حسب الموجود لديك.. مثلا بموقعي لدي ( القائمة الرئيسية والقائمة الأخرى والقائمة العليا ) وهكذا.. بحيث نجعل كل قائمة حسب اللغة التي نريدها أن تتغير عند تغير لغة المحتوى.. كالتالي:
من القائمة ( القوائم ) نذهب إلى مدير القوائم ثم إلى إضافة قائمة جديدة.. كالتالي:
ثم نقوم بكتابة إسم القائمة حسب اللغة الجديدة.. لنختر لغة عربية.. كالتالي:
ومن القائمة العليا قم بحفظ عملك من خلال زر حفظ.. حتى نتحصل على القوائم التالية وهي خاصة باللغات ( العربية، الإنجليزية، الألمانية والإيطالية ):
نقوم أيضا بإنشاء عنصر للصفحة الرئيسية لكل قائمة وهي ( الرئيسية أو Home ).. نذهب إلى قائمة القوائم.. ومنها إلى القائمة المراد انشاء عنصر لها وليكن القائمة العربية.. ثم أختر إضافة عنصر قائمة جديد.. كالتالي:
ثم نقوم بكتابة بيانات العنصر الجديد كالتالي:
حيث:
- نوع عنصر القائمة: اضغط على ( تحديد ) المجاور لها.. وأختر ( مجموعة كمدونة ).
- إسم القائمة: أكتب إسم القائمة حسب اللغة الخاصة بها.
- الإسم المستعار: أكتب الإسم الذي سيعرض عند تفعيل الروابط الصديقة SEF.
- الحالة: يجب أن يكون منشور.
- الصفحة الإفتراضية: أختر نعم.
- اللغة: أختر اللغة الخاصة بها.. مثلا العربية.

ومن القائمة اليسرى.. قم بإختيار القسم الذي أنشاءته قبل قليل حسب اللغة.. كالتالي:
أيضا قم بتعيين عرض المقالات بالرئيسية وذلك حسب المقالات الافتتاحية والمقدمة والأعمدة والروابط من قائمة خيارات تصميم المدونة.. كالتالي:
وهناك العديد من الخيارات بإمكانك استكشافهم واختيار مايناسبك.. وبعد حفظ عملك من خلال زر حفظ بالقائمة العليا.. ستشاهد العنصر الجديد وقد ظهر إلى جانبه العلم الخاص به واللغة كالتالي:
بعد أن تنتهي من هذه العملية ستجد أن القوائم الجديدة قد تم وضع علم اللغة الخاص به بجانبه في قائمة القوائم.. كالتالي:
10. نتوحه الأن إلى قائمة الإضافات ومنها إلى مدير المديولات.. ثم ابحث عن Language Switcher وقم بتفعيله أو أنقر عليه حتى نقوم بتغيير بعد الاعدادات به كالتالي:
من القائمة اليمنى.. بإمكانك تغيير إسم المديول هذا حسب اللغة الإفتراضية لجملة! أو أن تخفيه.. ولا تنسى أن تختار المكان الذي ستضعه به على القالب وذلك من خلال الموضع.. والأهم أن تختار خيار اللغة إلى ( الجميع ) حتى يعمل لدى اللغات كافة.. كالتالي:
كما عليك أن تحدد على القوائم التي سيتم عرض لغتها عبر محول اللغات.. أو قم بإختيار تحديد الكل كافضل خيار.. كالتالي:
ومن القائمة اليسرى.. بإمكانك كتابة نص لاختيار اللغة ونص يظهر بعد الأعلام.. أو تركه فارغاً حتى يظهر بطريقة أفضل..  إلى جانب اختيار لطريقة عرض اللغات كقائمة منسدلة أو كصور.. فأختر ماتشاء.. كالتالي:
وإذا تصفحت الصفحة الرئيسية لجملة! الأن ستشاهد الأ‘علام الخاصة باللغات جاهزة كالتالي:
وإذا اردت أن تجعل اللغات في قائمة منسدلة قم بتغيير الخيار إلى نعم عند خانة ( استعمال قائمة منسدلة ) من مديول Language Switcher كما ذكرنا بالصور ماقبل السابقة.. فتكون النتيجة كالتالي:
مع ملاحظة.. أنه عند اختيارك للغة العربية فإن رابط الصفحة الرئيسية لها سيكون كالتالي وكذلك لبقية اللغات حسب الرمز الخاص بها:
اللغة العربية: index.php/ar
اللغة الإنجليزية: index.php/en
اللغة الإيطالية: index.php/it
اللغة الإلمانية: index.php/de

11. الان نقوم بكتابة المقالات وتنسيقها كل حسب قسمها ولغتها.. من قائمة المحتويات ومنها إلى مدير المقالات ثم إضافة مقال جديد.. كالتالي:
طبعا كالمعتاد نقوم بتعبئة الخانات الخاصة بعنوان المقال والقسم.. غير أن هذه المرة علينا أن نختار قسم المقال ولغة المقال.. كالتالي:
في الصورة السابقة قمت بكتابة مقال باللغة العربية.. لهذا أخترت المجموعة العربية واللغة العربية.. كذلك هو الحال لبقية المقالات واللغات الخاصة بها.. وهكذا حتى تضع كافة المقالات في اقسامها وحسب لغتها.
12. تبقى لنا القوائم الجانبية ومايتبعها من مديولات فقط.. حيث يجب أن ننشا قوائم وعناصر جديدة حسب اللغات التي لدينا لبعض المديولات مثل ( تسجيل الدخول - آخر الأخبار - أخبار سريعة - تصويت.. وغيرها )
مثلا سأنشأ قائمة جانبية تحتوي على العناصر التالية ( الرئيسية، حول جملة!، دروس، قوالب )
لإنشاء القائمة الرئيسية:
- نذهب إلى قائمة القوائم ومنها إلى قائمة اللغة المراد عمل لها قائمة رئيسية ولتكن اللغة الإيطالية.. كالتالي:
من القائمة العليا نختار جديد.. فيظهر لنا التالي:
ثم نقوم بتعبئة الخيارات كالتالي:
- نوع عنصر القائمة: أنقر ( تحديد ) وأختر من القائمة المنبثقة ( مقال مفرد ) وأبحث عن المقال المراد ربطه بهذا العنصر.. كما يمكنك اختيار ماتشاء لتصميم موقعك.. كالتالي:
- اسم القائمة: إسم القائمة باللغة الإيطالية.
- الإسم المستعار: كما قلنا هو الاسم الذي سيظهر عند تفعيل SEF.
- اللغة: أختر اللغة الإيطالية.
ومن القائمة اليسرى أختر المقال المراد ربطه بهذه القائمة من خلال زر ( اختيار/تغيير ) كالتالي:
وبعد أن ننشأ العناصر المطلوبة.. نذهب إلى قائمة الإضافات ثم إلى مدير المديولات كالتالي:
ومن هناك ننشأ مديول جديد من القائمة العليا وذلك بالنقر على ( جديد ) ثم من القائمة المنبثقة نختار ( القائمة ) كالتالي:
ثم نقوم بتعبئة البيانات الخاصة بالمديول باللغة الإيطالية على أن لاتنسى أن تختار اللغة الإيطالية كالتالي:

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