اذهب إلى المحتوى

Mostafa Amaan

الأعضاء
  • المساهمات

    29
  • تاريخ الانضمام

  • تاريخ آخر زيارة

2 متابعين

المعلومات الشخصية

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

آخر الزوار

1921 زيارة للملف الشخصي

إنجازات Mostafa Amaan

عضو مساهم

عضو مساهم (2/3)

8

السمعة بالموقع

  1. عند إنشاء موقع ويب هناك العديد من العوامل التي يجب مراعاتها جيدًا، ومن بين هذه العوامل ضرورة جعل الموقع سهل الاستخدام لجميع الأشخاص، بغض النظر عن قدراتهم و إعاقاتهم، وهنا تأتي أهمية تطبيق مبادئ سهولة الوصول لموقع الويب. إذًا ما هي بالضبط سهولة الوصول لموقع الويب؟ في الواقع، سهولة الوصول لموقع الويب هي عبارة عن مجموعة من الممارسات التي تضمن توفير نفس فرص الوصول إلى المواقع للأشخاص ذوي الاحتياجات الخاصة. بمعنى آخر: يتمكن هؤلاء الأشخاص من الاستفادة من السلع والخدمات التي تقدمها تلك المواقع بنفس القدر المتاح للآخرين، لذا لا يمكن تجاهل حقيقة أن سهولة الوصول لموقع الويب تشكل جزءًا لا يتجزأ من عملية تصميم وتطوير المواقع باحترافية. سنقدم في هذه المقالة 15 من أبرز الممارسات التي تعمل على تعزيز سهولة الوصول لموقع الويب، سوف تغطي هذه الممارسات الشائعة عدة جوانب مختلفة، مثل: تصميم واجهة المستخدم السهلة، وتوفير الوصول للمحتوى الصوتي والبصري، وضمان التوافق مع متصفحات الويب المختلفة، وغيرها الكثير. لماذا يجب أن تهتم بسهولة الوصول؟ هناك العديد من الأسباب التي تجعل المطورين والمصممين وأصحاب العمل/ العملاء يولون اهتمامًا لسهولة الوصول لضمان أنها تشكل جزءًا مبكرًا ومتكاملًا من عملية تطوير الويب، ومن ضمن تلك الأسباب ما يلي: في العديد من المناطق مثل الولايات المتحدة الأمريكية والاتحاد الأوروبي والمملكة المتحدة واليابان، يُعَد عدم التمييز ضد الأشخاص بسبب إعاقتهم مطلبًا قانونيًا، ففي الولايات المتحدة مثلًا، رُفعت 2235 دعوى قضائية جديدة بموجب قانون الإعاقة في عام 2019 بالمحكمة الفيدرالية، وهو ما يعادل متوسط دعوى قضائية واحدة في الساعة. المواقع التي يمكن الوصول إليها، عادةً ما تكون مكتوبة بشيفرة برمجية مُحسنة وأكثر قوة، مما يجعلها تحظى بتصنيف جيد على محركات البحث. المواقع التي يصعب الوصول إليها تُعد ضارة للأعمال التجارية، ففي دراسة استقصائية أُجريت في المملكة المتحدة عام 2019، وُجِد أن أكثر من 4 ملايين شخص تخلى عن موقع ويب للبيع بالتجزئة بسبب العوائق التي واجهوها في الوصول إلى الموقع. إبعاد العملاء المحتملين طوعًا بسبب صعوبة الوصول يُعَد أمرًا سيئًا من الناحية التجارية. الأخطاء الأكثر شيوعا في أهم مليون صفحة رئيسية بعد دراسة العوائق الرئيسية التي تواجه مواقع التجارة الإلكترونية التي أُبلِغ عنها من قِبَل المستخدمين الذين يواجهون بعض الصعوبات، بالإضافة إلى مجموعة كبيرة من المواقع (وهي الصفحات الرئيسية لأفضل مليون موقع) التي حُلِّلَت تلقائيًا بواسطة WebAIM في أغسطس 2019، تبين أن 98٪ من تلك الصفحات المُحللة تحتوي على خطأ واحد على الأقل. ومن بين تلك الأخطاء الأكثر شيوعًا ما يلي: نص منخفض التباين (86.1٪). نص بديل مفقود للصور (67.9٪). روابط فارغة (58.9٪). تسميات إدخال النموذج مفقودة (53.2٪). لغة المستند المفقودة (30.5٪). سنتعرف فيما يلي على كيفية تجنب الأخطاء الشائعة الأخرى. كيفية تحسين سهولة الوصول إلى موقع الويب - أفضل 15 ممارسة توجد قائمة مرجعية تشمل أفضل 15 ممارسة لتحسين الوصول إلى مواقع الويب، وتهدف هذه الممارسات إلى التغلب على العقبات الرئيسية التي يواجهها الأشخاص ذوو الاحتياجات الخاصة، مع تقديم اقتراحات عملية لحل تلك المشكلات. لكن قبل كل شيء، يجب ملاحظة أن أيًا من أهم خمسة مشاكل تقنية تُعَد أخطاءً في التصميم أو في كتابة النصوص. 1. الكثير من المحتوى من المعروف أنه مع زيادة عدد الاختيارات يزداد الجهد المطلوب لجمع المعلومات لاتخاذ قرارات جيدة، إنه نفس الشيء عندما يتوافر الكثير من المحتوى، فسرعان ما يصبح ساحقًا. ولتسهيل قراءة وفهم المحتوى، يمكن اتباع الممارسات التالية في تصميم الويب: استخدام عنوان رئيسي واحد فقط <h1> على الصفحة. استخدام العناوين الفرعية بحرية لكسر "الرتابة" في النَص وتسهيل قراءة المحتوى للمستخدمين المبصرين؛ بينما يمكن لمستخدمي التقنيات المساعدة مثل قارئات الشاشة استخدام مفاتيح مختصرة للانتقال بين العناوين، أو الحصول على خريطة ذهنية للمحتوى من خلال ترتيب العناوين. الحفاظ على تسلسل العناوين عند استخدام العناوين الفرعية، يجب التأكد من أنها تتبع تسلسل صحيح. على سبيل المثال، إذا كنت تستخدم العنوان الفرعي <h3>، فتأكد من أنه مسبوق بالعنوان الفرعي <h2>. استخدام القوائم ذات التعداد النقطي التي كُتبت شيفرتها بطريقة صحيحة في HTML بهذا الشكل <ul> ،<li> لتوضيح قوائم المحتوى، فهذا يتيح لبرامج قراءة الشاشة إعلام المستخدمين بوجود "قائمة تحتوي على 10 عناصر" ويسمح لهم بالانتقال خلالها أو تخطيها بسهولة. استخدام اللغة البسيطة يسلط دليل Our tone of voice الذي أصدره بنك مونزو الضوء على أهمية استخدام اللغة الواضحة، يمكن تلخيصه فيما يلي: في عام 2010، أجرى المحامي الأمريكي شون فلامر تجربة حيث طلب من 800 قاضي محكمة أن يقفوا إلى جانب حجة قانونية تقليدية أو إلى جانب نسخة بلغة إنجليزية بسيطة. فَضَّل الحكام بالغالبية العظمى النسخة البسيطة من اللغة الإنجليزية بنسبة 66٪ مقابل 34٪، وكان هذا التفضيل ساريًا بغض النظر عن أعمارهم أو خلفياتهم. وفي ملاحظات فلامر عن النسخة البسيطة من اللغة الإنجليزية لوحِظ ما يلي: كانت النسخة البسيطة أقصر تقريبًا بصفحة واحدة، مما يوضح أنها تقلل من الجمل والكلمات غير الضرورية، وكان متوسط عدد الكلمات في الجملة يبلغ 17.8 كلمة، بينما كان المتوسط 25.2 كلمة في النسخة التقليدية. نتيجةً لذلك، إذا كنت ترغب في إرضاء القارئ، فاستخدم لغة إنجليزية بسيطة. 2. اختبار ReCAPTCHA يُعَد اختبار ReCAPTCHA الذي تقدمه شركة Google حلًا مجانيًا لحماية مواقع الويب من البريد العشوائي، وتهدف هذه الخدمة إلى أن يكون حلًا سهلًا للبشر وصعبًا على الروبوتات والبرامج الضارة الأخرى. ومع ذلك، كان هناك العديد من المستخدمين يعانون من بعض المشاكل مع إصدار ReCAPTCHA القديم. لحسن الحظ، أصبح نمط الحروف المتذبذبة لـ reCAPTCHA مهملاً الآن. أما في الوقت الحالي، يُعَد النمط الأكثر شيوعًا هو "No CAPTCHA reCAPTCHA" والمعروف أيضًا باسم مربع الاختيار "أنا لست روبوتًا"، إذ يُطلب من المستخدمين تحديد مربع يؤكد أنهم ليسوا روبوتًا، فإذا نجحوا في تجاوزه فلن تكون هناك حاجة لأي تفاعل إضافي؛ أما إذا فشلوا في تجاوزه، فسوف يُعرض لهم تحدي جديد. ومن إحدى أشكال reCAPTCHA المتاحة وقابلة للوصول، هي reCAPTCHA v3، والتي لا تتطلب أي تفاعل من المستخدم، ولكنها تتطلب جهودًا إضافية للتعامل مع الزيارات التي تفشل في الاختبار. يُعَد اختبار reCAPTCHA v3 واجهة برمجة تطبيقات مبنية بالكامل بلغة البرمجة JavaScript، إذ تُرجع نتيجةً تمكّنك من اتخاذ إجراءات في سياق موقعك، ومن بين تلك الإجراءات الممكنة: طلب عوامل مصادقة إضافية، أو إرسال إشعار للمشرف، أو تقييد أنشطة الروبوتات التي قد تنفذ عملية Scraping أو سحب للمحتوى؛ فباستخدام اختبار reCAPTCHA v3، يمكنك تعزيز مستوى الحماية وتعزيز التحقق من الهوية في موقعك دون أن تتسبب في إزعاج المستخدمين أو طلب إجراءات معقدة. 3. الافتقار للمقروئية كي تتماشى الفقرات مع بعضها البعض، يجب اتباع بعض الممارسات لجعل النص سهل القراءة. يجب ضمان تباين كافٍ بين النص والخلفية، إذ يُعَد سوء التباين واحدًا من أكبر عوائق الوصول على الويب، لذلك تتطلب توجيهات منظمة W3C نسبة تباين لا تقل عن 4.5:1، باستثناء النصوص ذات الحجم الكبير والصور التي تحتوي على نصوص ذات حجم كبير، والتي يجب أن تكون لها نسبة تباين لا تقل عن 3:1 (باستثناء الشعارات والنصوص "المحضة")، ويتوفر العديد من الأدوات التي يمكن استخدامها لقياس نسب التباين، مثل أداة قياس التباين التي طورتها Ada Rose Cannon. في حال كان المحتوى باللغة الإنجليزية، يجب عليك تجنب استخدام الأحرف الكبيرة لكتابة العناوين بالكامل، إذ هناك أدلة تشير إلى أنها أكثر صعوبةً في القراءة نظرًا لصعوبة تمييز شكل الأحرف والكلمات المشتركة عندما تكون الأحرف الكبيرة بنفس الارتفاع. بالإضافة إلى ذلك، قد يتهجى بعض قُراء الشاشة الأحرف الكبيرة كما لو كانت اختصارات، فإذا كنت بحاجة لاستخدام الأحرف الكبيرة في العناوين، يُفضل كتابتها بالأحرف الصغيرة في HTML ثم تحويلها إلى أحرف كبيرة باستخدام CSS من خلال هذه الشيفرة text-transform: uppercase. يجب محاذاة النص إلى اليمين (أو اليسار في حالة اللغات الأجنبية) وتجنب عمل Justify أو تمليس للنص، مما يجعل القراءة أكثر صعوبةً بالنسبة للأشخاص ذوي الصعوبات في القراءة، مثل عسر القراءة، لذلك يوصي دليل أسلوب الجمعية البريطانية لعسر القراءة باستخدام خطوط بدون سواريف، مثل: Arial و Comic Sans، إذ تظهر الحروف بشكل أقل كثافة. مع ذلك يمكن الاستعانة بخطوط بديلة، مثل: Verdana و Tahoma و Century Gothic و Trebuchet و Calibri و Open Sans. 4. الصور والرسومات المُشتتة يتطلب المستوى الأساسي لإرشادات الوصول إلى محتوى الويب WCAG لأي معلومات تتحرك أو تومض أو تمرر وتحتوي على ما يلي: تبدأ تلقائيًا. تستمر لأكثر من خمس ثوانٍ. تُعرض جنبًا إلى جنب مع محتوى آخر. في هذه الحالة يجب توفير آلية تتيح للمستخدم إيقافها مؤقتًا، أو إيقاف تشغيلها، أو إخفائها، ما لم يكن الحركة أو الوميض أو التمرير جزءًا من نشاط ضروري، فالتشتيت يُعد أمرًا مزعجًا، خاصةً بالنسبة للأشخاص الذين يعانون من اضطراب نقص الانتباه وفرط الحركة ADHD أو مشاكل التفكير الأخرى، ونظرًا لأن الحركة والوميض قد يسببان نوبات صرع، فحسب إرشادات الوصول إلى محتوى الويب WCAG، أن يجب ألا يومض المحتوى أكثر من ثلاث مرات خلال فترة زمنية تدوم لمدة ثانية واحدة. احترام اختيار المستخدم بشأن الرسوم المتحركة يُعَد توفر جميع أنظمة التشغيل الرئيسية خيارًا للمستخدمين للتعبير عن تفضيلهم لتقليل الحركة على الشاشة، وذلك بسبب اضطراب طيف الجهاز الدماغي البليغ الذي يمكن أن ينتج عن الحركة، ويمكن لموقع الويب الخاص بك اكتشاف ما إذا فَعَّل المستخدم هذا الاختيار باستخدام استعلام تقليل الحركة في CSS باستخدام هذه الشيفرة prefers-reduced-motion. وفي هذا السياق، نسمح فقط بتحريك الزر إذا لم يعبر المستخدم عن أي تفضيل بشأن الحركة: @media (prefers-reduced-motion: no-preference) { button { /* `vibrate` keyframes are defined elsewhere */ animation: vibrate 0.3s linear infinite both; } } وفي حال كنت تبحث عن تعديل موقع يحتوي على العديد من قواعد الرسوم المتحركة، فقد يؤدي ما يلي إلى إيقاف جميع رسوم CSS المتحركة المعلنة مسبقًا: @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.001s !important; transition-duration: 0.001s !important; scroll-behavior: auto !important; } } كما يسمح لنا عنصر HTML للصورة picture element بعرض صورة ثابتة بدلًا من صورة متحركة GIF للمستخدمين الذين يعبرون عن تفضيل تقليل الحركة. <picture> <source srcset="no-motion.jpg" media="(prefers-reduced-motion: reduce)"> <img srcset="animated.gif" alt="brick wall"> </picture> أيضًا، فيما يتعلق بموضوع احترام تفضيلات نظام التشغيل للمستخدم، قد ترغب في التفكير في تصميم موقع الويب الخاص بك للوضع المظلم. 5. معلومات غير كافية حول الروابط غالبًا ما يكون أحد أسباب ضعف المعلومات المتعلقة بالروابط ناتجًا عن سوء كتابة النص، فمعظم قارئات الشاشة تسمح للمستخدم بعرض قائمة سريعة للروابط الموجودة في الصفحة، إذ يمكن استخدام اختصار لوحة المفاتيح Ins + F7 لعرض قائمة سريعة للروابط في قارئات الشاشة التجارية الشهيرة JAWS، أما في قارئ الشاشة NVDA المجاني فيمكن عرض قائمة الروابط والعناوين والعلامات بنفس اختصار لوحة المفاتيح. ومع ذلك، إذا كان كل رابط يحتوي على نص يقول "انقر هنا" أو "اقرأ المزيد"، دون وجود أي عنصر آخر يمكن تمييز الرابط به، فإن هذا لا يوفر الفائدة المطلوبة. وأحد الطرائق السهلة لحل هذه المشكلة هو ببساطة كتابة نصوص فريدة للروابط؛ وإذا لم يكن ذلك ممكنًا، فيمكن استخدام السمة aria-label الفريدة على كل رابط لتجاوز النص المرئي للتقنيات المساعدة. وإليك مثال جيد من موقع جوملا يوضح ذلك. ففي المثال السابق سوف تلاحظ أن نص الرابط المرئي ببساطة هو "اقرأ المزيد"، ولكن Joomla تستخدم السمة aria-label لجعل كل رابط فريدًا بالنسبة للتقنيات المساعدة. <a href="joomla-group-2-president-election-results.html" aria-label="Read more: Joomla Group 2 - President election results">Read more</a> <a href="forum-for-the-future-re-engage-re-ignite-stream.html" aria-label="Read more: Forum for the Future: Re-Engage &amp; Re-Ignite Stream">Read more</a> ونظرًا لأن النص الموجود في السمة aria-label سوف يُستخدم عوض نص الرابط بواسطة التقنيات المساعدة، توصي W3C ببدء النص المستخدم في السمة aria-label بالنص المستخدم داخل الرابط، حيث "سيتيح ذلك بالتواصل المتسق بين المستخدمين". <a href="results.html" title="click here to read more about the election results">Read more></a> ويرجع السبب في عدم فعل ذلك، إلى أن معظم برامج قراءة الشاشة لا تعرض محتوى السمة title لاعتياد المطورون على حشوها بكلمات رئيسية لأغراض "تحسين محركات البحث"، لذلك يعطلها بائعو برامج قراءة الشاشة افتراضيًا، كما تقدم المتصفحات محتوى السمة title على أنها "تلميحات" تكون متاحة فقط لمستخدمي الفأرة عند عمل تحويم hover عليها بالفأرة. ينبغي أن تُعرَض الروابط على هيئة روابط افتراضيًا، تُسَطَّر الروابط في المتصفحات، لذلك من الأفضل عدم تغيير هذا الوضع، لكن إذا كان هناك خلاف مع المصمم حول هذه المسألة، فيجب توفير نسبة تباين بنسبة 3:1 بين نص الرابط والنص المحيط به الذي ليس رابطًا، كما يجب أن يوفر الرابط بعض المؤشرات غير اللونية التي تشير إلى أنه رابط، مثل: تغير الشكل عند تحويم مؤشر الفأرة فوقه أو التركيز عليه. على سبيل المثال: a:hover, a:focus {text-decoration: underline;} فعندما يركز المستخدم على الرابط باستخدام وسائل أخرى غير الفأرة، مثل: لوحة المفاتيح أو القلم الضوئي أو الإدخال الصوتي، فسيُطبق نمط التركيز Focus Style لجعل الرابط يظهر بخط تحتي أو مُسَطَّر، وبوجهٍ عام ينبغي تطبيق تأثير التحويم Hover Style في أي مكان على الصفحة. كما يجب أيضًا تطبيق تأثير التركيز Focus Style. فمن خلال "التصميم غير اللوني" الذي في حالتنا هو الخط التحتي أو التسطير، نضمن أن الزوار ذوي الرؤية المحدودة أو صعوبة في التمييز بين الألوان يمكنهم ملاحظة التغيير عند التحويم أو التركيز على التص. علاوةً على ذلك، فإن قارئات الشاشة تعلن تلقائيًا عن "الرابط" قبل الوصول إلى نص الرابط. أخبر الزوار إذا كان الرابط يفتح في علامة تبويب/ صفحة جديدة يمكن أن يسبب فتح رابط في علامة تبويب أو نافذة جديدة للزائر بعض الارتباك، خاصةً إذا كان هذا النمط مقتصرًا على بعض الروابط فقط في الصفحة مثل: فتح الروابط الخارجية في علامة تبويب جديدة، وفي حالة وجود هذا النمط بموقعك الإلكتروني، يجب أن تنبه المستخدم إما من خلال نَص الرابط نفسه أو باستخدام السمة aria-label كما بالمثال التالي: <a href="عنوان الرابط" aria-label="فتح الرابط في علامة تبويب جديدة" target="_blank">النص الخاص بالرابط</a> أخبر الزوار إذا كان الرابط يؤدي إلى ملف إذا كان الرابط يؤدي إلى ملف (مثل ملف PDF أو فيديو)، فمن الضروري إبلاغ الزوار بذلك عن طريق وضع تنبيه في نَص الرابط نفسه من خلال السمة aria-label؛ فعدم إخفاء هذه المعلومة قد يكون مفيدًا أيضًا للعديد من المستخدمين القادرين على الرؤية. على سبيل المثال، بعض الهواتف المحمولة قد لا تدعم فتح ملف بصيغة "docx."، وفي حالة إذا كان الملف كبيرًا، فمن الجيد أن تفكّر في إبلاغ المستخدم بالحجم التقريبي له، فقد يُفضل بعض المستخدمين عدم تنزيل ملف فيديو ضخم عبر شبكة الجيل الثالث (3G). ولتنفيذ ذلك يمكنك استخدام السمة download، والتي تتسبب في فتح مربع حوار نظام التشغيل لتنزيل الملف في المتصفح، وبوضع كل ذلك معًا، ستبدو الشيفرة البرمجية كما يلي: <a href="big-report.pdf" download>Annual report (PDF, 240 MB)</a> 6. خطأ آخر في التصميم: إزالة حلقة التركيز لقد ذكرنا سابقًا أن سمة التركيز focus: هي مؤشر بصري لا يقدر بثمن لأولئك الذين لا يستطيعون استخدام الفأرة لأي سبب من الأسباب، مثل الذين يعانون من متلازمة تكرار إجهاد اليد (RSI) أو مرض باركنسون أو التصلب المتعدد، ومع ذلك يرى بعض الأشخاص أن استخدام الفأرة وظهور حلقة التركيز أمرًا غير جمالي ثم يوقفونه باستخدام CSS، مما يؤدي إلى عدم قدرة المستخدمين الذين يعتمدون على لوحة المفاتيح على الوصول إلى الموقع. ولحل هذه المشكلة، قُدِّمَت سمة جديدة تُسمى focus-visible: التي قَدَّم متصفح فايرفوكس الدعم الأول لها. تُضيف هذه السمة تأثير تركيز على العنصر عند الوصول إليه باستخدام لوحة المفاتيح أو جهاز تأشير غير الفأرة، بينما لا يظهر أي شيء للمستخدمين الذين يستخدمون الفأرة للتأشير. ونظرًا لاحتمالية عدم دعم المتصفح الذي تستخدمه لتلك السمة، يقترح علينا باتريك لاوكي استخدام شيفرة CSS التالية للتعامل بشكل جيد مع جميع المتصفحات: button:focus { /* some exciting button focus styles */ } button:focus:not(:focus-visible) { /* undo all the above focused button styles if the button has focus but the browser wouldn't normally show default focus styles */ } button:focus-visible { /* some even *more* exciting button focus styles */ } 7. ملء النموذج نظرًا للأهمية الحيوية للنماذج في مواقع التجارة الإلكترونية، فمن المدهش وجود عدد كبير من النماذج غير المتاحة للوصول إليها، وغالبًا ما يحدث ذلك بسبب عدم تنسيق عناصر النموذج بطريقة صحيحة في المتصفحات القديمة، لذلك شَرَعَ المطورون بإنشاء عناصر نموذج مزيفة باستخدام سمات HTML أخرى، لكن في المقابل تتيح المتصفحات الحديثة إمكانية إنشاء نماذج تحتوي على مربعات اختيار جذابة، وأزرار اختيار متعددة، ومكونات تحديد مخصصة، ومربعات تحرير وسرد، وعناصر تحكم الإكمال التلقائي التي يمكن الوصول إليها، وغيرها الكثير. الملء التلقائي هو صديقك تتيح إمكانية تعبئة النماذج تلقائيًا Autofill في المتصفحات للزوار بتنفيذ مهام أقل، مما يزيد من احتمالية استكمال النموذج وإتمام عملية التسجيل أو الشراء لمنتجك، وبهذا الصدد توجد مقالة رائعة بعنوان "Autofill on Browsers: A Deep Dive" مُقدَّمة من eBay تتحدث بأسلوب مفصل عن هذا الموضوع (ويجب التنويه عنها ليتعرف عليها الجميع). علاوةً على ذلك، تُعد التكملة التلقائية Autocomplete الطريقة الأمثل المعتمدة حاليًا لتحقيق امتثال AA لمعيار النجاح 1.3.5: تحديد غرض المدخلات. جعل حقول النماذج تبدو كحقول النماذج افتراضيًا، تظهر حقول إدخال النماذج على شكل مربعات في المتصفحات، ويمكن تنسيقها باستخدام الهوامش والحواف والجوانب، ولكن يُفضل الاحتفاظ بها كمربعات، ففي الماضي اتبع العديد من المصممين نمط تصميم Material Design السابق لشركة جوجل قبل عام 2017، وهو تصميم يستخدم خطًا واحدًا لإدخال النص من قِبَل المستخدم. ومع ذلك، اكتشفت جوجل أن الخط الموجود أسفل حقول النص القديمة ليس واضحًا بما فيه الكفاية لبعض المستخدمين، وأنه يسبب الالتباس مع عنصر التقسيم Divider، وبناءً على ذلك غَيَّرت جوجل التصميم. وفي اختبارات استخدامية مع مشاركة 600 شخص، اتضح أن الحقول المحاطة بشكل مربع أداءها أفضل من تلك التي تحتوي على خط؛ فإذا كنت تفكر في استخدام مكتبة تصميم واجهة المستخدم الكاملة لـ Material Design المقدمة من جوجل، فينصح بقراءة المقالة "Stop using Material Design text fields!" لمعرفة ما إذا كانت تلبي احتياجاتك. ضع تسمية على جميع حقول النموذج يجب وضع تسمية على جميع حقول النموذج، بما في ذلك: إدخالات النص مربعات الاختيار أزرار الاختيار أشرطة التمرير وما إلى ذلك وأفضل طريقة لفعل ذلك هي استخدام العنصر <label> بلغة HTML. وفيما يلي عرض توضيحي لحقل نموذج غير موسوم وحقل نموذج موسوم، فالحقلان يبدوان متطابقين ولكن الحقل الأول ليس لديه تسمية في حين أن الحقل الثاني يحمل تسمية. انقر الآن على تسمية النص للحقل الثاني وستلاحظ أن التركيز يتحول إلى الحقل ذي الصلة أو المرتبط به. يسهل هذا التركيز على إدخال البيانات بالنسبة لأولئك الذين يعانون من صعوبات في التحكم الحركي، ويكون مفيدًا أيضًا عندما تحاول التحقق من خانة اختيار صغيرة على شاشة صغيرة وأنت في قطار هزاز. إضافةً إلى ذلك، فإن هذا أمر بالغ الأهمية لمستخدمي قارئ الشاشة الذين يتنقلون بين حقول النموذج (افتراضيًا، فقط الروابط وحقول النموذج يمكن تركيزها باستخدام المفتاح Tab)، فعند الانتقال إلى حقل الإدخال سيعلن قارئ الشاشة محتوى التسمية المرتبطة به. والشيفرة البرمجية لتحقيق ذلك بسيطة، فقط نحتاج إلى تعيين معرف فريد لكل حقل إدخال، ثم ربط التسمية به باستخدام السمة for. <label for="colour">What's your favourite colour?</label> <input id="colour"> إخفاء التسميات قد يحدث أحيانًا أن لا ترغب في وجود تسمية مرئية، أو قد لا يرغب المصمم في ذلك وأنت لا ترغب في وجود خلاف معه حول هذه المسألة. على أي حال، إليك مثالًا عندما تبدو التسمية التي تقول "بحث" قبل الإدخال وكأنها مبالغة. ويمكننا ربط حقل الإدخال بنص "بحث" وهو محتوى زر الإرسال، وذلك باستخدام السمة :aria-labelledby. <input type="text" aria-labelledby="searchbutton"> <button id="searchbutton" type="submit">Search</button> وكان بالإمكان استخدام السمة aria-label التي تعرفنا عليها سابقًا عند الحديث عن الروابط: <input type="text" aria-label="Search"> ومع ذلك، يُفضل دائمًا استخدام النص المرئي على الصفحة عن استخدام النص المخفي، فالنَص المرئي يمكن ترجمته عبر أدوات الترجمة، بينما النص "المخفي" في سمات HTML لن يُترجم، وتلك النصيحة أشار إليها أدريان روزيلي في مقاله My Priority of Methods for Labeling a Control. 8. توفير بدائل نصية لجميع الصور والفيديوهات والصوتيات يجب توفير بدائل نصية لجميع الصور والفيديوهات والصوتيات على مواقع الويب، ويتضمن ذلك إضافة "نص بديل" في عناصر الصورة <img> يمكن أن يكون مفهومًا للأشخاص ذوي المشاكل البصرية أو لأولئك الذين يواجهون صعوبات في عرض الصور أو لديهم قيود في استهلاك البيانات، ما جعلهم يوقفون تحميل الصور في المتصفحات الخاصة بهم؛ كما يجب أن يشمل ذلك الصور التي تحتوي على نص. وإليك بعض القواعد الأساسية: إذا كانت الصورة الغرض منها مجرد الزخرفة، يجب أن يكون النص البديل فارغًا:""=alt (ولكن من الأفضل أن تستخدم الصور الزخرفية في CSS بدلًا من ذلك). إذا وُصِفَت الصورة في نَص الصفحة، فيجب أن يكون النص البديل فارغًا (""=alt) لتجنب التكرار، ولكن توخ الحذر إذا كانت الصورة <img> داخل <figure>، وهنا يرجى الاطلاع على المقالة ?How do you figure لمزيد من التفاصيل. إذا كانت الصورة تمثل الرابط بذاته (مثال: شعار المؤسسة الذي يمكن النقر عليه للعودة إلى الصفحة الرئيسية)، فيجب أن يوضح النص البديل وجهة الرابط، مثال: "alt="home page". لا تستخدم خطوط الرموز الأيقونية فقد تكون صعبةً جدًا للأشخاص ذوي صعوبات في القراءة، فإذا ما قررت استخدامها، يُفضل تحويلها إلى تنسيق SVG. نص بديل للفيديو والصوت يجب أن لا ننس أهمية توفير نصوص بديلة للمحتوى الصوتي حتى يتمكن الأشخاص ذوو المشاكل السمعية من الاستفادة منه، وهذا يشمل توفير نصوص للبودكاست وترجمة الشرائط النصية للفيديوهات، وإذا كان الأمر مناسبًا للوسائط الخاصة بك، فيجب توفير الوصف الصوتي لها، وهو عبارة عن رواية توفر المعلومات المحيطة بالعناصر البصرية الرئيسية في الوسائط. ومرةً أخرى، يجب تجنب تشغيل الوسائط تلقائيًا، حيث يتعذر على الأشخاص ذوي الاحتياجات الخاصة بالاستفادة منها بشكل كافٍ. 9. أضف لغة الصفحة الصحيحة تُعاني حوالي 30% من صفحات البداية من عدم إعلان اللغة التي استُخدمت في كتابة المحتوى الخاص بها، مما يمكن أن يسبب الارتباك لمستخدمي قارئ الشاشة، ويُعد هذا أمرًا هامًا، فكلمة "six" مثلًا تُنطق بشكل مختلف بناءً على اللغة المستخدمة. لكن من السهل حل هذه المشكلة عن طريق إضافة السمة lang إلى عنصر HTML الخاص بك كما يلي: <html lang="en"> القيمة "ar" تُخبر قارئ الشاشة أو برنامج الترجمة أن هذه الصفحة باللغة العربية، بينما "en" تعني الإنجليزية و"es" تعني الإسبانية، وهكذا. وبالنسبة لمعظم اللغات، يُعَد تحديد اللغة سهل التنفيذ، ويتوفر لدى W3C دليل لاختيار علامة اللغة المناسبة. وفي حال كانت الصفحة تحتوي على محتوى بلغة أخرى غير اللغة الرئيسية المُعلنة، يمكنك إضافة سمة اللغة إلى العنصر الذي يحتوي على ذلك المحتوى، فعلى سبيل المثال: في صفحة وُسِمَت بأن تكون باللغة الإنجليزية: If you'd like to chat a <span lang="es">matador</span>, in some cool <span lang="es">cabana</span> And meet <span lang="es">senoritas</span> by the score, <span lang="es">Espana por favor</span> 10. ساعد الزائر على التنقل في محتواك عندما يأتي الزائر المبصر إلى صفحتك يمكنه مسحها بصريًا بسهولة لفهم أين توجد أماكن التنقل وأين يبدأ المحتوى الرئيسي، لكن لا يمكن للمستخدمين الذين يعتمدون على قارئ الشاشة أن يفعلوا ذلك. مع ذلك، لحسن الحظ تتيح لنا تقنيات HTML5 بعض العلامات الجديدة التي تساعدنا على تمييز هذه المناطق، بالإضافة إلى توفير اختصارات للانتقال إليها أو تجاوزها، ولتنفيذ ذلك يُنصح باتباع الإرشادات التالية: غَلِّف المحتوى الرئيسي، أي المحتوى الذي ليس رأس الصفحة أو التنقل الأساسي أو التذييل في العنصر <main>، ففي معظم الحالات يجب أن يكون هناك عنصر <main> واحد فقط في كل صفحة، وتسمح لك جميع المتصفحات (+IE9) بتنسيقه؛ كما تعرف التقنيات المساعدة كيفية التعامل معه. غَلِّف الرأس، ضع شعار العلامة التجارية، وشريط العناوين، وعنوان الصفحة داخل العنصر <header>. غَلِّف الذيل، ضع المعلومات القانونية، وبيانات الاتصال، وإشعار حقوق التأليف والنشر، وما إلى ذلك داخل العنصر <footer>. مَيِّز الملاحة الأساسية باستخدام العنصر <ul> مغلفًا داخل العنصر <nav>، ويمكنك تضمين هذا العنصر داخل العنصر <header> إذا كان ذلك مناسبًا لتصميم صفحتك. غَلِّف الإعلانات والمحتوى غير الأساسي داخل العنصر <aside>. إذا كانت لديك عدة منتجات أو فيديوهات أو أخبار أو مقالات في الصفحة، فغَلِّف كل واحدة منها داخل العنصر <article>. في استطلاع لمستخدمي قارئ الشاشة أجْرَته WebAIM، وُجد أن 26% منهم يستخدمون هذه المناطق باستمرار أثناء تصفح الصفحة. وبالإضافة إلى ذلك، يساعد تغليف الأجزاء المميزة من المحتوى داخل العنصر <article> على عرض المحتوى بطريقة مثالية على نظام التشغيل WatchOS الخاص بشركة Apple. 11. استخدام HTML بطريقة صحيحة هناك نهج اتبعناه في هذه المقالة وهو استخدام عناصر HTML الصحيحة، فعلى سبيل المثال: يحتوي العنصر label على سلوك متصفح مضمن يركز على حقل الإدخال المرتبط به، كما يُفضل استخدام العنصر <main> على العنصر <div class =" main"> لأنه يسمح لمستخدمي قارئ الشاشة بالانتقال مباشرة إلى المحتوى المهم، مع كونه غير مزعج تمامًا لأولئك الذين لا يستخدمون قارئ الشاشة. وإليك مثال آخر عن استخدام العنصر <button> للأزرار؛ فبدلًا من التحايل لإنشاء زر غير حقيقي باستخدام العنصر <div>، وكتابة الكثير من أسطر الشيفرة البرمجية المتداخلة لجلب سلوكيات الزر لهذا العنصر، والتي تجعل شيفرتك البرمجية أكثر هشاشة وأقل قابلية للصيانة، يمكنك عوض ذلك خلال العنصر <button> تصميم زر حقيقي مضمن به سلوكيات الزر افتراضيًا والتحكم في حجمه ليبدو أكبر أو أصغر كما تريد، كما يتميز هذا العنصر في أنه افتراضيًا يسمح بالتركيز على الزر الحقيقي باستخدام لوحة المفاتيح، بالتالي يمكن تنشيطه باستخدام مفتاح شريط المسافة أو مفتاح Enter. 12. التفاعلات المعقدة في بعض الأحيان قد يُطلب منك تطوير واجهات مستخدم معقدة تفتقر إلى العناصر الأساسية الموجودة في HTML. أولاً وقبل كل شيء، ينبغي أن تبحث عن طرائق لتبسيط هذه الواجهات لتجعلها تتماشى مع العناصر الأساسية في HTML، وفي حال كان ذلك غير ممكن فسيلزمك الدخول إلى العالم الغامض لـ JavaScript و ARIA. ومن حُسن حظنا أن دليل ممارسات WAI-ARIA يوفر العديد من الأمثلة المفيدة لتصميم واجهات يمكن الوصول إليها، مثل: العرض الشجري وشرائط التمرير المتعددة الاتجاهات وغيرها. بطبيعة الحال، أنت لست بحاجة لإعادة اختراع العجلة من جديد، إذ يمكنك الاستفادة من تلك الأمثلة المتاحة؛ مع ذلك يجب عليك الانتباه إلى أن ليست جميع تلك الأمثلة جيدة للاستخدام، فعلى الرغم مما تَنُص عليه الإرشادات، من الجيد تجنب استخدام قوائم ARIA للتنقل داخل الموقع، كما لا ينبغي عليك استخدام الخطيط الشبكي لـ ARIA إلا إذا كنت تهدف إلى إعادة إنشاء جدول بيانات Excel. 13. أُطُر العمل Frameworks في الوقت الحالي, تُستخدم أُطُر العمل مثل React و Vue بازدياد في إنشاء صفحات الويب. ورغم أن أُطُر العمل هذه لا تمنع الوصول إليها، إلا أنه في كثير من الأحيان تُختار مكونات لم تُكتب باستخدام علامات HTML الصحيحة، كما أنها لم تُختبر باستخدام التقنيات المساعدة. لكن لا يجب أن يكون الأمر على هذا النحو، إذ يقول ماركوس هيرمان: "لدي انطباع بأن المزيد والمزيد من أنظمة مكونات React المصممة مع وضع سهولة الوصول في الاعتبار آخذة في الظهور". أما فيما يتعلق بإطار العمل React، فهناك خيارات واعدة: تُعد مكتبة Reakit خيارًا يتبع بدقة معايير WAI-ARIA 1.1، فجميع المكونات تأتي مع السمات الصحيحة والتفاعلات التي يمكن التحكم بها عبر لوحة المفاتيح. اختُبرت مكتبة Reach UI باستخدام Safari و VoiceOver و Firefox و NVDA و Edge و JAWS، وعندما ينضج هذا المشروع سوف تُجرى له عملية تدقيق بواسطة WebAIM للتأكد من قابليته للوصول، لذا إذا اخترت استخدام مكتبة Reach UI، فإن تطبيقك سيكون له أساس قوي وقابل للوصول. وفيما يتعلق بإطار العمل Vue: تتبع مكتبة Vuetensils ممارسات WAI-ARIA لإتاحة سهولة الوصول، بما في ذلك الدلالات النصية وسمات ARIA والأدوار وغيرها. تُعد مكتبة Tournant UI ومكتبة Vue a11y مشروعين صغيرين، ولكنهما ينموان. وبالإضافة إلى ما سبق، فقد نشر بنك ING مكتبته الداخلية للمكونات كمشروع يُسمى Lion، والتي يمكن استخدامها مع أي إطار عمل (أو بدونه)، فهي مكتبة مكونات مفتوحة المصدر وغير مرتبطة بأي إطار عمل، ويمكن أن تكون الأساس لنظام التصميم الداخلي الخاص بك، بُنيت هذه المكتبة من الصفر لتمكين الوصول والقدرة على التوسعة، حيث تُعد تلك الأمور صعبة التغيير أو التحقق منها في وقت لاحق خلال عملية التطوير. لكن على الرغم مع ذلك، يجب عليك دائمًا إجراء مراجعة خاصة بالبرمجيات المقدمة من أطراف ثالثة. فعلى الرغم من أن مكتبة أو أداة معينة قد تكون شائعة الاستخدام، إلا أن ذلك لا يعني بالضرورة أنها تدعم قابلية للوصول. ولمساعدتك في هذا الصدد، كتب Adrian Roselli وثيقةً هامةً تحتوي على متطلبات أساسية للتحكم المخصص يمكنك استعمالها لتقييم أي مكتبة مكونات تفكر في استخدامها. 14. أنظمة إدارة المحتوى ومُنشئي المواقع تمتلك أنظمة إدارة المحتوى مفتوحة المصدر الرئيسية، مثل: ووردبريس و جوملا و دروبال، القدرة على إنتاج مواقع قابلة للوصول، على الرغم من أن الجودة تعتمد بشكل كبير على اختيار منشئ الموقع لقوالب وملحقات قابلة للوصول؛ أما بالنسبة لمُنشئي المواقع المستضافة، فيُنصح بتجنب خدمة Weebly لوجود بعض القيود لديهم على سهولة الوصول. أما بالنسبة لخدمة Squarespace وخدمة Wix، فهما قادران على إنشاء مواقع قابلة للوصول، ومع ذلك يجب عليك أن تتطلع إلى تحقيق هذا الأمر لأنه لن يحدث من تلقاء نفسه. 15. مستندات PDF على الرغم من أن مستندات PDF ليست قائمةً على تقنية الويب، إلا أنها تُستخدم في العديد من الأحيان لعرض تلك المستندات عبر صفحات الويب. فوفقًا لشركة Adobe، فإن العديد من الميزات الموجودة في تنسيقات HTML، مثل: النص البديل للصور، والتسميات لعناصر التحكم في النموذج، والعناوين الخاصة بالبيانات المجدولة، وتسلسل المحتوى ذي المعنى والمنطقي؛ كلها مدعومة بالكامل من خلال مواصفات PDF، وبفضل ذلك يستطيع مستخدمو التقنيات المساعدة الشائعة الاستفادة من أدواتهم المفضلة والوصول إلى المعلومات الموجودة في مستندات PDF. يمكنك إنشاء مستندات PDF يمكن الوصول إليها من خلال علامات أو وسوم HTML و CSS، وذلك باستخدام مكتبة تدعى Prince، والتي يمكن الاستفادة بها مجانًا للاستخدام غير التجاري. استمر في اختبار سهولة الوصول إلى موقع الويب تُعَد عملية اختبار سهولة الوصول لموقع الويب جزءًا أساسيًا من عملية التطوير، لذلك ينبغي عليك تنفيذها باستمرار قبل نشر الموقع على الويب، ويمكنك إعداد خطة اختبار بسيطة لضمان توافر المحتوى لجميع الأفراد، وتلك الخطة البسيطة يمكن أن تشمل النقاط التالية: التحقق من صحة تنسيق HTML الخاص بك. اختبار تباين الألوان. هل يمكنك التنقل في أرجاء الصفحة باستخدام لوحة المفاتيح فقط ومعرفة مكان التركيز في الصفحة؟ هل يمكنك ملء النماذج وإرسالها باستخدام لوحة المفاتيح فقط؟ اربط صفحات موقعك مع ملف revenge.css الخاص بـ Heydon Pickering الذي يعرض مربعات أخطاء باللون الوردي (مع رسائل بخط Comic Sans) في كل مكان تكتب فيه HTML غير صحيح، (لا تقلق، لن تنسى إزالته قبل نشر الصفحة على الويب). يمكنك أيضًا الاستفادة من مدقق معايير الوصول الخاص بها، كما يمكنك استخدام أدوات مثل: أداة Google Lighthouse وهي متوفرة أيضًا كامتداد لمتصفح فايرفوكس، وأداة Tenon.io التي يمكن أن تساعدك في هذه العملية. ومع ذلك، ينبغي مراعاة أن أدوات التحقق الآلي ليست موثوقة كليًا، إذ أنها لا تتمكن من كشف جميع العوامل المؤثرة في سهولة الوصول، وذلك استنادًا إلى المقالة بناء أكثر المواقع التي يتعذر الوصول إليها مع تقييم Lighthouse مثالي التي توضح أن أي أداة آلية لا يمكن الاعتماد عليها كليًا. بالتالي، فإن أفضل طريقة لاختبار سهولة الوصول لموقعك هي اختباره بمساعدة أشخاص حقيقيين من ذوي الاحتياجات الخاصة المختلفة، وقد قدم بيتر فان غريكن قائمة مفيدة للنظر فيها أثناء إجراء اختبارات الاستخدام مع هؤلاء الأشخاص، سوف تساعدك في تحسين سهولة الوصول لموقعك وتلبية احتياجات جميع المستخدمين. خاتمة في ختام هذه المقالة، تبين لنا أهمية سهولة الوصول إلى مواقع الويب وتصميمها بما يلبي احتياجات الأشخاص ذوي الاحتياجات الخاصة، فمن خلال اعتماد مجموعة من أفضل الممارسات، يمكننا تحسين تجربة المستخدم لجميع الأفراد وتوفير فرص متساوية للوصول إلى المعلومات والموارد عبر الإنترنت. ونظرًا لتنوع احتياجات المستخدمين ذوي الاحتياجات الخاصة، فإنه من الضروري أن نستخدم أدوات اختبار الوصول ونتعاون مع الأشخاص ذوي الاحتياجات الخاصة في عمليات الاختبار والتقييم، ويجب أن نتعلم من تجاربهم ونأخذ بالحسبان احتياجاتهم الفردية وتوجهاتهم لتصميم واجهات مستخدم يمكن الوصول إليها. وبتطبيقك لأفضل الممارسات لسهولة الوصول ليس مجرد احتياج أخلاقي، بل يعود بالفائدة على الموقع نفسه وأصحابه، فمن خلال جعل المواقع متاحة لجميع الأشخاص، نزيد من فرص الوصول إلى المحتوى والمنتجات، وبالتالي نوسع قاعدة المستخدمين ونعزز سمعة الموقع والعلامة التجارية. إذاً، لندمج سهولة الوصول في عملية تطوير وتصميم مواقع الويب، ولنلتزم بتطبيق أفضل الممارسات المذكورة في هذه المقالة، فهي خطوة مهمة نحو تحقيق شمولية الويب وتوفير فرص متساوية للجميع في الوصول إلى العالم الرقمي. ترجمة -بتصرف- للمقال Website Accessibility (15 Best Practices). اقرأ أيضًا إمكانية الوصول لإتاحة سهولة الاستخدام للجميع الفرق بين إمكانية الوصول والشمولية في تصميم تجربة المستخدم الاحتياجات الاجتماعية لإمكانية الوصول في تصميم تجربة المستخدم كيفية إنشاء مواقع تراعي إمكانية الوصول باستخدام مبادئ التصميم الشامل
  2. إن عملية تطور الإنترنت وازدهاره المستمر قد أحدث ثورة في عالم الاتصالات وتبادل المعلومات، لكن ماذا عن الأشخاص الذين يواجهون صعوبة في الاستفادة من هذه التكنولوجيا الحديثة؟ هل فكرت يومًا في كيفية جعل موقع الويب الخاص بك يكون متاحًا للمكفوفين وضعاف البصر؟ يُعَد توفير إمكانية الوصول لهذه الفئة المهمة من المستخدمين ضرورة حتمية في عصرنا الرقمي الحالي، فجعل موقع الويب الخاص بك قابلًا للوصول للمكفوفين وضعاف البصر ليس مجرد مسألة فنية، بل هو تعبير حقيقي عن التسامح والاحترام وتمكين الجميع للاستفادة من فوائد العالم الرقمي. في هذه المقالة، ستكتشف كيف يمكن لتغييرات صغيرة في تصميم موقعك أن تحقق فرقًا كبيرًا في حياة الأشخاص الذين يواجهون صعوبات بصرية، لذا هيا بنا نسعى لجعل الويب مكانًا أكثر شمولية وتوازنًا، حيث يتمكن الجميع من الاستفادة. العوامل التي يجب توافرها في موقعك هناك بعض العوامل الرئيسية عندما يتعلق الأمر بإمكانية الوصول إلى الويب لذوي المشاكل البصرية، ولكي يكون موقع الويب متاحًا لهم، معناها يجب أن يتوافر به ما يلي: قابل للإدراك: يجب أن يكون الأشخاص قادرين على فهم المعلومات الموجودة على موقعك، وبقدر ما قد يبدو هذا واضحًا لكن غالبًا ما يُهمل هذا المبدأ في تطوير الويب. فعلى سبيل المثال، لا يستطيع المكفوفون إدراك المعلومات المرئية مثل الرسومات والتخطيط. قابل للتشغيل: لا يمكن أن تطلب واجهة موقع الويب من المستخدمين اتخاذ أي إجراء لا يمكنهم تنفيذه، إذ يستخدم بعض الأشخاص ضعاف البصر مثلًا أجهزة تَكَيُّفية تُحاكي لوحات المفاتيح من حيث الوظائف، لذلك يجب ألا يَطلب موقع الويب الخاص بك من المستخدمين استخدام الفأرة، بل من الهام إتاحة الوصول إلى محتوى الويب عبر لوحة المفاتيح. قابل للفهم: ينبغي أن يتسم المحتوى بالسهولة في المتابعة والفهم بالنسبة لجميع المستخدمين، لذلك يجب أن يكون المحتوى بسيطًا وواضحًا قدر المستطاع، مع مراعاة أن هناك مستخدمين قد لا يكونون قادرين على فهم الجُمل المعقدة بسبب إعاقات التعلم أو الإدراك. قابل للتكامل: يجب أن يكون المحتوى متوافقًا مع التقنيات والأجهزة المساعدة التي يستخدمها الأشخاص ضعاف البصر. أفضل الممارسات لإتاحة إمكانية الوصول لذوي المشاكل البصرية عندما يتعلق الأمر بتوفير إمكانية الوصول للأشخاص ضعاف البصر على مواقع الويب، تتبنى بعض المواقع فكرة إنشاء إصدار منفصل مخصص لمستخدمي الشاشات الصوتية من ذوي المشاكل البصرية، ومع ذلك فإن هذا النهج ليس دائمًا الأفضل ما لم تُحدَّث هذه النسخة بانتظام. يُقترح إنشاء إصدار منفصل فقط في حالات معينة، مثل عدم فعالية الأساليب التي ذكرناها سابقًا لجعل موقع الويب الأصلي متاحًا للأشخاص ضعاف البصر، أو إذا كان بإمكانك تحديث الإصدار المنفصل للموقع الأصلي بانتظام، أو إذا كان الهدف الرئيسي هو استهداف الأشخاص ذوي المشاكل البصرية وتقديم أفضل تجربة مستخدم ممكنة لهم. وفي معظم الحالات، يمكنك اعتماد أفضل الممارسات التالية لجعل موقع الويب الخاص بك متاحًا للمكفوفين وضعاف البصر عمومًا. توفير ما يكفي من تباين الألوان يُعَد توفر تباين كافٍ في الألوان أمرًا حاسمًا في تصميم المواقع، لذلك استخدم التباين العالي بين لون الخلفية والنص، فهو أمر هام خاصةً للمستخدمين الذين يعانون من عمى الألوان. وكحد أدنى، يجب أن تفي في التصميم بمتطلبات WCAG 2.0، والتي تتطلب نسبة تباين 4.5: 1 للنص العادي و 3.1: 1 للنص الكبير، كما يُعد النص الكبير خطًا من 14 أو 18 نقطة أو نصًا غامقًا. ويمكنك استخدام أداة مثل Colorzilla للتحقق من قيمة أي عنصر، كما يمكنك أيضًا استخدام أدوات التحقق من تباين الألوان المتوفرة التي تتحقق من مدى التوافق مع هذا المعيار. ونظرًا لأن العديد من المستخدمين الذين يعانون من ضعف البصر يميزون النص من خلال تحديده بالفأرة كخدعة لزيادة التباين، فتجنب استخدام تقنيات JavaScript أو CSS التي تمنع المستخدمين من تحديد النص بواسطة الفأرة. وكنصيحة أخيرة، لا تستخدم أنماط خلفية مزدحمة أو عليها علامات مائية قد يصعب قراءتها أو تشتت انتباه بعض المستخدمين. الحد من اللون وعدم الاعتماد عليه يمكن أن يؤدي استخدام الكثير من الألوان إلى تشتيت الانتباه والتشويش، كما يمكن أيضًا أن يجعل من الصعب على المستخدمين تحديد العناصر المهمة، لذا حاول تحديد عدد الألوان التي تستخدمها. وبالنسبة للأشخاص المصابين بعمى الألوان، من المهم ألا تعتمد على اللون وحده لنقل المعلومات (مثل: "انقر على الزر الأحمر")، وفي حالة إن احتجت إلى عمل ذلك فالتزم ببعض الألوان فقط، وحاول ألا تستخدم اللون الأخضر مع الأحمر أو الأحمر على الأخضر لتجنب إرباك المستخدمين الذين يعانون من عمى الألوان. تجنب النص فوق صور الخلفية غالبًا ما تؤدي إضافة نص فوق صور الخلفية إلى حدوث مشكلة، حيث قد لا تحتوي الصورة على تباين كافٍ مع لون النص، وفي حالة ما لم تتأكد من وجود تباين كافٍ باستخدام أدوات عبر الإنترنت لاختبار ذلك، فتجنب استخدام النص فوق صور الخلفية تمامًا. وفي حالة إن احتجت إلى استخدام النص فوق صور الخلفية، فتأكد من استخدام الألوان الصحيحة وتأكد أيضًا من وجود تباين كافٍ حتى يسهل قراءة النص، حتى بالنسبة للمستخدمين الذين يعانون من عمى الألوان. تمكين ضبط حجم الخط يدويا إمكانية تعديل حجم الخط يدويًا هو أحد العوامل الهامة في تحقيق إمكانية الوصول على الويب للأشخاص ذوي المشاكل البصرية، وبما أنه لا يوجد حجم مثالي للخط، ينبغي أن يكون لديك صفحات قابلة للتكيف تسمح للمستخدمين بضبط حجم الخط وفق احتياجاتهم. ومع ذلك يجب أن يكون حجم الخط الافتراضي كبيرًا بما فيه الكفاية (على الأقل 10 نقاط) حتى لا يكون الأغلبية مضطرة لضبطه يدويًا. وفي حالة إن كان معظم زوار موقعك من كبار السن أو ضعاف البصر، فيجب زيادة حجم الخط الافتراضي والنظر في إضافة زر لتحميل حجم خط أكبر. والأخير، يجب التأكد من عدم تعطل تنسيق المحتوى عند تغيير حجم الخط فقط، حيث قد يؤدي ذلك إلى تداخل النص مع المحتوى المجاور وجعله غير مقروء. إعطاء الأولوية للمعلومات المهمة يُعَد وجود المحتوى الأكثر أهميةً في الجزء العلوي من الصفحة أمرًا جيدًا لجميع المستخدمين ومحركات البحث أيضًا، كما أنها مفيدة خاصةً للأشخاص الذين يستخدمون التكنولوجيا المساعدة، والذين يمكنهم أن يقرروا بسرعة ما إذا كانت الصفحة ستتضمن المعلومات التي يبحثون عنها أم لا. فسواءً كان المحتوى مقالة لمدوَّنة أو صفحة لمُنتَج، فقط تأكد من وصف المحتوى بإيجاز وتضمين المعلومات الأكثر أهمية في البداية. اجعل موقع الويب الخاص بك قابلا للوصول من خلال لوحة المفاتيح فقط نظرًا لأن بعض المستخدمين الذين يعانون من مشاكل بصرية يعتمدون على لوحات المفاتيح وحدها للتنقل عبر الويب، فمن المهم أن تسمح باختصارات وأوامر لوحة المفاتيح لتسهيل التنقل في موقعك. وعلى العموم، لا تجعل الأجهزة مثل الفأرة مطلبًا أساسيًا للوصول إلى موقع الويب الخاص بك. على سبيل المثال، عندما يَشْرَعْ المستخدمون بملء نموذج الاتصال، سيستخدم أولئك الذين يعتمدون على لوحة المفاتيح زر "Tab" للتنقل بين الحقول، ولتوفير تجربة مستخدم جيدة لهم، ينبغي عليك استخدام السمة "tabindex" لتحديد الترتيب الصحيح للحقول التي ينبغي اتباعها. الحد من عدد الروابط من أجل توفير تجربة مستخدم جيدة يُنصح بتقليل عدد الروابط على صفحات موقعك، وذلك بغض النظر عن مدى اهتمامك بإمكانية الوصول إلى الويب، إذ يمكن أن يكون وجود عدد كبير من الروابط مُحبطًا للمستخدمين؛ كما أن وجود عدد كبير جدًا من الروابط الصادرة يعد أمرًا سيئًا بالنسبة إلى مُحسّنات محرّكات البحث. ومع ذلك، يصبح تحديد الروابط ذات أهمية خاصةً عند تصميم موقع ويب يستهدف الأشخاص ذوي المشاكل البصرية، فمن خلال استخدام برامج قراءة الشاشة تُحَوَّل الروابط إلى معلومات صوتية يستمع إليها المستخدمون عند هبوطهم على الصفحة، وفي حالة وجود عدد كبير من الروابط يمكن أن يكون مربكًا وصعبًا للمستخدمين في هذه الحالة. إضافة نصا للروابط ذي صلة تحتوي بعض برامج قراءة الشاشة على وضع تنقل يجعل الأداة تقرأ جميع الروابط الموجودة على الصفحة إذا كان المستخدم يبحث عن موارد محددة، وفي هذه الحالة سيكون وجود نص رابط مثل: "انقر هنا" عديم الفائدة ومزعجًا؛ لذلك عندما يتعلق الأمر باختيار الكلمات التي ستدرج فيها روابطك، تأكد من إضافة نص يصف ماهية الصفحة المرتبطة بهذا الرابط. تقديم محتوى بديل يُعَد تقديم محتوى بديل أمرًا ضروريًا للأشخاص ذوي المشاكل البصرية الذين يعتمدون على التكنولوجيا للوصول إلى المحتوى، لذلك يصبح من المهم توفير بدائل لبعض أنواع المحتوى. ويتعيَّن عليك أن تتذكر أن برامج قراءة الشاشة تستطيع قراءة النصوص والشيفرات البرمجية فقط، لذلك لا يتسنى للمستخدمين الوصول إلى المعلومات الموجودة في الأصول البصرية، فإذا لم يتوفر نص بديل للصور فإن قارئ الشاشة سيتجاوزها، أما إذا توفر نص بديل للصور فإن قارئ الشاشة سيصف نوع المحتوى هكذا: "صورة"، ثم يقرأ النص البديل. لذا، ينبغي عليك تضمين نصوص بديلة للصور، وتوفير سمات بديلة للرسومات، ومحتوى بديل لجميع الوسائط الأخرى، مثل: الترجمة أو الوصف لمحتوى الفيديو أو الصور المتحركة؛ كما يجب أن تكون تلك البدائل مُوجزة وتصل إلى النقطة الرئيسية بسرعة، وينبغي تضمينها فقط إذا كانت المعلومات ذات أهمية. استخدام نص بديل فارغ بالنسبة للأصول المرئية غير الضرورية، قد يكون من الأفضل أن تتخطاها برامج قراءة الشاشة تمامًا، فنظرًا لأن برامج قراءة الشاشة تقرأ الشيفرات البرمجية وليس النص فقط، فقد تكون بعض العناصر مزعجة للمستخدمين ذوي المشاكل البصرية عند محاولة الوصول إلى المحتوى. على سبيل المثال، إذا كانت لديك صور زخرفية لا تضيف قيمة أو معلومات للأشخاص ذوي المشاكل البصرية، فاستخدم نصًا بديلاً فارغًا لإخبار برامج قراءة الشاشة بتخطي هذا الأصل المرئي. تنظيم المحتوى باستخدام عنوان وصفي وعناوين فرعية عند تنظيم المحتوى يجب أخذ العنوان الوصفي والعناوين الفرعية بعين الاعتبار، وذلك لأن برامج قراءة الشاشة أول ما تقرأه عندما يصل المستخدمون إلى الصفحة هو العنوان الوصفي، ومن ثَمَّ يكون لدى المستخدمين خيار الانتقال من عنوان إلى آخر؛ لذا يُنصح بجعل العنوان وصفيًا قدر الإمكان، بالإضافة إلى تضمين جدول مع عناصر <th> في الأعلى لمساعدة المستخدمين في تحديد العناوين. علاوةً على ذلك، ينبغي استخدام الأنماط الصحيحة للتنسيق باستخدام CSS وتحديد الهيكل باستخدام HTML، كما يُفضل استخدام العنصر <p> للفقرات، والعنصر <h1>، و<h2> للعناوين، والعنصر <ul>، و<ol>، و<li> للقوائم، فتلك الممارسات تساعد قُراء الشاشة في فهم هيكل المحتوى الخاص بك ونقله بكفاءة. تقليل عدد الإعلانات يمكن أن يؤدي وجود عدد كبير جدًا من الإعلانات على موقع الويب الخاص بك إلى تكوين تجربة مستخدم سيئة، خاصةً بالنسبة لمستخدمي برامج قراءة الشاشة الذين لا يمكنهم بسهولة التمييز بين هذا النوع من المحتوى والمحتوى الآخر على صفحتك. وبالنسبة للإعلانات المرئية، ضع في حسبانك نفس الممارسات المستخدمة مع الأنواع الأخرى من المحتوى المرئي (مثل إضافة نص بديل)، ولكن ينبغي أيضًا أن تضع في حسبانك وضع كلمة "إعلان" في بداية النص البديل، فبهذه الطريقة سيعرف الأشخاص ذوي المشاكل البصرية نوع المحتوى الذي وصلوا إليه ثم يمكنهم تحديد ما إذا كانوا يريدون استهلاكه أم لا. إضافة معلومات اللغة عندما يكون لموقع الويب الخاص بك جمهورًا دوليًا بالإضافة إلى محتوى مكتوب بلغات متعددة، تكون إضافة معلومات اللغة أمرًا ضروريًا. ويمكنك تحديد اللغة باستخدام الخاصية lang، وهذا يساعد الأجهزة المساعدة على التعرف على اللغة المستخدمة واستخدام قواعد النطق المناسبة لها، وعندما يتعرف قارئ الشاشة على لغة معينة، يمكنه التكيف وتقديم النص بالنطق الصحيح، وبهذه الطريقة يمكن تجنب إحداث الارتباك للمستخدمين ذوي المشاكل البصرية عندما يواجهون محتوى بلغة أجنبية. بإضافة معلومات اللغة، ستُعَزَّز إمكانية الوصول إلى المحتوى وتُحَسَّن تجربة المستخدم للأشخاص ذوي المشاكل البصرية، خاصةً الذين يعتمدون على تقنيات المساعدة للوصول إلى المحتوى عبر الويب. استخدام الأدوات الصحيحة لحسن الحظ، هناك العديد من الأدوات المجانية عبر الإنترنت التي يمكن لمصممي الويب والمطورين استخدامها للتأكد من أن موقع الويب يلبي معايير الوصول، فيما يلي بعض أكثر هذه الأدوات فائدة: يوفر موقع Color Safe اقتراحات لألوان متوافقة مع معايير الوصول، مع التركيز على معايير AA و AAA، مما يُمَكِّن مصممي الويب من تحديد مجموعات الألوان المناسبة بناءً على العناصر الموجودة في موقع الويب. يساعد محلل تباين الألوان في اكتشاف النصوص غير المتوافقة من حيث تباين الألوان، حيث يمكن للمطورين استخدام هذه الأداة للتحقق من تباين الألوان بين النصوص والخلفيات وضمان قراءتها بسهولة من قِبَل الأشخاص ذوي المشاكل البصرية. يساعد NVDA المصممين على الحصول على نظرة شاملة حول تجربة مستخدم ضعيف البصر على موقع الويب، فهذه الأداة تساعد في التأكد من أن النصوص والعناصر المرئية يمكن الوصول إليها بطريقة صحيحة ومناسبة. يُجري WebAIM’s Wave تحليل لموقع الويب ويكشف الأخطاء المحتملة في إمكانية الوصول، بحيث يمكن للمطورين استخدام هذه الأداة للتحقق من وجود أي تحديات تواجه المستخدمين ذوي الاحتياجات الخاصة وتصحيحها بطريقة فعالة. وباستخدام هذه الأدوات وغيرها، يمكن للمصممين والمطورين تحسين إمكانية الوصول لمواقعهم على الويب وضمان أَنْ يتمتع جميع المستخدمين، بغض النظر عن قدراتهم، بتجربة مريحة ومفيدة. خاتمة إن إنشاء موقع ويب متاح للجميع أمر حاسم في عالم يعتمد على الويب مع وجود أشخاص ذوي مشاكل بصرية يشكلون جزءًا كبيرًا من مستخدمي الإنترنت، لذلك تطبيق أفضل الممارسات في هذا الصدد يُعَدَّ أمرًا ضروريًا لجعل موقع الويب الخاص بك قابلًا للوصول؛ وبما أن واحدًا من كل أربعة بالغين في الولايات المتحدة وحدها يعاني من إعاقة، فإن توفير موقع ويب يمكن للجميع الوصول إليه ليس فقط مسؤولية اجتماعية، بل يعود بالفائدة أيضًا على عملك. وبغض النظر عن التعقيدات القانونية، يمكن أن يُحسن موقع الويب الذي يمكن للجميع الوصول إليه من سمعة علامتك التجارية ويعزز تحسينات محركات البحث ويحسن تجربة المستخدم. لذلك عند إنشاء موقع ويب موجه لذوي المشاكل البصرية، يجب أن تتذكر بأنه يجب أن يكون واضحًا وسهل الاستخدام ومفهومًا وقابل للتكيف، فلا يجب أن يتمكن الأشخاص ذوي المشاكل البصرية من الوصول إلى المحتوى الخاص بك فحسب، بل من المهم أيضًا أن يتمكنوا من تنفيذ ذلك بسهولة قدر الإمكان، دون أي صعوبة أو تشتيت للانتباه. ترجمة -بتصرف- للمقال Building a User-Friendly Website for the Visually Impaired. اقرأ أيضًا بناء موقع إلكتروني سهل الاستخدام لفائدة ذوي المشاكل البصرية شمولية التصميم: سهولة وصول جميع المستخدمين لصفحات موقع الويب حروف برايل لمساعدة المكفوفين في مستندات جوجل العوامل المؤثرة في تجربة المستخدم إمكانية الوصول لإتاحة سهولة الاستخدام للجميع أفضل النصائح لتصميم واجهة المستخدم
  3. في العصر الرقمي اليوم يعمل الإنترنت كمنصة حيوية لتبادل المعلومات والتواصل والمشاركة مع مختلف الخدمات، لذلك وبينما نتبنى القوة التحويلية للتكنولوجيا، يصبح من الضروري التأكد من أن بيئة الإنترنت متاحة لجميع الأفراد، بما في ذلك أولئك الذين يعانون من مشكلات بصرية على اختلاف حدة هذه المشاكل. وفقًا لمنظمة الصحة العالمية، حتى سنة 2021 كان هناك 2.2 مليار شخص في العالم يعانون من ضعف البصر القريب أو البعيد، من بين هؤلاء 1 مليار شخص يعانون من ضعف البصر أو العمى المتوسط أو الشديد، لذلك يصبح من الضروري سد فجوة الوصول للأشخاص ذوي المشاكل البصرية وتزويدهم بفرص متساوية للوصول إلى المحتوى عبر الإنترنت والتفاعل معه. لكن لماذا من المهم إنشاء مواقع ويب للأشخاص ضعاف البصر؟ في الماضي حتى يتمكن الأشخاص ذوي المشاكل البصرية من قراءة رسالة إخبارية أو مجلة أو أي نوع آخر من المحتوى، كان عليهم إما العثور على نسخة صوتية، أو استخدام نظام برايل في حال كانت مشاكل البصرية حادة تصل لحد العمى، أو جعل شخص ما يقرأ له هذا المحتوى بصوتٍ عالٍ؛ أما اليوم وبفضل الإنترنت أصبح لدى هؤلاء الأشخاص خيارات أسهل. على سبيل المثال، يمكن للأشخاص ضعاف البصر استخدام برنامج قارئ الشاشة، ويمكن للأشخاص ذوي المشكلات الحركية استخدام الأجهزة المساعدة، كما يمكن للأشخاص الصم أو ضعاف السمع استخدام التسميات التوضيحية والنصوص متعددة الوسائط للوصول إلى المحتوى على الويب. وعلى الرغم من ذلك، غالبًا ما تعطي ممارسات تصميم الويب التقليدية الأولوية للجماليات والجاذبية المرئية، وتتجاهل دون قصد احتياجات المستخدمين ذوي المشاكل البصرية؛ وبالتالي فإن المواقع الإلكترونية التي لم تُصمم مع مراعاة إمكانية الوصول قد تشكل حواجز كبيرة لأولئك الذين يعانون من مشاكل أو إعاقات بصرية، مما يعيق قدرتهم على الوصول إلى المعلومات والمشاركة في الأنشطة عبر الإنترنت والمجتمع الرقمي. أهمية إمكانية الوصول إلى الويب وتصميم الويب لذوي الاحتياجات الخاصة قبل الخوض في كيفية جعل موقع الويب الخاص بك متاحًا للأشخاص ذوي المشاكل البصرية، سنشرح أهمية إمكانية الوصول إلى الويب ككل إلى جانب فوائدها العديدة. يُعد تصميم موقع الويب الخاص بك مع وضع إمكانية الوصول إليه في الحسبان ليس فقط التزامًا أخلاقيًا، وأنه الشيء الصحيح الذي يجب عليك تنفيذه؛ فهو يُعَد مفيدًا أيضًا لأداء موقع الويب والنشاط الذي تستهدفه. فيما يلي أهم الأسباب التي تجعلك تعمل على تصميم موقع الويب الخاص بك قابلًا للوصول. أسباب أخلاقية السبب الأول يتعلق بالأخلاق، بصفتك كيانًا تجاريًا فإن من مسؤوليتك توفير وصول متساوٍ إلى موقع الويب الخاص بك للأشخاص ذوي الاحتياجات الخاصة والمشاكل البصرية عمومًا، وذلك لأن موقع الويب الذي يمكن الوصول إليه يساعد الأشخاص ذوي الاحتياجات الخاصة أو المشاكل البصرية على المشاركة بفاعلية في المجتمع. ومع تحول الإنترنت إلى جزء أساسي من حياة الأفراد اليومية حاليًا، صار الوصول الكامل إلى المعلومات والموارد أمرًا ضروريًا للجميع، وبالرغم من ذلك ليس لدى الجميع نفس القدرة على الوصول إلى الويب، كما يجد بعض الأشخاص ذوي الاحتياجات الخاصة أن التواصل وتنفيذ الأعمال التجارية عبر الإنترنت أمرًا أسهل بكثير من تنفيذها شخصيًا. الامتثال للقانون تُعد إمكانية الوصول إلى الويب مطلبًا قانونيًا في العديد من البلدان. على سبيل المثال في الولايات المتحدة ينُص قانون إعادة تأهيل القوى العاملة لعام 1973 على أن تكون تكنولوجيا المعلومات والاتصالات التي توفرها الوكالات الفيدرالية متاحة للأشخاص ذوي الاحتياجات الخاصة. وفي حالة عدم تمكن المستخدمون ذوو الاحتياجات الخاصة من الوصول إلى المعلومات الهامة بسبب عدم إمكانية الوصول إلى موقع الويب الخاص بك، فقد يقاضون شركتك بسبب التمييز الرقمي، ففي عام 2018 وحده رُفِع ما يقرب من 2,250 دعوى قضائية في المحكمة الفيدرالية في الولايات المتحدة بسبب هذه المشكلة. تعزيز سمعة العلامة التجارية إن توفير إمكانية الوصول إلى موقع الويب الخاص بك سيكون له تأثيرًا إيجابيًا على سمعة علامتك التجارية، حيث ستظهر على أنها علامةً تجاريةً تولي اهتمامًا اجتماعيًا وتُعنى بالآخرين، وسيؤدي ذلك في النهاية إلى تحسين صورة علامتك التجارية بين جمهورك بأكمله، مما سيترتب عليه زيادة في المبيعات. لقد أظهرت الأبحاث أن 62٪ من المستهلكين يفضلون شراء المنتجات من الشركات التي تتبنى قضايا تعكس قيمهم، بينما يتجنبون التعامل مع الشركات التي لا تفعل ذلك، لذا يُرجى التأكد من أن موقع الويب الخاص بك وبشركتك تتحلى بالمسؤولية الاجتماعية من خلال إعطاء الأولوية لإتاحة الوصول إلى موقع الويب. الوصول إلى سوق كبير تُشير التقارير إلى أن حوالي واحدًا من كل أربعة بالغين في الولايات المتحدة يعاني من إعاقة أو مشكلة بصرية ما، وحتى إذا لم يكن الأشخاص ذوو الاحتياجات الخاصة هم عملاؤك الأساسيون، فإن من المرجح أنهم يشكلون جزءًا واضحًا من جمهورك؛ فهل تعتقد أن هؤلاء المستهلكين سوف يتسوقون من موقع ويب لا يمكن الوصول إليه وصعب استخدامه؟ هناك ما يفوق 80٪ من الأشخاص ذوي الاحتياجات الخاصة لديهم قلة ثقة في مزود الخدمة بسبب المشاكل التي تنشأ بسبب صعوبات الوصول غير المرضية إلى الويب، وفي دراسة استقصائية في المملكة المتحدة، تبين أن 4 مليون شخص تخلى عن موقع ويب للتجزئة في عام 2019 بسبب صعوبات الوصول، مما أدى إلى خسارة تقدر بحوالي 17.1 مليار جنيه إسترليني أو ما يساوي 24 مليار دولار. عليك أيضًا أن تأخذ في الحسبان أن مستخدمي الإنترنت الذين يعتمدون على أجهزة مساعدة لديهم قوة شرائية هائلة تفوق 350 مليار دولار في الولايات المتحدة فقط، فمن خلال استهداف هذا السوق بفعالية فإنك تضع عملك أمام جمهور عادة ما يكون مستعدًا لدفع مزيد من المال مقابل خدمة متميزة. تحسين محركات البحث وتجربة المستخدم تتطابق أفضل ممارسات إمكانية الوصول إلى الويب مع تلك الخاصة بتحسين محركات البحث وتصميم الويب للجوال، مثل السرعة في تحميل صفحات موقع الويب، وضمان سهولة استخدام موقع الويب الخاص بك. فعلى سبيل المثال: يُعد إضافة نص بديل ALT إلى الصور والترجمة transcripts إلى مقاطع الفيديو، من أفضل الممارسات لكل من إمكانية الوصول إلى الويب وتحسين محركات البحث. تتطلب إمكانية الوصول إلى الويب أيضًا أن يكون موقع الويب الخاص بك منظمًا جيدًا للغاية، فمن حيث بنية التنقل والعناوين الرئيسية والعناوين الفرعية والمحتوى والمزيد، فتلك الممارسات لن تؤدي إلى تحسين جهود تحسين محركات البحث الخاصة بك فقط ولكن أيضًا ستؤدي إلى تجربة المستخدم الشاملة وسهولة استخدام موقعك. أخيرًا، أفضل ممارسة لإمكانية الوصول إلى الويب هي وجود شيفرة برمجية نظيفة، سيؤدي ذلك إلى موقع ويب أفضل بوجه عام، مع عدد أقل من الأخطاء ووقت تحميل أسرع. وبينما نركز في هذه المقالة على كيفية إنشاء موقع ويب لضعاف البصر، ضع في حسبانك أن إمكانية الوصول إلى الويب يجب أن تتضمن عناصر تستهدف جميع أنواع الإعاقات، وكذلك الأشخاص غير ذوي الإعاقة الذين لديهم عوائق أخرى. فالفئات الرئيسية للإعاقة هي كما يلي: السمعي (بما في ذلك الصمم وضعاف السمع). المعرفي (بما في ذلك صعوبات التعلم، والتشتت، وعدم القدرة على تذكر كميات كبيرة من المعلومات). البصري (بما في ذلك العمى وضعف البصر وعمى الألوان). الحركي (بما في ذلك عدم القدرة على استخدام الفأرة، ووقت الاستجابة البطيء، والتحكم المحدود في الحركة). العصبي. البدني. الكلامي. أضف إلى ذلك أنه يجب عليك أيضًا تصميم موقع ويب يمكن الوصول إليه لكبار السن، والأشخاص الذين يعانون من إعاقات مؤقتة أو قيود ظرفية، والأشخاص الذين يعانون من بطء اتصالات الإنترنت، والأشخاص الذين يستخدمون أجهزة مختلفة، مثل الهواتف المحمولة أو الأجهزة اللوحية. ثلاث أدوات يستخدمها ضعاف البصر لتصفح الويب ستكون عملية جعل موقع الويب الخاص بك متاحًا أو سهل الوصول إليه أكثر واقعيةً إذا فهمت كيف يتنقل الأشخاص ضعاف البصر في موقعك. وفيما يلي الأدوات الأكثر شيوعًا التي يستخدمها ضعاف البصر لتصفح الويب. 1. قارئات الشاشة تُعَد برامج قراءة الشاشة أدوات مهمة تُمَكن المستخدمين من الوصول إلى محتوى مواقع الويب بطريقة مختلفة، حيث تعمل هذه البرامج على تحويل النص والمحتويات الأخرى إلى كلام مركب، مما يسمح للمستخدمين تصفح المحتوى بطرائق متنوعة، كما يمكن للمستخدمين التحكم في هذه الأدوات لقراءة المحتوى بترتيبات مختلفة، مثل قراءة النص من الأعلى إلى الأسفل، أو بسطر واحد في كل مرة، أو حسب العناوين، أو حسب الروابط أو غيرها. يمكن استخدام بعض برامج قراءة الشاشة الشائعة مثل JAWS و NVDA و VoiceOver، وأجهزة القراءة باللمس بواسطة الصم والمكفوفين، التي تحول النص إلى نظام برايل القابل للقراءة باللمس. بالإضافة إلى ذلك، تحتوي الهواتف الذكية والأجهزة اللوحية على قارئات شاشة مدمجة يمكن استخدامها بواسطة اللمس أو التمرير. 2. المتصفحات الخاصة صُممت المتصفحات المخصصة، مثل: WebbIE و EIA و PnC Net خصيصًا لتلبية احتياجات المستخدمين ضعاف البصر، وتمتاز هذه المتصفحات بقدرتها على اكتشاف بنية صفحات الويب وتوفير المعلومات بطريقة تناسب المستخدم. ومع ذلك، يوجد جانب سلبي للمتصفحات المخصصة وهو أنها غير متطورة كما المتصفحات الشائعة، مثل جوجل كروم Google Chrome أو سفاري Safari، وبالتالي قد لا تدعم بعض الميزات الجديدة، مثل التكامل مع التطبيقات والإضافات، وقد لا تكون متاحة على جميع أنواع الأجهزة. 3. مكبرات الشاشة لا يحتاج جميع الأشخاص ضعاف البصر إلى أدوات قراءة الشاشة للوصول إلى الإنترنت، فقد يستخدم أولئك الذين يعانون من ضعف البصر إما مكبرات الشاشة أو ميزات الجهاز المدمجة لتحسين قابلية قراءة المحتوى أحيانًا. ومع ذلك هناك جانب سلبي لهذه الأساليب، فبدون بنية صفحة ويب مصممة لهذا الاستخدام قد يتسبب ذلك في فقد العلاقات بين العناصر الموجودة على الصفحة، مما يترتب عليه أن المستخدمين لن يروا سوى جزء من الشاشة في كل مرة. المشكلات الشائعة التي يواجهها ذوي المشاكل البصرية عند تصفح الويب لضمان فهمنا للتحديات التي يواجهها الأشخاص ضعاف البصر على الإنترنت، يجب أن نكون على دراية بماهية هذه الفئة من الأفراد، فتنقسم الإعاقات والمشاكل البصرية إلى ثلاث فئات رئيسية كما يلي: العمى التام: يشمل هذا النوع الأشخاص الذين يعانون من فقدان تام للرؤية حيث يكون مجالهم البصري معدومًا، ومع ذلك فإن معظم الأشخاص المصنفين كـ مكفوفين قانونيًا (بمجال بصري يبلغ 20 درجة) تكون لديهم بعض القدرة البصرية. ضعف البصر: يشمل هذا النوع الأشخاص الذين لا يمكن تصحيح رؤيتهم إلى ما يقرب من 20/20، ويُعَد ضعف البصر أكثر شيوعًا بين كبار السن. عمى الألوان: تخص الأشخاص الذين يعانون من عدم القدرة على رؤية الألوان بشكل طبيعي، وتشتهر أيضًا هذه الإعاقة باسم نقص رؤية الألوان. ولقد أجرت منظمة WebAIM تقييمًا لإمكانية الوصول على مليون صفحة رئيسية، واكتشفت أن 97.4٪ منها تحتوي على انتهاكات يمكن اكتشافها باستخدام مبادئ الوصول إلى محتوى الويب WCAG 2.0، وتشمل بعض الانتهاكات الشائعة ما يلي: نص ضعيف التباين. نص بديل مفقود للصور. روابط فارغة. عدم تسمية إدخالات النماذج. أزرار فارغة. غياب لغة المستند. وفيما يلي بعض المشكلات الشائعة التي يواجهها الأشخاص ضعاف البصر عند استخدام مواقع الويب. المناطق التي لا يمكن الوصول إليها عبر قارئ الشاشة توجد بعض التحديات في الوصول إلى بعض أنواع المحتوى عبر برامج قراءة الشاشة، فيُعد المحتوى البصري مثل الصور وجداول البيانات والرسومات صعب الوصول إليها باستخدام هذه الأدوات؛ فعلى سبيل المثال، يصعب على قارئ الشاشة فهم العلاقة بين البيانات الموجودة في الصفوف والأعمدة إذا لم تُضع مكونات HTML المناسبة لجداول البيانات. وينطبق الأمر نفسه على الصور، حيث لا يمكن لقارئ الشاشة تحليل المعنى الموجود في الصورة، لذا يحتاج المحتوى البصري إلى وجود نص بديل ALT يمكن فهمه من قبل قارئ الشاشة. وبالإضافة إلى ذلك، يجب توفير وسائل لوصول المستخدمين ضعاف البصر إلى العناصر التفاعلية، مثل القوائم ومعلومات التمرير بالفأرة والنص القابل للطي ومشغلات الوسائط، ويُنفذ ذلك من خلال وضع مكونات HTML المناسبة لهذه العناصر وتسميتها بطريقة صحيحة. محتوى الصفحة غير منظم مع العناوين بينما يمكن للمستخدم الذي لا يعاني من مشكلات بصرية فحص صفحة الويب وفهم طريقة تنظيمها بناءً على التخطيط أو القرب أو التصميم المرئي، يواجه قارئ الشاشة صعوبةً في ذلك. وحتى يتمكن الأشخاص ضعاف البصر من الحصول على تجربة ويب مماثلة، يكون ذلك من خلال الهيكل المنظم للصفحة الذي يتضمن العناوين ذات الصلة وارتباطات التعليمات البرمجية، فبدون هذه العناصر يكون المحتوى غير منظم وغير قابل للفهم بالنسبة لهؤلاء الأفراد. العناوين لا تتبع هيكل يُعد التسلسل المنطقي والدلالي في العناوين أمرًا بالغ الأهمية لمستخدمي قارئات الشاشة. فمن خلال استخدام برامج قراءة الشاشة، يعتمد المستخدمون الذين يعانون من ضعف البصر على تلك الأدوات للبحث عن المعلومات ذات الصلة والأقسام التي يهتمون بها، ولتنفيذ ذلك يعتمدون على وظيفة تقدمها تلك الأدوات تسرد لهم العناوين. ومن هنا تكمن أهمية استخدام العناوين، وليس فقط استخدامها، بل استخدامها بتسلسل منطقي ومنظم. روابط وأزرار بدون وصف عندما يتعلق الأمر بإمكانية الوصول يجب أن تولي اهتمامًا خاصًا لروابط وأزرار الويب، فبعض مستخدمي قارئ الشاشة يستخدمون وظيفةً تسرد جميع الروابط الموجودة على الصفحة للبحث عن موارد محددة، وفي هذه الحالة فإن وجود روابط أو أزرار بدون وصف واضح لهما (مثل: "انقر هنا") قد يكون غير فعال ومحبط للمستخدمين ضعاف البصر. أحد أسوأ السيناريوهات هو وجود روابط أو أزرار فارغة أو عناوين URL غير صالحة، فإذا كان هناك روابط معطلة على موقع الويب الخاص بك، فسوف يشعر القراء بالارتباك وستتأثر تجربتهم العامة سلبيًا، لذلك تأكد من أن جميع أزرار الدعوة لاتخاذ إجراء قابلة للنقر وتوجه المستخدمين إلى الصفحات المقصودة بطريقة صحيحة. الإدخالات بدون تسميات مرتبطة يُعد وجود تسميات مرتبطة أمرًا هامًا لتعزيز فهم المستخدمين للإدخالات المطلوبة في عناصر تحكم النماذج، وذلك لأن عناصر تحكم النماذج تعمل كوسيط بين المستخدم والخادم في الواجهة الأمامية للمستخدم، مثل مربعات القائمة وأزرار الاختيار وأزرار الأوامر؛ فعلى سبيل المثال، إذا لم تُضاف تسميات مناسبة ومنطقية للإدخالات، فقد يكون من الصعب على المستخدمين ضعاف البصر إكمال النموذج بنجاح، وفي حالة ما إذا كان هناك حقول يجب ملؤها، فمن المهم وجود تسميات توضح ما يجب إدخاله في تلك الحقول (مثل الاسم واللقب وعنوان البريد الإلكتروني وما إلى ذلك)، ويجب أن تكون مُرَتبة ترتيبًا منطقيًا بحيث يكون هناك زر "إرسال" في نهاية النموذج. المحتوى لا يمكن الوصول إليه بواسطة لوحات المفاتيح يعتمد معظم مستخدمي قارئ الشاشة على لوحة المفاتيح كأداة رئيسية للوصول إلى الويب، ومن ثَمَّ يصبح المحتوى الذي يتطلب استخدام الفأرة أو شاشة اللمس (مثل النقر على روابط) غير قابل للوصول لهؤلاء المستخدمين، لذلك تُعد هذه المسألة ذات أهمية كبيرة، ليس فقط للأفراد ضعاف البصر ولكن أيضًا لأولئك الذين يعتمدون على لوحة المفاتيح بسبب صعوبات حركية. معلومات اللغة مفقودة تَفترض برامج قراءة الشاشة أن كل المحتوى الموجود على موقع الويب يكون باللغة الافتراضية للمستخدم، ويمكن أن يؤدي ذلك إلى حدوث مشكلات عندما يقرأ البرنامج المحتوى بلغة أجنبية باستخدام قواعد نطق اللغة الافتراضية للمستخدم. فقد يكون النص مثلًا مزيجًا من لغاتٍ متعددة (مثل، "انقر بزر الفأرة الأيسر على قائمة "Start" من شريط المهام") في مثل هذه الحالات يمكن أن يشعر المستخدمون بالارتباك إذا لم يكن برنامج قراءة الشاشة مُعدًّا لقواعد النطق اللازمة لتلك اللغات المختلفة. خاتمة في ختام هذه المقالة، يتضح أن بناء موقع إلكتروني سهل الاستخدام لفائدة الأشخاص ذوي المشاكل البصرية ليس مجرد مبادرة إنسانية واجتماعية، بل هو أيضًا استثمار ذكي وفعّال في توسيع نطاق جمهورك وتحسين تجربة مستخدميك. فعندما يُصمم موقع الويب بعناية مع الاهتمام بتوفير إمكانية الوصول لذوي المشاكل البصرية، فهو بذلك يُتيح لهؤلاء الأشخاص الاستفادة الكاملة من المحتوى والخدمات التي يقدمها موقعك، مما يعزز قدرتهم على المشاركة الفعّالة في المجتمع الرقمي. بالإضافة إلى ذلك، يساعد تصميم موقع إلكتروني سهل الاستخدام لذوي الإعاقات والمشاكل البصرية على تحسين سمعة علامتك التجارية وزيادة الوعي بقيمتك الاجتماعية، كما ويعكس اهتمامك بتوفير تجربة متاحة للجميع قيمك وأخلاقك التجارية. ترجمة -وبتصرف- للمقال Building a User-Friendly Website for the Visually Impaired. اقرأ أيضًا شمولية التصميم: سهولة وصول جميع المستخدمين لصفحات موقع الويب الدلالات المضمنة لعناصر صفحة الويب ودورها في تعزيز سهولة الوصول حروف برايل لمساعدة المكفوفين في مستندات جوجل العوامل المؤثرة في تجربة المستخدم إمكانية الوصول لإتاحة سهولة الاستخدام للجميع أفضل النصائح لتصميم واجهة المستخدم
  4. مرحبًا بكم في المقالة الثالثة في سلسلة مقالاتنا المتعلقة بروبوت المحادثة ChatGPT، التي سنتحدث فيها عن استخدام ChatGPT API. وفي حالة عدم الاطلاع على المقال الأول والثاني بعد، ففي المقالة الأولى ستتعرف على بوت المحادثة الذكي شات جي بي تي ChatGPT، حيث تحدثنا عن ما هو ChatGPT وكيف بدأ، ومراحل تطويره، وفوائده ومميزاته، وقارناه مع غيره من روبوتات المحادثة المزودة بالذكاء الاصطناعي، كما تناولنا مختلف تطبيقات استخدام ChatGPT، والقيود والتحديات التي تواجهه، وكيفية الوصول إليه واستخدامه. أما في المقالة الثانية فقد تحدثنا عن عملية تدريب روبوت المحادثة ChatGPT والتقنيات المختلفة المستخدمة في تطويره، واستكشفنا المفاهيم الأساسية التي تُمكِّن الروبوت من الحفاظ على محادثات طبيعية وبديهية مع البشر؛ كما تناولنا تقنيات وخوارزميات التعلم الآلي التي تُستخدم لتدريب ChatGPT، ومجموعات البيانات التي تمكنه من فهم تفاصيل لغة الإنسان، كما استكشفنا دور التعلم غير الخاضع للإشراف الذي يسمح لـ ChatGPT بالتعلم والتحسن من خلال الخبرات، مما جعله أداةً مفيدةً لمختلف الصناعات. و في هذا المقال سنتناول تفصيلًا كيفية استخدام ChatGPT API وتطبيقاتها المختلفة. سنبدأ بتوضيح مفهوم واجهة برمجة التطبيقات والمعروفة اختصارًا بـ API ومزايا استخدامها، ثم سنركز على API الخاص بـ ChatGPT وكيفية استخدامه في توليد النصوص، بعد ذلك سنتحدث عن تفاصيل استخدام ChatGPT API ونقدم أمثلةً حول كيفية استخدامه في التطبيقات المختلفة، وفي النهاية سنتحدث عن المشاكل التي يمكن أن تواجه استخدام ChatGPT API وكيفية حلها. إذا كنت تبحث عن طريقة لتحسين تجربتك على الإنترنت أو تطوير تطبيقك الذكي، فمن المهم متابعة هذا المقال للتعرف على كيفية استخدام ChatGPT API وتطبيقه في أعمالك ومشاريعك، فهذه التقنية توفر فرصًا هائلةً لتحسين خدماتكم، لذا لا تتردد في الاستفادة منها واستكشاف كل ما تقدمه. مدخل إلى واجهة برمجة التطبيقات API واجهة برمجة التطبيقات أو Application Programming Interface والمعروفة اختصارًا بـ API تُشبه النادل في المطعم الذي يأخذ طلبك ثم يوصله إلى المطبخ، وبنفس الطريقة API هو مجموعة من القواعد والبروتوكولات التي تسمح لتطبيقات البرامج المختلفة بالتواصل مع بعضها بعضًا. ولتوضيح الأمر بأسلوب بسيط، تخيل أن لديك لعبة تريد اللعب بها لكنك لا تعرف كيفية استخدامها، فدليل التعليمات الذي يخبرك بكيفية استخدام اللعبة يشبه واجهة برمجة التطبيقات، يوفر لك مجموعةً من الإرشادات التي تخبرك بكيفية استخدام اللعبة، تمامًا مثل واجهة برمجة التطبيقات التي تزود المطورين بمجموعة من الإرشادات التي تخبرهم بكيفية التفاعل مع تطبيق برمجي معين. استخدامات واجهة برمجة التطبيقات API تُستخدم واجهات برمجة التطبيقات بعدة طرق مختلفة. تخيل مثلًا أن لديك موقع ويب تريد إضافة خريطة إليه، فبدلًا من إنشاء الخريطة من البداية، يمكنك استخدام API مثل Google Maps API التي توفر لك مجموعةً من الإرشادات حول كيفية دمج الخريطة في موقع الويب الخاص بك. هناك حالة استخدام أخرى لواجهات برمجة التطبيقات في وسائل التواصل الاجتماعي، فيمكنك استخدام واجهات برمجة التطبيقات، مثل Facebook API و Twitter API لإنشاء تطبيقات يمكنها نشر وقراءة التغريدات أو تحديثات الحالة نيابة عن المستخدم. مزايا استخدام واجهة برمجة التطبيقات API ولاستخدام واجهة برمجة التطبيقات مزايا كثيرة، فعلى سبيل المثال تسمح بمشاركة الموارد والخدمات مما يوفر الوقت للمطورين، وذلك باستخدام التعليمات البرمجية الموجودة مسبقًا بدلًا من بناء كل شيء من البداية، كما تعمل واجهات برمجة التطبيقات أيضًا على تمكين المطورين من إنشاء تطبيقات جديدة تتكامل مع التطبيقات الحالية، مما يسهل على المستخدمين التفاعل مع تطبيقات متعددة من واجهة واحدة. وبالإضافة إلى ذلك، يمكن أن تساعد واجهات برمجة التطبيقات في زيادة أمان البيانات، لأنها تسمح بالوصول المتحكم فيه إلى البيانات دون الحاجة إلى منح وصول كامل إلى نظام بأكمله. وللتعمق أكثر في واجهة برمجة التطبيقات API يمكنك الاطلاع على سلسلة المقالات هذه بالأكاديمية التي تتناول الواجهة البرمجية API وكيفية الاستفادة منها في بناء تطبيق ويب، ولمحبي محتوى الفيديو يمكنهم مشاهدة هذا الفيديو الذي يتناول هذه التقنية بأسلوب شيق. ما هي ChatGPT API واجهة برمجة تطبيقات ChatGPT هي أحد منتجات شركة OpenAI، تسمح للمطورين بدمج قدرات معالجة اللغة الطبيعية NLP في تطبيقاتهم وبناء واجهات محادثة ذكية؛ وهذا يعني أنه يمكن للمستخدمين التفاعل مع تطبيقك باستخدام لغة طبيعية تمامًا كما يفعلون مع الأشخاص الآخرين. تُشغل واجهة برمجة تطبيقات ChatGPT بواسطة أحدث نموذجين للشركة، وهما نموذج GPT-3.5 و GPT-4 اللذان دُربا على كميات هائلة من البيانات النصية لفهم وتوليد ردود شبيهة بالبشر. الوظائف التي يمكن من خلالها استخدام ChatGPT API تحتوي واجهة برمجة تطبيقات ChatGPT على العديد من الوظائف التي يمكن استخدامها في العديد من التطبيقات لتحسين الكفاءة والإنتاجية والتواصل، ومن تلك الوظائف ما يلي. روبوتات الدردشة روبوت المحادثة هو برنامج يمكنه محاكاة المحادثة مع المستخدم، وباستخدام ChatGPT API يُمكن للمطورين إنشاء روبوتات محادثة تستطيع المشاركة في محادثات تبدو طبيعية مع المستخدمين، مما يساعد على تحسين خدمة العملاء وزيادة الكفاءة. تخيل أنك تتسوق من خلال متجر إلكتروني ولديك سؤال حول أحد المنتجات. بدلًا من الانتظار أو إرسال بريد إلكتروني لخدمة عملاء المتجر، يمكنك ببساطة كتابة سؤالك في مربع الدردشة ليوفر لك الـ chatbot المدعوم من ChatGPT API استجابةً فورية. المساعدين الشخصيين المساعد الشخصي personal assistant هو برنامج يمكن أن يساعد المستخدمين في مهام مختلفة، مثل جدولة المواعيد وتعيين التذكيرات وإرسال الرسائل، حيث يمكن استخدام ChatGPT API لإنشاء مساعدين شخصيين باستطاعتهم فهم اللغة الطبيعية والاستجابة وفقًا لذلك. على سبيل المثال، يمكنك أن تسأل مساعدك الشخصي المدعوم من واجهة برمجة تطبيقات ChatGPT، "ماذا يوجد في التقويم الخاص بي ليوم غد؟" ويمكنه الرد بقائمة مواعيدك المجدولة. إنشاء المحتوى يمكن استخدام ChatGPT API لإنشاء محتوى، مثل المقالات وأوصاف المنتجات ومنشورات الوسائط لمنصات التواصل الاجتماعي، حيث يمكن للمطورين تزويد واجهة برمجة التطبيقات بموجه لإنشاء نص يواصل تقديم المطالبة بطريقة ملائمة وجذابة. تخيل هنا مثلًا أنك مدون وتحتاج إلى كتابة مقال عن فوائد التمرين، يمكنك هنا ببساطة استخدام ChatGPT API لتوليد بعض الأفكار، ومن ثمة الحصول على اللازمة لكتابة المقال. ترجمة اللغة يمكن أيضًا استخدام ChatGPT API لترجمة اللغة، حيث يمكن للمطورين إنشاء تطبيقات باستطاعتها ترجمة النص من لغة إلى أخرى، مما يسهل على الأشخاص الذين يتحدثون لغات مختلفة التواصل مع بعضهم بعضًا؛ ولتخيل أنك في رحلة عمل إلى الصين وتحتاج إلى التواصل مع شخص يتحدث لغة الماندرين، هنا يمكنك ببساطة استخدام تطبيق مدعوم من ChatGPT API لترجمة رسائلك إلى لغة الماندرين، ورسائل الشخص الآخر إلى اللغة العربية، وهذا سيجعل التواصل أسهل بينكما. خطوات استخدام ChatGPT API حتى تتمكن من استخدام واجهة برمجة تطبيقات ChatGPT سوف تحتاج إلى اتباع الخطوات التالية: الخطوة الأولى: إنشاء حساب بموقع OpenAI وهذه الخطوة قد شرحناها بالتفصيل بالمقالة الأولى من هذه السلسلة. الخطوة الثانية: الحصول على مفتاح API لـ ChatGPT وذلك باتباع الآتي: سجل الدخول إلى موقع OpenAI الرسمي، ثم انقر على اسم الحساب الخاص بك. ومن القائمة المنسدلة التي ستظهر، اختر منها "View API Keys". انقر على زر "Create new secret key" لإنشاء مفتاح سري جديد، لبدء استخدام إمكانات نموذج معالجة اللغة الطبيعية الخاص بـ ChatGPT في التطبيق الخاص بك. من النافذة التي ستظهر لك، انسخ مفتاح واجهة برمجة تطبيقات ChatGPT ثم احفظه بمكان آمن لأنه لن يكون قابلًا للعرض مرةً أخرى، وذلك من خلال حساب OpenAI الخاص بك. وفي حالة فقدت مفتاحك، فعندها سوف يتعين عليك إنشاء مفتاح جديد. من المهم عدم مشاركة المفتاح السري مع الآخرين، وذلك لأن تكلفة استخدامهم للمفتاح السري سوف تُخصم من رصيدك (سوف نوضح هذه النقطة في فقرة التسعير)، كما أن OpenAI تُعطل تلقائيًا أي مفاتيح API مسربة، كما قد تُعطل حسابك بالكامل إذا تكررت عملية تسريب المفاتيح من حسابك. وإذا كنت بحاجة إلى إبطال مفتاح API الخاص بك بسبب تسريبه أو لأسباب أخرى، فيمكنك تنفيذ ذلك من خلال النقر على زر "سلة المهملات" الموجود أمام المفتاح، ومن النافذة التي ستظهر، انقر على زر "Revoke Key" لتعطيل المفتاح، وسيؤدي هذا الإجراء إلى رفض أي طلبات API تُجرى باستخدام هذا المفتاح. بمجرد حصولك على مفتاح API الخاص بك، يمكنك استخدامه لتثبيت حزمة ChatGPT API في بيئة البرمجة الخاصة بك. الخطوة الثالثة: استخدام ChatGPT API في تطبيقاتك، وذلك إما من خلال تثبيت مكتبة openai ثم استيرادُها في بيئة البرمجة الخاصة بك، أو من خلال استخدام واجهة برمجة التطبيقات المستندة إلى السحابة، مما يعني أنك لست مضطرًا إلى تثبيت أي برنامج على جهازك لاستخدامها، بل كل ما تحتاجه هو اتصال إنترنت ثابت ومتصفح ويب. تثبيت واستدعاء مكتبة openai قبل أن نبدأ، وجب التنويه إلى أن خطوات تثبيت المكتبة تعتمد على لغة البرمجة التي تستخدمها، وفي شرحنا لهذه الطريقة سوف نستخدم لغة البرمجة Python، وفيما يلي مثال لتثبيت مكتبة openai باستخدام pip: أولًا، انتقل إلى موجه الأوامر، ثم اكتب الأمر التالي: pip install openai ثم انتظر حتى الانتهاء من تثبيت الحزمة. ثانيًا، أنشئ مجلدًا جديدًا للمشروع وسَمِّه بأي اسم تريده. وبداخل المجلد أنشئ ملفًا نصيًا وسَمِّه بأي اسم تريده ثم انسخ بداخله المفتاح السري لواجهة برمجة التطبيقات. بعد ذلك أنشئ ملف بايثون فارغ وسَمِّه بأي اسم تريده، ثم شغل المحرر المفضل لديك وحدد مسار المجلد. ثالثًا، أضف الشيفرة البرمجية التالية لملف البايثون: import openai openai.api_key = open("اسم الملف النصي الذي يحتوي على المفتاح السري", "r").read() completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages = [ {"role": "user", "content": "الرسالة المراد توجيهها إلى البوت"} ] ) print(completion.choices[0].message) أخيرًا، احفظ شيفرتك البرمجية ثم شغلها. من المفترض أن تتلقى ردًا من ChatGPT على هيئة مصفوفة بتنسيق Json كما بالصورة التالية: شرح الشيفرة البرمجية لنلق نظرةً على الشيفرة البرمجية التي استخدمناها لإنشاء دردشة بسيطة مع روبوت المحادثة ChatGPT: بالسطر الأول، نستدعي الوحدة أو المكتبة البرمجية التي ثبتناها "openai" حتى نتمكن من استخدامها. وبالسطر الثاني، نستدعي قيمة المفتاح السري الخاص بنا الذي سوف يمكننا من الوصول إلى واجهة برمجة التطبيقات، وذلك من خلال ملف نصي يسمى "OPENAI_API_KEY.txt" مُخزن بداخله المفتاح بدلًا من كتابته مباشرةً في البرنامج. ومن السطر الثالث إلى الثامن، سينشئ البرنامج متغيرًا جديدًا يسمى completion بمجرد قراءة المفتاح السري، بحيث يستدعي دالةً في مكتبة OpenAI تسمى ()ChatCompletion.create لإنشاء جلسة إتمام دردشة جديدة، وتأخذ هذه الدالة وسيطين: الأول هو اسم نموذج الذكاء الاصطناعي المقدم من OpenAI الذي نريد استخدامه، وفي حالتنا هو نموذج "gpt-3.5-turbo"؛ والثاني هو المتغير messages لتخزين جميع الرسائل المرسلة والمستقبلة خلال الجلسة، وقد عينا لهذا المتغير مصفوفة بتنسيق JSON بها مُطالبة واحدة مكونة من معاملين: المعامل الأول: عينا له المفتاح role وهو الذي يحدد سلوك المطالبة، وعينا لهذا المفتاح القيمة "User" للإشارة إلى أن الرسالة من المستخدم. المعامل الثاني: عينا له المفتاح content للإشارة إلى الرسالة المراد إرسالها لروبوت المحادثة، وحددنا لهذا المفتاح القيمة "نص الرسالة"، وفي حالتنا نص الرسالة هي "Hello!". السطر الأخير، يطبع البرنامج الاستجابة المتولدة باستخدام الدالة ()print، ونظرًا إلى أن خوارزمية ChatCompletion قادرة على إرجاع العديد من الردود المحتملة، فقد استخدمنا completion.choices[0].message للوصول إلى الرسالة الأولى في الخيارات المحتملة التي أُرجعت. توضيح لأدوار المعامل role بالشيفرة البرمجية السابقة وتحديدًا بالسطر السادس منها استخدمنا معاملًا يسمى role. وظيفة هذا المعامل هي تحديد سلوك أو دور المطالبة من جانب المستخدم، وتحديد سلوك أو دور الاستجابة من جانب الروبوت. ولكي تفهم ما أعنيه من هذا الكلام، تخيل أنك تلعب لعبة لها شخصية تتحدث إليك؛ في هذه الحالة أنت ستكون في دور "المستخدم User" لأنك الشخص الذي يكتب الرسائل إلى الشخصية في اللعبة، أما الشخصية في اللعبة التي تتحدث معك فستكون في دور "المساعد Assistant" لأنها تساعدك وتستجيب لما تقوله. في بعض الأحيان يتعين على الشخصية التي تتحدث معك في اللعبة أن تقول شيئًا ما من تلقاء نفسها، دون أن تكتب لها أي رسالة، مثل ما تقوله الشخصية إذا فزت بمستوى جديد باللعبة: "تهانينا!"، وفي هذه الحالة ستكون الشخصية في دور "النظام System" لأنها تفعل شيئًا بمفردها. إذًا، نستنتج من ذلك أن المعامل role له ثلاثة أدوار: دور المستخدم User: هي المطالبات أو الرسائل التي يقدمها المستخدم إلى الروبوت للإجابة عليها. دور المساعد Assistant: هي الاستجابة التي يقدمها الروبوت على مطالبات أو رسائل المستخدم، وتكون هذه الاستجابة بسلوك أو نمط المساعد الذي يسخر كل إمكاناته لمساعدة المستخدم في الإجابة على أسئلته، وهو الدور الافتراضي لروبوت المحادثة في حالة عدم تحديد دور استجابة الروبوت بالشيفرة البرمجية كما في حالتنا، فعلى الرغم من عدم إضافتنا لـ role تحدد دور استجابة الروبوت على سؤال المستخدم، إلا أنك ستلاحظ بالصورة السابقة أن استجابة الروبوت عُينت على دور المساعد Assistant. دور النظام System: هي المطالبات أو الرسائل التي يقدمها الروبوت إلى المستخدم للإجابة عليها، وهنا تتبدل الأدوار بين المستخدم والروبوت، فالروبوت في هذه الحالة هو من يسأل والمستخدم هو من يجيب، فعلى سبيل المثال: يمكننا استخدام هذا الدور عندما يطلب المستخدم من الروبوت أن يمثل دور موظف موارد بشرية الذي يُجري مقابلةً مع المستخدم، وهو ما سوف ننفذه بالفقرة التالية إجراء بعض التحسينات على شيفرة المحادثة السابقة الشيفرة البرمجية السابقة تحتاج إلى إجراء بعض التحسينات حتى يبدو كأننا نستخدم روبوت المحادثة كما نستخدمه من موقع OpenAI، فعلى سبيل المثال: نريد أن نحدد دور الروبوت ليكون System لنجعله يجري معنا مقابلة عمل، ونريد تحسين طريقة إرسال الرسائل إلى الروبوت، فليس من اللائق أن نكتب الرسالة من خلال الشيفرة البرمجية، كما أننا نريد إرسال عدة رسائل في الجلسة الواحدة بدلًا من إرسال رسالة واحدة فقط كما هو في الوضع الحالي، وأخيرًا نريد طباعة محتوى الرسالة فقط من مجموع البيانات التي يستجيب بها الروبوت. أولاً، أنشئ ملف بايثون جديد داخل مجلد المشروع وسَمِّه بأي اسم تريده، ثم أضف بداخل الملف الجديد الشيفرة البرمجية التالية: import openai openai.api_key = open("OPENAI_API_KEY.txt", "r").read() messages=[{"role": "system", "content": "You're a recruiter who asks tough interview questions."}] while True: content = input("User: ") messages.append({"role": "user", "content": content}) completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=messages ) chat_response = completion.choices[0].message.content print(f'ChatGPT: {chat_response}') أخيرًا، احفظ شيفرتك البرمجية ثم شغلها، ومن المفترض أن يظهر لك مؤشر لإدخال رسالتك الافتتاحية، ليستجيب لك الروبوت ويعرفك على الدور الذي سينفذه أثناء جلسة المحادثة، كما هو موضح بالصورة التالية: شرح الشيفرة البرمجية دعونا نلقي نظرةً على الشيفرة البرمجية بعد تحسينها: السطر الأول والثاني، كما هما لم نغير شئ بهما. السطر الثالث، أضفنا المتغير messages لتخزين جميع الرسائل المرسلة والمستقبلة خلال الجلسة، وعيّنا لهذا المتغير مصفوفةً بتنسيق JSON بها مُطالبة واحدة مكونة من معاملين: المعامل الأول: عينا له المفتاح role وهو الذي يحدد سلوك استجابة الروبوت، وعينا لهذا المفتاح القيمة "System" ليكون سلوك استجابة الروبوت كدور النظام لهذه الجلسة. المعامل الثاني: عينا له المفتاح content للإشارة إلى الرسالة المراد إرسالها لروبوت المحادثة، وحددنا لهذا المفتاح القيمة "نص الرسالة" التي تحدد الدور المطلوب من الروبوت تنفيذه، وفي حالتنا طلبنا من الروبوت أن يتصرف كأنه موظف موارد بشرية يدير مقابلة يطرح بها أسئلة صعبة. السطر الرابع، أضفنا حلقة التكرار While تستمر في العمل لانهائيًا لتكرار تنفيذ الشيفرة البرمجية حتى إيقافها يدويًا. السطر الخامس، داخل حلقة التكرار أضفنا المتغير content يُستخدم للحصول على المدخلات من المستخدم، حيث يطلب من المستخدم إدخال نص بدلًا من كتابة نص الرسالة داخل الشيفرة البرمجية، وذلك جنبًا إلى جنب مع البادئة ":User" لتوضيح أن النص المعروض هو رسالة المستخدم. السطر السادس، أضفنا التابع append لإضافة رسالة المستخدم إلى قائمة الرسائل المرسلة إلى الروبوت خلال الجلسة، وبذلك نضمن ردود الروبوت مترابطة ومنطقية لأنه سيكون لديه سجل المحادثة الخاصة بالجلسة، ثم أضفنا لهذا التابع مصفوفة بتنسيق Json بها مُطالبة واحدة مكونة من معاملين: المعامل الأول: عينا له المفتاح role وهو الذي يحدد سلوك المطالبة، وعينا لهذا المفتاح القيمة "User" للإشارة إلى أن الرسالة من المستخدم. المعامل الثاني: عينا له المفتاح content للإشارة إلى الرسالة المراد إرسالها لروبوت المحادثة، وحددنا لهذا المفتاح القيمة المتغير content المخزن بداخله محتوى الرسالة التي أدخلها المستخدم. السطر السابع إلى التاسع، لم نغير شيئ إلا بالوسيط الثاني، فقد أضفنا المتغير messages إلى نفسه لتخزين جميع الرسائل المرسلة والمستقبلة خلال الجلسة. السطر الحادي عشر، أضفنا في نهايته التابع content لعرض محتوى نص استجابة الروبوت فقط دون عرض أي تفاصيل أخرى. السطر الأخير، تطبع الدالة print الاستجابة التي أُرسلت من الروبوت، جنبًا إلى جنب مع البادئة ":ChatGPT" لتوضيح أن النص المعروض هو استجابة الروبوت. وبعد انتهاء تنفيذ السطر الأخير تعيد حلقة التكرار تنفيذ الشيفرة البرمجية مرةً أخرى، وذلك للحصول على إدخال جديد من المستخدم ثم الحصول على استجابة جديدة من الروبوت؛ وهكذا إلى ما لا نهاية حتى تغلق المحادثة يدويًا. سوف تلاحظ أن أسئلة الروبوت مترابطة ومتسقة مع ردودك عليه، لذا لن تشعر أن الأسئلة التي يسألك عنها متباعدة بين بعضها البعض نوعيًا، بل أنه يتذكر المعلومات التي تقدمها له أثناء جلسة المحادثة ليسألك عنها خلال المقابلة، فعلى سبيل المثال: بالصورة التالية عندما أخبرته في إحدى إجابتي أنني أعمل كمتخصص تكنولوجيا معلومات، بعدها سألني عن مشروع عملت عليه كمتخصص تكنولوجيا معلومات واجهت به صعوبة. وبناءً على هذا المثال البسيط، يمكنك تطبيق فكرتك التي تريدها من ChatGPT ودمجها مع تطبيقك بطريقة أكثر فعالية، سواء كنت ترغب في تحسين خدمة العملاء، أو الحصول على إجابات سريعة ودقيقة على أسئلتك، أو حتى في تطوير تطبيقات محادثة متقدمة. تكلفة استخدام ChatGPT API قبل البدء في الاستفادة من واجهة برمجة تطبيقات ChatGPT من الضروري فهم نظام التسعير الخاص بشركة OpenAI، فالشركة تستخدم مقياسًا اسمه "الرمز المميز Token" الذي يمثل عدد الكلمات والحروف والأرقام والرموز والمسافات التي تُستخدم لإنشاء النص المُدخل إلى ChatGPT API، ويحتسب الرمز المميز وتعتمد كيفية تقسيم الكلمات إلى رموز مميزة أيضًا على اللغة المستخدمة، ولكي تتضح لك الصورة كما يجب فهذه الجملة الإنجليزية "My name is Mostafa Amaan" مكونة من 7 رموز مميزة؛ أما هذه الجملة العربية "أنا اسمى مصطفى أمان" مكونة من 24 رمز مميز، فعلى الرغم من أن عدد الحروف في الجملة العربية أقل من الجملة الإنجليزية، إلا أن عدد الرموز المميزة بالجملة العربية أكبر من الجملة الإنجليزية. حدود الرمز المميز يُعد حساب عدد الرموز المميزة tokens أمرًا مهمًا، وذلك لأن ChatGPT API تفرض حدًا على عدد الرموز المميزة المسموح به في كل استدعاء، ويتطلب هذا من المستخدمين تقييم عدد الـ tokens المطلوبة لتوليد النص الذي يحتاجونه، ومن ثَمَّ تحدد لهم تكلفة الاستخدام بناءً على هذا الحد. واعتمادًا على النموذج المستخدم (GPT-3.5-turbo أو GPT-4)، يمكن للمطالبات أو التعليمات prompts استخدام ما يصل إلى 4096 رمزًا مميزًا مشتركًا بين المطالبة prompt والاستجابة؛ بمعنى أنه إذا كانت مطالبتك (رسالتك المرسلة للنموذج) مكونة من 4000 رمزًا مميزًا، فإن الاستجابة (رد النموذج على رسالتك) ستكون مكونة من 96 رمزًا مميزًا فقط. يُعد هذا الحد حاليًا قيدًا تقنيًا، ولكن غالبًا ما تكون هناك طرائق للتغلب على المشكلات ضمن الحد، فعلى سبيل المثال: من الممكن تكثيف المطالبة، بحيث تستخدم أقل عدد من الكلمات لتوصيل المعنى المطلوب؛ وهنا يُنصح باستخدام هذه الأداة الرسمية التي تتيح إمكانية حساب عدد الرموز المميزة، ومن الممكن أيضًا تقسيم النص إلى أجزاء أصغر ثم تقديم كل جزء في مطالبة مستقلة. تسعير الرمز المميز تُقدم واجهة برمجة التطبيقات أنواعًا متعددةً من النماذج بخطط أسعار مختلفة، لذلك تُسعر الطلبات المرسلة إلى هذه النماذج بطريقة مختلفة عن كل نموذج، وهذه هي التفاصيل حول تسعير الرمز المميز لكل نموذج. الآن، يوجد سؤال يطرح نفسه بقوة، ألا وهو: أنا أملك حسابًا مجانيًا، فما علاقتي بخطط الأسعار هذه؟ نعم OpenAI توفر حسابات مجانية لتجربة النماذج الخاصة بها، لكن في حقيقة الأمر إن هذه الحسابات ليست مجانية بل حسابات مدفوعة، فإذا ذهبت إلى البيانات الخاصة بحسابك ثم انتقلت إلى صفحة "الاستخدام Usage"، سوف تلاحظ وجود رصيد من الأموال بعملة الدولار بحسابك مخصوم منه قيمة استخدام الرموز المميزة، وستلاحظ أيضًا وجود تاريخ لانتهاء صلاحية هذا الرصيد كما هو موضح بالصورة التالية: وبناءً على ذلك وحتى لا نقع في فخ استنفاذ رصيدنا على استهلاك الرموز المميزة بسرعة، يمكننا تقديم تحسين جديد على الشيفرة البرمجية السابقة لتحديد العدد الأقصى للرموز المميزة التي نقدمها بالمطالبة، وهذا التحسين هو عبارة عن سطر واحد فقط، وهو max_tokens=1024، لتصبح الشيفرة البرمجية كما يلي: completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", max_tokens=1024, messages=messages ) ويمكنك تعديل قيمة الـ max_tokens حتى العدد 2048 وهو العدد الأقصى للرموز المميزة عند استخدام النموذج gpt-3.5-turbo؛ أما في حالة استخدام النموذج GPT-4، فالعدد الأقصى للـ max_tokens هو 4096 رمزًا مميزًا. بطبيعة الحال، هذه ليست جميع التحسينات التي يمكن إدخالها على هذه الشيفرة البرمجية، لذا يمكنكم المشاركة باقتراح تحسينات على هذه الشيفرة البرمجية خاتمة في ختام هذه المقالة، يمكن القول إن واجهة تطبيقات ChatGPT تُعد أحد الحلول المبتكرة في مجال التحدث الآلي وتوليد النصوص، حيث يمكن استخدامها في العديد من التطبيقات المختلفة، فقد وضحنا مفهوم API بشكل عام، وكذلك API الخاص بـ GPT خصوصًا، بالإضافة إلى التفاصيل التقنية لاستخدامه وبعض الأمثلة المحددة لتطبيقاته في المجالات المختلفة. وعلى الرغم من أن استخدام ChatGPT API يواجه بعض المشاكل التي تحتاج إلى حلول مبتكرة، إلا أن الفوائد التي يمكن الحصول عليها من استخدامه تجعله من الحلول الواعدة في المستقبل. لذلك، يمكن القول إن استخدام ChatGPT API يمثل خطوةً مهمةً في تحسين الخدمات المقدمة عبر الإنترنت وتحسين تجربة المستخدم، ونتوقع أن يستمر التطور في هذا المجال وظهور العديد من التطبيقات الجديدة التي تعتمد على هذا الحل الواعد. وإلى هنا نكون قد وصلنا إلى نهاية هذا المقال الذي نتمنى أن يكون قد أضاف لكم معلومات جديدة ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات. المصادر ?What is ChatGPT API? How to Use it ?What are tokens and how to count them التوثيق الرسمي لشركة openai حول ChatGPT اقرأ أيضًا تعرف على بوت المحادثة الذكي شات جي بي تي ChatGPT تدريب بوت المحادثة ChatGPT وتعليمه كيف يتحدث ويتعلم تطوير تطبيق 'علمني' لاستكشاف المواضيع باستخدام جافا سكريبت و ChatGPT تطوير تطبيق 'اختبرني' باستخدام ChatGPT ولغة جافاسكربت مع Node.js برمجة تطبيق 'لخصلي' لتلخيص المقالات باستخدام ChatGPT ولارافل
  5. مرحبًا بكم مجددًا في هذا الدليل الذي يستكشف عالم بوت المحادثة الثوري ChatGPT المعتمِد على الذكاء الاصطناعي لإنشاء محادثات شبيهة بالإنسان. لقد تناولنا بالمقال السابق مواضيع مختلفة، مثل: ما هو ChatGPT وكيف بدأ، ومراحل تطويره، وفوائده ومميزاته، ومقارنته بغيره من بوتات المحادثة المزودة بالذكاء الاصطناعي؛ كما تناولنا مختلف تطبيقات استخدام ChatGPT، والقيود والتحديات التي تواجهه، وكيفية الوصول إليه واستخدامه. أما في هذا المقال، سنغوص أكثر في عملية تدريب بوت المحادثة ChatGPT والتقنيات المختلفة المستخدمة في تطويره، وسنستكشف المفاهيم الأساسية التي تُمكِّن البوت من الحفاظ على محادثات طبيعية وبديهية مع البشر، كما سنتناول التقنيات وخوارزميات التعلم الآلي التي تُستخدم لتدريب ChatGPT، ومجموعات البيانات التي تمكنه من فهم تفاصيل لغة الإنسان. وسنستكشف أيضًا دور التعلم غير الخاضع للإشراف الذي يسمح لـ ChatGPT بالتعلم والتحسين من خلال الخبرات، مما يجعله أداةً مفيدةً لمختلف الصناعات. لذا، ودون إطالة، ندعوك لمواصلة قراءة هذه المقالة حتى النهاية حتى تعرف كيف تمكَّن ChatGPT من إجراء محادثات طبيعية مع البشر، ولنتعرف هنا أولًا، سنتعرف على التقنيات وخوارزميات التعلم الآلي ومجموعات البيانات المستخدمة في تدريب ChatGPT، ثم نتعمق في خطوات تدريب هذا البوت! تقنية التدريب المسبق Pre-Training فيما يلي سوف نناقش تقنيةً تسمى التدريب المُسْبَق لبوت المحادثة ChatGPT، وهي خطوة حاسمة في تعليم البوت كيفية إجراء محادثات طبيعية وبديهية مع البشر. تعريف وأهمية التدريب المسبق التدريب المسبق في ChatGPT هو عملية تعليم بوت المحادثة كيفية فهم اللغة البشرية قبل أن يبدأ في التحدث إلى الناس، وهذا الإجراء مهم جدًا، نظرًا لكون لغة البشر معقدةً للغاية، إذ هناك العديد من الطرائق المختلفة لقول نفس الشيء، لذلك من خلال عملية التدريب المسبق لـ ChatGPT، يمكنها مساعدته على فهم الفروق الدقيقة في اللغة البشرية وتحسين قدرته على إجراء محادثات هادفة مع الناس. على سبيل المثال، تخيل أنك تحاول تعليم صديق لك كيفية لعب لعبة جديدة عليه، بالتالي إذا بدأت للتو في لعب اللعبة معه دون شرح لأي من قواعدها، فمن المحتمل أن يشعر بالارتباك والإحباط، لكن إذا استغرقت بعض الوقت لتعليمه القواعد وشرح كيفية اللعب له، فسيكون لديه فهمًا أفضل للعبة وسيكون قادرًا على الاستمتاع بها أكثر. كذلك الأمر مع بوت المحادثة ChatGPT، إذ تشبه عملية تعليمه اللغة البشرية قواعد تعلم "لعبة جديدة". خوارزميات تقنية التدريب المسبق هناك العديد من خوارزميات التعلم الآلي المستخدمة في تقنية التدريب المسبق على بوت ChatGPT، بما في ذلك التعلم غير الخاضع للإشراف unsupervised learning، ونقل التعلم transfer learning، والتعلم تحت الإشراف الذاتي self-supervised learning. تساعد هذه الخوارزميات ChatGPT على التعلم وتحسين فهمه للغة من خلال أنواع مختلفة من بيانات التدريب. التعلم غير الخاضع للإشراف يتشابه هذا النوع من التعلم مع التعلم عن طريق الملاحظة. تخيل أنك جالس في حديقة تشاهد الناس يلعبون الطبق الطائر، وليس لديك مدرب يخبرك بما يجب عليك أن تفعله، ولكن لا يزال بإمكانك التعلم من خلال مشاهدة الأنماط والعلاقات بين اللاعبين وتعلم اللعب. يُدرب ChatGPT في التعلم غير الخاضع للإشراف على البيانات دون أي تسميات أو إرشادات محددة، مما يسمح له بالتعلم من الأنماط والعلاقات داخل البيانات نفسها. نقل التعلم يشبه استخدام المعرفة من مهمة واحدة لمساعدتك في تعلم مهمة أخرى، فعلى سبيل المثال: إذا كنت تتعلم كيفية لعب الشطرنج فيمكنك البدء بتعلم الحركات والاستراتيجيات الأساسية، وبمجرد إتقان اللعبة يمكنك استخدام هذه المعرفة لمساعدتك في تعلم ألعاب الطاولة الأخرى. في نقل التعلم يأخذ ChatGPT المعرفة المكتسبة من مهمة واحدة ويطبقها على مهمة أخرى، مما يساعده على التعلم بسرعة وأكثر كفاءة. التعلم تحت الإشراف الذاتي في التعلم تحت الإشراف الذاتي يُدرب ChatGPT على مهمة لا تتطلب أي تسميات أو إرشادات محددة، مثل التنبؤ بالكلمات المفقودة في الجملة، وهذا يساعده على تحسين قدرته في فهم اللغة. ولشرح هذا النوع من التعلم أكثر، تخيل أنك تحاول تعلم كيفية ركوب الدراجة، وأنت في هذه الحالة لست بحاجة إلى شخص يخبرك بما يجب عليك أن تفعله، بل ما عليك سوى التدرب والتعلم من أخطائك. فوائد التدريب المسبق في ChatGPT تتمتع تقنية التدريب المسبق بالعديد من الفوائد، بما في ذلك تحسين قدرة ChatGPT على فهم الفروق الدقيقة في لغة الإنسان، وزيادة قدراته في المحادثة، والسماح له بالتعلم والتكيف مع المهام والمجالات الجديدة بسهولة أكبر، فمن خلال التدريب المسبق يمكننا التأكد من أن لديه أساسًا قويًا من المعرفة والفهم، مما يُمكن أن يساعده في أن يصبح أداةً أكثر فائدةً وفعاليةً في مختلف الصناعات والتطبيقات. على سبيل المثال، تخيل أنك تحاول استخدام ChatGPT للإجابة على أسئلة خدمة العملاء لمتجر عبر الإنترنت، وهنا إذا لم يكن ChatGPT مُدَرَّبًا مسبقًا، فقد لا يفهم الطرائق المختلفة التي قد يَطرح بها العملاء نفس السؤال، مثل "أين طلبي؟"، مقابل سؤال "متى ستصل شحنتي؟"؛ ولكن إذا دُرِّب مسبقًا على مجموعة متنوعة من أسئلة ومحادثات خدمة العملاء، فسيكون مجهزًا بطريقة أفضل لفهم استفسارات العملاء والرد عليها. تقنية الصقل Fine-Tuning فيما يلي سوف نناقش تقنيةً تسمى الصقل لبوت المحادثة ChatGPT، وهي خطوة حاسمة في تحسين أدائه في تنفيذ مهام محددة. تعريف وأهمية الصقل Fine-Tuning الصقل Fine-Tuning في ChatGPT هو عملية يُدرب من خلالها النموذج ChatGPT -الذي دُرِّب مسبقًا- على مهمة أو مجال معين، مثل: الإجابة على أسئلة خدمة العملاء أو إنشاء كلمات الأغاني، وهذا مهم لأنه على الرغم من أن ChatGPT قد دُرِّب مسبقًا على مجموعة واسعة من المهام اللغوية، إلا أنه لا يزال بحاجة إلى صقله لتحقيق أداء جيد في مهام أو مجالات محددة. ولكي نفهم هذا بصورة أوضح، دعنا نستخدم مثال تعلم العزف على آلة العود. إذا كان لديك فهم عام لنظرية الموسيقى وكيفية العزف على الأوتار الأساسية، فهذا أمرٌ رائع! ومع ذلك لكي تعزف لحنًا معينًا، ستحتاج إلى ممارسة ذلك اللحن مرارًا وتكرارًا حتى تتقن لحنه بطريقة صحيحة. يتشابه الصقل في ChatGPT مع عزف لحن معين على آلة العود، إذ يمنح النموذج المدرَّب مسبقًا ChatGPT فهمًا جيدًا للغة، لكن صقله لأداء مهمة معينة يساعده في أن يصبح خبيرًا في هذا المجال. خوارزميات تقنية الصقل هناك العديد من خوارزميات التعلم الآلي المستخدمة في الصقل لبوت ChatGPT، بما في ذلك التعلم الخاضع للإشراف supervised learning، ونقل التعلم، والتعلم من الصفر أو البداية learning from scratch. يتضمن التعلم الخاضع للإشراف تزويد ChatGPT بالبيانات المصنفة، مثل: أمثلة الأسئلة والأجوبة، حتى يتمكن من تعلم كيفية إنشاء إجابات دقيقة، ويتضمن نقل التعلم أخذ المعرفة المكتسبة من مهمة واحدة وتطبيقها على مهمة أخرى، مما يسمح لـ ChatGPT بالتعلم بطريقة أسرع وأكثر كفاءة، ويتضمن التعلم من البداية أو من نقطة الصفر تدريب ChatGPT على مهمة أو مجال معين دون استخدام أي معرفة موجودة مسبقًا. دعنا نواصل مع مثال العزف على آلة العود لفهم هذه الأساليب بصورة أوضح، يشبه التعلم الخاضع للإشراف وجود مدرس موسيقى يوضح لك كيفية عزف لحن معين خطوةً بخطوة، ويشبه التعلم بالنقل تعلم العزف على لحن جديد باستخدام تقنيات ومعرفة من اللحن الذي تعلمته بالفعل؛ أما التعلم من الصفر فيشبه محاولة تعلم لحن جديدة لكن بمفردك دون أي توجيه من المدرس أو معرفة مسبقة لديك. فوائد الصقل في ChatGPT هناك العديد من الفوائد لتقنية الصقل في ChatGPT، بما في ذلك تحسين أدائه في تنفيذ مهام محددة، وتقليل كمية البيانات اللازمة للتدريب، وزيادة دقته وكفاءته، وتسمح تقنية الصقل أيضًا لـ ChatGPT بالتكيف مع المهام والمجالات الجديدة بسهولة أكبر، مما يجعله أداة أكثر تنوعًا وإفادة. وبالاستمرار مع مثال آلة العود، يمكن القول إن فوائد تقنية الصقل تشبه فوائد ممارسة لحن معين، فمن خلال التدرب على لحن معين تصبح أفضل في عزف هذا اللحن، لكنك تُحَسِّن أيضًا مهاراتك العامة في العزف على آلة العود. وبالمثل، فمن خلال ضبط ChatGPT لمهمة أو مجال معين، يصبح أفضل في تنفيذ هذه المهمة، بالإضافة إلى التحسن في فهم اللغة وقدرات المحادثة بوجه عام. مجموعات البيانات المستخدمة للتدريب Datasets عندما يُدرب بوت المحادثة ChatGPT سيحتاج إلى تزويده بالعديد من الأمثلة على النص حتى يتمكن من تعلم الأنماط والعلاقات في اللغة، وتسمى هذه الأمثلة بـ "مجموعات البيانات Datasets". أهمية مجموعات البيانات في تدريب ChatGPT تُعَد مجموعات البيانات ضروريةً لتدريب ChatGPT لأنها توفر الأمثلة التي يحتاجها بوت المحادثة لتعلم كيفية فهم وإنشاء نص شبيه بالبشر، فبدون مجموعات البيانات لن يتمكن ChatGPT من تعلم كيفية إجراء محادثات طبيعية مع الناس. نظرة عامة على مجموعات البيانات المستخدمة لتدريب ChatGPT هناك العديد من مجموعات البيانات التي تستخدم عادةً لتدريب ChatGPT، وأحد مجموعات البيانات هذه يُطلق عليه Common Crawl وهو أحد أكبر وأكثر مجموعات البيانات شيوعًا، فهو يتضمن مجموعةً كبيرةً من النصوص من الإنترنت. وهناك مجموعة بيانات أخرى مستخدمة تسمى BooksCorpus، والتي تتضمن مجموعةً كبيرةً من الكتب في مختلف الأنواع. أما مجموعة بيانات WebText فهي مجموعة بيانات أخرى شائعة الاستخدام وتتضمن نصًا من مواقع ويب مختلفة، وتُختار مجموعات البيانات هذه بعناية لتوفير مجموعة واسعة من الأمثلة النصية لـ ChatGPT للتعلم منها. مزايا وقيود كل مجموعة بيانات كل مجموعة بيانات مستخدمة لتدريب ChatGPT لها مزاياها وقيودها؛ فمجموعة بيانات Common Crawl مثلَا، مفيدة لأنها تحتوي على قدر هائل من النصوص من مصادر مختلفة، مما يسمح لـ ChatGPT بالتعلم من مجموعة متنوعة من أنماط اللغة، ومع ذلك فإن أحد قيود مجموعة بيانات Common Crawl هو أنه يشتمل على الكثير من المحتوى، مثل: البريد العشوائي أو النص منخفض الجودة، مما قد يمثل تحديًا لـ ChatGPT للتعلم منه. من ناحية أخرى، تُعَد مجموعة بيانات BooksCorpus مفيدةً لأنها تتضمن نصوصًا من تصنيفات مختلفة، مما يسمح لـ ChatGPT بالتعلم من مجموعة متنوعة من أنماط اللغة، ومع ذلك فإن أحد القيود هو أنها قد لا تكون مثاليةً في استخدام اللغة الحديثة، مثل مجموعات البيانات الأخرى، لأنها تتضمن في الغالب الكتب القديمة. تُعَد مجموعة بيانات WebText مفيدةً لأنها تتضمن نصوصًا من مواقع ويب مختلفة، مما يسمح لـ ChatGPT بالتعلم من مجموعة متنوعة من أنماط اللغة المستندة إلى الويب؛ ومع ذلك فإن أحد القيود المفروضة هنا هو أنها قد تتضمن لغةً أكثر رسمية أو أقل تنظيمًا من مجموعات البيانات الأخرى، مما قد يجعل من الصعب على ChatGPT التعلم منها. نماذج اللغات الكبيرة LLMs كما ذكرنا في المقال السابق، ينتمي بوت المحادثة ChatGPT إلى مجموعة من النماذج تسمى: "نماذج اللغات الكبيرة Large Language Models" والمعروفة اختصارًا بـ LLMs، وهي نماذج يمكنها استيعاب وتحليل كميات هائلة من البيانات النصية، وأصبح استخدام هذه النماذج أكثر شيوعًا في السنوات الأخيرة بفضل قدرات وقوة أجهزة الحاسوب، وكلما زاد عدد البيانات والمعلِّمات التي تمتلكها نماذج LLMs، أصبح فهم اللغة أفضل. وتشير "المعلمات" في نماذج اللغات الكبيرة LLMs إلى المتغيرات أو الإعدادات التي يستخدمها النموذج لعمل تنبؤات وإنشاء نص، حيث تتشابه هذه المعلمات مع التعليمات التي تخبر النموذج بكيفية معالجة اللغة وفهمها، وكلما زاد عدد المعلمات التي يمتلكها النموذج، أصبح أكثر مرونةً وقوةً في فهم اللغة وتوليدها. فعلى سبيل المثال، لنفترض أن النموذج يحتوي على معلمة تسمى "المفردات"، حيث تخبر هذه المعلمة النموذج بكل الكلمات التي يعرفها ومعانيها، وكلما زاد عدد الكلمات التي يعرفها النموذج، كان بإمكانه فهم واستخدام مجموعة كبيرة من المفردات بطريقة أفضل عند التحدث إليك. من ناحية أخرى، يمكن أن تكون المعلمة الأخرى هي "القواعد النحوية". تساعد هذه المعلمة النموذج في معرفة كيفية بناء الجُمَل بطريقة صحيحة، حيث فإذا تعلم النموذج الكثير من القواعد النحوية، فيمكنه التأكد من أن ردوده منطقية وتتبع الهيكل المناسب للجملة. ومع ذلك، من المهم ملاحظة أن وجود عدد كبير من المعلمات لا يعني بالضرورة أن النموذج سيفهم اللغة تمامًا أو يؤدي أداءً لا تشوبه شائبة، في حين أن المزيد من المعلمات يمكن أن يُحسن الأداء إلى حد معين إلا أن هناك عوامل أخرى يجب مراعاتها، مثل: جودة وتنوع بيانات التدريب، وهيكل النموذج، وعملية التدريب نفسها، وهي عوامل تلعب أيضًا أدوارًا مهمة في مدى فهم النموذج للغة. عادةً ما تُدرب نماذج LLMs على التنبؤ بالكلمة التالية في الجملة Next-token-prediction وذلك بناءً على الكلمات التي تسبقها. فعلى سبيل المثال: إذا كانت الجملة هي "تجلس القطة على ____" ، فإن نماذج LLMs سوف تتوقع أن الكلمة التالية هي "الكرسي" أو "السجادة" أو أي كلمة أخرى ذات صلة، وهذا ما يسمى بالتنبؤ بالرمز التالي. هناك طريقة أخرى يمكن من خلالها تدريب نماذج LLMs وهي من خلال نمذجة اللغة المُقَنَّعة Masked-Language Modeling، وفي هذه الطريقة تُستبدل بعض الكلمات في الجملة بمسافات فارغة، وعلى النموذج أن يتنبأ بالكلمات المفقودة. فعلى سبيل المثال: إذا كانت الجملة هي "____أكلت الفأر"، فيجب أن تتنبأ نماذج LLMs بأن الكلمة المفقودة هي "القطة"، وغالبا هذا التنبوء يكون من خلال نموذج "الذاكرة طويلة قصيرة المدى Long-Short-Term-Memory" والمعروف اختصارًا بـ LSTM، حيث يملأ هذا النموذج الفراغ بالكلمة المحتملة الأنسب بالنظر إلى السياق المحيط. قيود نماذج LLMs على الرغم من قدرات نماذج اللغات الكبيرة في معالجة اللغة الطبيعية، إلا أن لديها بعض القيود، وهي كما يلي: أولًا، القدرة Capability مقابل المواءمة Alignment. يشير مفهوم القدرة Capability إلى ما يستطيع نموذج اللغة الكبير تنفيذه، فعلى سبيل المثال: هل يمكنه ترجمة اللغات أو الإجابة عن الأسئلة أو إنشاء كتابة إبداعية؟ أما مفهوم المواءمة Alignment فيشير إلى ما إذا كان نموذج اللغة الكبير يتماشى مع القيم والأهداف الإنسانية، وهذا يعني أنه يجب تصميم النموذج لإعطاء الأولوية لأشياء مثل الإنصاف والأمان والخصوصية. والسبب الذي يجعل القدرة مقابل المواءمة قضيةً مهمة هو أنه نظرًا لأن هذه النماذج اللغوية الكبيرة تصبح أكثر قوةً وتُستخدم على نطاق أوسع، فإنها بذلك تصبح أكثر تأثيرًا في حياتنا، فعلى سبيل المثال: إذا استُخدم نموذج لغوي لاتخاذ قرارات بشأن من سيُعَيَّن لوظيفة أو من سيُوافَق عليه للحصول على قرض، فمن المهم أن يتماشى النموذج مع القيم الإنسانية لمنع التحيز والتمييز. لنأخذ مثالًا أوضح. تخيل أن لديك صديقًا يحب لعب ألعاب الفيديو، وفي أحد الأيام يخبرك صديقك أنه يلعب لعبةً جديدةً ذات مؤثرات بصرية عالية قريبة إلى حدٍ كبيرٍ للطبيعية، لكن هذه اللعبة تعلمه أن يكون لئيمًا مع الناس وتكافئه لكونه عدوانيًا ولا تشجعه على أن يكون طيبًا. يشير هذا المثال إلى اختلال المواءمة لعدم توافق قيم وأهداف اللعبة (الفوز بأي ثمن) مع القيم الإنسانية (أن تكون طيبًا وعادلًا). وبالمثل، فإن نموذج اللغة الكبير الذي يتمتع بقدرات كبيرة ولكن هذه القدرات لا تتماشى مع القيم الإنسانية، يمكن أن يتسبب أيضًا في حدوث ضرر. فعلى سبيل المثال، إذا استُخدم نموذج لغوي لكتابة مقالات إخبارية ولكن هذا النموذج تدرب على بيانات متحيزة أو غير دقيقة، فقد ينتهي به الأمر إلى نشر معلومات مضللة أو إدامة الصور النمطية الضارة. المصدر assemblyai.com ثانيًا، لا يمكنها إعطاء وزن أكبر لبعض الكلمات دون الأخرى، وذلك حتى لو كانت بعض الكلمات أكثر أهميةً في سياق الجملة. فعلى سبيل المثال، إذا كانت الجملة هي "زيد ____ القراءة" فالكلمة الأكثر احتمالًا للتنبؤ بالنسبة للنموذج ستكون "يكره" استنادًا إلى أن غالبية الناس تكره القراءة حسب ما ورد بقاعدة البيانات، لكن ماذا لو كان زيد على العكس من ذلك ويحب القراءة؟ ثالثًا، بالإضافة إلى ما سبق، يمكن لنماذج LLMs فقط معالجة المدخلات الفردية بالتتابع وليس ككل، وهذا يَحُد من قدرتها على فهم العلاقات المعقدة بين الكلمات والمعاني. ولمعالجة هذه القيود قَدَّم فريق Google Brain نوعًا جديدًا من النماذج يسمى المحولات Transformers في عام 2017، حيث تختلف المحولات عن نماذج LLMs في أنها تستطيع معالجة جميع بيانات الإدخال في وقت واحد وليس بالتسلسل، مستخدمةً في ذلك آلية الانتباه الذاتي self-attention لإعطاء وزن أكبر لأجزاء معينة من بيانات الإدخال فيما يتعلق بتسلسل اللغة، وهذا يسمح للمحولات بفهم العلاقات بين الكلمات والمعاني بطريقة أفضل، ثم معالجة مجموعات البيانات الأكبر. بعبارات أبسط، تخيل أنك تحاول قراءة كتاب وفهمه، هنا سوف تقرأ نماذج LLMs صفحةً واحدةً فقط في كل مرة، وقد لا تتمكن من فهم الروابط الأعمق بين أجزاء مختلفة من الكتاب، بينما المحولات ستكون قادرةً على قراءة الكتاب بأكمله مرةً واحدة، مع فهم كيفية ارتباط جميع الأجزاء المختلفة ببعضها بعضًا. GPT وآلية الانتباه الذاتي هل سبق لك أن استخدمت تطبيق ترجمة لغة لترجمة كلمة أو جملة من لغة إلى أخرى؟ حسنًا، ماذا عن GPT والتي تعني Generative Pre-training Transformer أو المحولات التوليدية المدربة مسبقًا؟ يُعَد GPT نسخةً متقدمةً من مترجم اللغة! فهو يساعد أجهزة الحاسوب على فهم وترجمة لغة الإنسان حتى نتمكن من التحدث إلى أجهزة الحاسوب ويمكنهم الرد علينا. تحصل نماذج GPT على بعض المعلومات من خلال (الإدخالات) التي ينفذها المستخدم، ثم يستخدم النموذج تلك المعلومات أو الإدخالات لإنشاء (الاستجابة) أو الرد. وتنفذ نماذج GPT ذلك باستخدام آلية خاصة تسمى الانتباه الذاتي التي تسمح لنموذج GPT، وهذا بالتركيز على أجزاء مختلفة من نص الإدخال لفهم المعنى والسياق بطريقة أفضل، ثم إعطاء استجابة صحيحة، تمامًا مثلما تقرأ قصةً عن قطة، فقد تولي مزيدًا من الاهتمام للأجزاء التي تصف القطة، واهتمامًا أقل للأجزاء التي تصف المشهد. ولتنفيذ ذلك يمر النموذج بأربع خطوات كما يلي: أولًا، يُنشئ النموذج ثلاثة أرقام مختلفة لكل كلمة أو عبارة تسمى "المتجهات"، الأول متجه "استعلام" والثاني متجه "مفتاح" والثالث متجه "قيمة"، فإن متجهات الاستعلام والمفتاح والقيمة تشبه المقصورات أو الأقسام المختلفة، يطرح الاستعلام سؤالاً، ويقدم المفتاح أدلة لهذا السؤال، وتعطي القيمة الإجابات على هذا السؤال، ويتعلم النموذج من العديد من الجُمل لتعيين قيم لهذه المتجهات واستخدامها لفهم وتوليد استجابات ذات مغزى. ثانيًا، يقارن متجه "الاستعلام" كل كلمة أو عبارة مع متجه "المفتاح" لكل كلمة أو عبارة أخرى في الجملة، ويساعد هذا الإجراء النموذج في معرفة الكلمات أو العبارات الأكثر أهمية لفهم الجملة بأكملها. ثالثًا، يأخذ النموذج نتائج هذه المقارنة ويحولها إلى مجموعة من الأرقام تسمى "أوزان" توضح مدى أهمية كل كلمة أو عبارة للجملة. رابعًا، بضرب النموذج هذه الأوزان في متجه "القيمة" لكل كلمة أو عبارة للحصول على رقم يسمى "متجه نهائي" يمثل مدى أهمية هذه الكلمة أو العبارة لمعنى الجملة بأكملها. آلية الانتباه الذاتي متعدد الرؤوس تُعد آلية الانتباه متعدد الرؤوس أو Multi-head attention امتدادًا للانتباه الذاتي الذي يسمح لنموذج GPT بفهم العلاقات والمعاني الفرعية الأكثر تعقيدًا بطريقة أفضل داخل نص الإدخال؛ فعلى سبيل المثال، تشبه آلية الانتباه متعدد الرؤوس وجود مجموعة من الأصدقاء تساعدك على قراءة قصة، بحيث يركز كل صديق على جزء مختلف من القصة، مما يساعدك على فهمها بطريقة أفضل، كذلك الأمر لدى هذه الآلية، فهي تساعد نموذج GPT على فهم العلاقات الأكثر تعقيدًا داخل النص. وينفذ نموذج GPT مع آلية الانتباه الذاتي متعدد الرؤوس نفس الخطوات التي ينفذها من آلية الانتباه الذاتي، إلا أن آلية الانتباه الذاتي متعدد الرؤوس تكرر الخطوات الأربع التي ذكرناها للتو بالتوازي عدة مرات، وفي كل مرة يولد إسقاطًا خطيًا جديدًا لمتجهات الاستعلام والمفتاح والقيمة، ومن خلال توسيع الانتباه الذاتي بهذه الطريقة يكون النموذج قادرًا على استيعاب المعاني الفرعية والعلاقات الأكثر تعقيدًا داخل بيانات الإدخال. وعلى الرغم من أن نماذج GPT-1 و GPT-2 و GPT-3 قدموا تطورات ملحوظة في معالجة اللغة الطبيعية، إلا أنهم يعانون من بعض القيود، فقد يُنتج نموذج GPT-3 مخرجات مثل: الافتقار إلى المساعدة، مما يعني أن النموذج لا يتبع تعليمات المستخدم الصريحة. استجابة تحتوي على الهلوسة، مما يعكس حقائق غير موجودة أو غير صحيحة. عدم القدرة على التفسير، مما يجعل من الصعب على البشر فهم كيفية وصول النموذج إلى قرار أو تنبؤ معين. تضمين محتوى سامًا أو متحيزًا أو ضارًا أو مسيئًا، مما يتسبب في نشر معلومات مضللة. لذلك طُرحت منهجيات تدريب مبتكرة في ChatGPT المبني على نموذج GPT-3.5 وفي ChatGPT المبني على النموذج الأحدث GPT-4 لمواجهة بعض هذه القضايا المتأصلة في نماذج اللغات الكبيرة LLMs. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن تدريب ChatGPT المبني على نموذج GPT-3.5 يُعَد ChatGPT المبني على نموذج GPT-3.5 نسخةً معدلةً من InstructGPT، لكن ما يميز ChatGPT هو أنه يستطيع التعامل مع طلبات واستجابات متعددة مع الحفاظ على سياق المحادثة؛ أما InstructGPT فيستطيع التعامل مع طلب واحد ثم تقديم استجابة واحدة لهذا الطلب في كل مرة استخدام. يعود الفضل إلى InstructGPT الذي حل بعض القيود التي تواجه نماذج اللغات الكبيرة، فقد قدم نهجًا جديدًا في تدريب النماذج يدمج فيها تعليقات الإنسان في عملية التدريب لتحسين توافق نتائج النموذج مع نوايا المستخدم؛ ويُعرف هذا النهج باسم "التعلم المعزز من التقييمات البشرية Reinforcement Learning from Human Feedback"، والمعروفة اختصارًا بـ RLHF، ثم اعتمدت شركة OpenAI هذا النهج في تدريب نموذج GPT-3.5. ويتكون هذا النهج من ثلاث خطوات أساسية كما يلي: أولاً، خطوة نموذج الصقل الخاضع للإشراف SFT. ثانيًا، خطوة نموذج المكافأة RM. ثالثًا، خطوة نموذج تحسين السياسة القريبة PPO. تُنفذ الخطوة الأولى مرةً واحدةً فقط، بينما يمكن تكرار الخطوتين الثانية والثالثة باستمرار لجمع المزيد من بيانات المقارنة للوصول إلى أفضل سياسة تدريب، دعونا نغوص الآن في تفاصيل كل خطوة! الخطوة الأولى: نموذج الصقل الخاضع للإشراف SFT تُسمى الخطوة الأولى من نهج RLHF بنموذج "الصقل الخاضع للإشراف Supervised Fine-Tuning" والمعروف اختصارًا بـ SFT. تدور هذه الخطوة حول تعليم النموذج كيفية فهم لغة الإنسان وتوليد استجابات منطقية. تخيل أنك تحاول تعليم روبوت كيفية فهم تعليماتك وتنفيذها، يمكنك البدء بإعطاء الروبوت مجموعة من التعليمات ثم مطالبته بأداء مهمة بناءً على تلك التعليمات. قد لا ينفذ الروبوت ما تريده منه بالضبط في البداية، ولكن مع الملاحظات والتعديلات التي سوف تقدمها له، سيكون في إمكانه بالنهاية تعلم تنفيذ تلك التعليمات بطريقة أفضل. يعمل نموذج SFT بطريقة مماثلة، حيث يُعطى النموذج اللغوي المُدرَّب مسبقًا مجموعةً صغيرةً من التعليمات النموذجية، تسمى هذه التعليمات بـ "بيانات العرض التوضيحي" التي نُسقت بواسطة أشخاص مدَرَّبين على إنشاء مجموعة بيانات تتضمن أمثلةً على المدخلات (المطالبات) والمخرجات (الاستجابات) الصحيحة المقابلة لها، ثم "يُصقل" نموذج اللغة على هذه البيانات، مما يعني أنه قد دُرِّب لتوليد استجابات تتماشى مع المطالبات، ليصبح نموذج SFT الناتج هو بمثابة خط أساس لفهم الروبوت لكيفية اتباع التعليمات. دعونا نجعل هذا الأمر أكثر واقعية! تخيل أن التعليمات هي "صنع شطيرة زبدة الفول السوداني والهلام"، قد تتضمن بيانات العرض التوضيحي أمثلة مثل "افرد زبدة الفول السوداني على شريحة واحدة من الخبز، ثم افرد الهلام على الشريحة الأخرى، ثم ضع الشريحتين معًا، ثم اقطع الشطيرة إلى نصفين"؛ وبذلك يكون نموذج SFT قد تدرب على إنشاء استجابات تتبع هذه الخطوات. لكن حتى الآن نموذج SFT ليس مثاليًا، الأمر مشابه تمامًا للروبوت، فقد لا يصنع الشطيرة بطريقة صحيحة من المرة الأولى، فقد يولد نموذج SFT استجابات ليست تمامًا ما يتوقعه الإنسان، لكن على الرغم من ذلك يُعد هذا أمرًا جيدًا، فبالإمكان استخدام ردود الفعل من البشر لمساعدة النموذج على التحسن، وهو ما تدور حوله الخطوة التالية من نهج RLHF في تدريب نماذج اللغات الكبيرة. المصدر openai.com الخطوة الثانية: نموذج المكافأة RM في الخطوة الثانية من نهج RLHF، نريد تحسين نموذج SFT الذي أنشأناه في الخطوة الأولى باستخدام ردود الفعل من البشر، نطلق على هذه التعليقات اسم "المكافآت" لأنها تعطي مكافأةً لنموذج SFT عندما يولد استجابة جيدة تتوافق مع التوقعات البشرية. ولجمع هذه المكافآت نطلب من البشر التصويت على عدد كبير من الردود الناتجة عن نموذج SFT. فعلى سبيل المثال، تخيل أننا نطلب من مجموعة من الأشخاص تقييم مدى استجابة نموذج SFT للتعليمات "اصنع شطيرة زبدة الفول السوداني والهلام"، فقد يصنفون الردود على مقياس من 1 إلى 4، حيث يمثل الرقم 4 أفضل استجابة تتوافق تمامًا مع توقعاتهم. بعد ذلك، تُستخدم التقييمات من البشر لإنشاء مجموعة بيانات جديدة من "بيانات المقارنة"، وتتضمن بيانات المقارنة هذه أزواجًا من الردود التي أُنشأت بواسطة نموذج SFT جنبًا إلى جنب مع التقييمات المقدمة من البشر، ثم تُستخدم مجموعة البيانات هذه لتدريب نموذجًا جديدًا يسمى "نموذج المكافأة Reward Model" والمعروف اختصارًا بـ RM. يُدرب نموذج المكافأة على التنبؤ بالتقييم الذي سوف يعطيه الإنسان لاستجابة معينة أُنشأت بواسطة نموذج SFT، على سبيل المثال: إذا كان نموذج SFT يولد استجابة لتعليمات "صنع شطيرة زبدة الفول السوداني والهلام"، فإن نموذج RM سوف يتنبأ بمدى تقييم الإنسان لتلك الاستجابة على مقياس من 1 إلى 4. دعونا نجعل هذا الأمر أكثر واقعية، تخيل أن لديك إنسانًا آليًا يمكنه صنع الشطائر، لكنك تريده أن يصنع الشطائر التي تحبها. ولتنفيذ ذلك يمكنك تذوق الشطائر وتقديم ملاحظات إلى الروبوت حول ما أعجبك وما لم يعجبك، ثم يستخدم الروبوت هذه التقييمات لتحسين مهاراته في صنع الشطائر. بالطريقة نفسها يأخذ نموذج المكافأة المخرجات الناتجة عن نموذج SFT ويقدمها إلى مجموعة من الأشخاص الذين يقدمون ملاحظات حول المخرجات التي يفضلونها، وبناءً على هذه التعليقات يتعرف نموذج المكافأة على نوع الإخراج المفضل ويولد مجموعة جديدة من بيانات التدريب التي يمكن أن يستخدمها نموذج SFT لتحسين أدائه. المصدر openai.com الخطوة الثالثة: نموذج تحسين السياسة القريبة PPO الآن بعد أن أصبح لدينا نموذج مكافأة RM والذي يمكننا استخدامه لتحسين نموذج الصقل الخاضع للإشراف SFT وذلك من خلال استخدام أحد خوارزميات التعلم المعزز يُطلق عليها "تحسين السياسة القريبة Proximal Policy Optimization" والمعروفة اختصارًا بـ PPO، والتي تساعد النموذج على تعلم كيفية اتخاذ قرارات أفضل من خلال التعلم من التجربة والخطأ، ثم التحسين التدريجي لقواعد اتخاذ القرار أو "السياسة". دعونا نجعل هذا الأمر أكثر واقعية، ولنفترض أنك تُعلم أحد أصدقائك كيفية لعب لعبة فيديو جديدة، وفي كل مرة يتخذ فيها صديقك إجراءً في اللعبة يحصل على ملاحظات منك "إذا فعلت شيئًا جيدًا مثل جمع عملة معدنية، فإنك تحصل على المزيد من النقاط، وإذا فعلت شيئًا سيئًا مثل الضرب من قِبَل عدو، فإنك تفقد نقاطًا"، والهدف من هذه الملاحظات هو كيفية حصول صديقك على أعلى درجة ممكنة باللعبة. كذلك يساعد نموذج PPO نماذج اللغات الكبيرة وهو في حالتنا GPT-3.5 على التعلم من خلال التجربة والخطأ، ثم تحسين قواعد اتخاذ القرار تدريجيًا خطوةً واحدةً في كل مرة، وذلك من خلال إجراء تغييرات صغيرة على قواعد اتخاذ القرار في النموذج، وتحسينها تدريجيًا بمرور الوقت، مما يساعد على منع النموذج من ارتكاب أخطاء كبيرة أو الوقوع في نمط اتخاذ قرار سيئ. وتختلف خوارزمية PPO عن خوارزميات تعليم النماذج الأخرى في أنها تحدث سياسة النموذج أثناء تنفيذه للمهمة، بدلًا من الانتظار حتى انتهائه من المهمة، وهذا يجعل النموذج أكثر قابليةً للتكيف والقدرة على التعلم من الأخطاء بسرعة، كما تستخدم خوارزمية PPO دالة القيمة لمساعدتها على معرفة مدى نجاحها، فتحدد دالة القيمة مقدار المكافأة التي سيحصل عليها النموذج مقابل تنفيذ عمل معين في موقف معين، مما يساعد هذا الإجراء النموذج على اتخاذ قرارات أكثر ذكاءً بشأن ما يجب فعله بعد ذلك. ولمنع النموذج من الانحراف بعيدًا جدًا عن سياسته والإفراط في تحسين نموذج المكافأة وإفساد كل شيء، تضع خوارزمية PPO بعض القيود على مدى إمكانية تغييرها سياسة النموذج مرةً واحدة، وذلك من خلال استخدام عقوبة Kullback–Leibler لكل رمز، ويشبه هذا الإجراء القاعدة التي تنص على أن استجابات النموذج لا يمكن أن تكون مختلفةً جدًا عما قد يقوله الإنسان، مما يساعد النموذج على البقاء في المسار الصحيح والاستمرار في التعلم من المدخلات البشرية. المصدر openai.com تقييم نموذج GPT-3.5 عندما نتحدث عن تقييم نموذج لغوي مثل GPT-3.5 الذي طورته OpenAI اعتمادًا على نموذج GPT-3 ليكون أكثر قوة ودقة، مما يجعله صالحًا للاستخدام في مجموعة واسعة من التطبيقات، مثل: إنشاء النصوص والإجابة على الأسئلة وترجمة اللغة، فإننا بذلك نحاول تقييم مدى قوة أدائه في المهام المختلفة، أو بعبارة أخرى نريد أن نعرف مدى دقته و موثوقيته إذا كنا سنستخدم النموذج لتطبيقات العالم الحقيقي. إذًا، السؤال الذي يطرح نفسه الآن، هو: كيف نقيم نموذج لغة مثل GPT-3.5؟ حسنًا، تتضمن عملية التقييم عادةً اختبار النموذج على مجموعة من المهام أو مجموعات البيانات المصممة لقياس أدائه، على سبيل المثال: قد نختبر النموذج في مهمة تتضمن إنشاء فقرة متماسكة من النص بناءً على عملية إدخال معينة، ولتقييم أداء النموذج في هذه المهام تُستخدم مجموعة من المقاييس: الدقة: هي أحد المقاييس الشائعة في التقييم، فهي تخبرنا عن عدد المرات التي ينتج فيها النموذج المخرجات الصحيحة. الارتباك: يقيس الارتباك مدى قدرة النموذج على التنبؤ بالكلمة التالية في تسلسل نصي بناءً على الكلمات السابقة في التسلسل، فتشير درجات الحيرة المنخفضة إلى أن النموذج أفضل في التنبؤ بالكلمة التالية، مما يعني أن النموذج لديه فهمًا أفضل للغة. التماسك: يقيس التماسك مدى جودة قراءة النص الذي أُنشأ بواسطة النموذج كما لو أنه كتبه إنسان، مع وجود روابط منطقية بين الأفكار والاستخدام المناسب للقواعد. الطلاقة: يقيس الطلاقة مدى قدرة النموذج على إنشاء نصًا صحيحًا نحويًا وخاليًا من الأخطاء. يمكن أن تعطينا هذه المقاييس فكرةً جيدةً عن مدى جودة أداء النموذج، والأماكن التي قد تحتاج إلى تحسين. فعلى سبيل المثال، إذا كان النموذج يُنشئ نصًا غير دقيق أو مربك، فقد نحتاج إلى تعديل بيانات التدريب الخاصة به أو معلماته لتحسين أدائه. سؤال آخر يطرح نفسه الآن، وهو: لماذا التقييم مهم في تطوير ChatGPT؟ حسنًا، كما ذكرنا سابقًا نحتاج إلى التأكد من أن النموذج ينتج نتائج دقيقةً وموثوقةً إذا كنا سنستخدمه في تطبيقات العالم الحقيقي، لذلك يساعدنا التقييم على تحديد أي نقاط ضعف في النموذج وإدخال تحسينات عليه. بالإضافة إلى ذلك، يساعدنا التقييم على مقارنة النماذج المختلفة ومعرفة أيها يعمل بطريقة أفضل، كما يمكن أن يكون التقييم مفيدًا أكثر للباحثين الذين يحاولون تطوير نماذج لغوية جديدة وأفضل. تدريب نموذج GPT-4 كانت OpenAI حذرةً بشأن إصدار التفاصيل الفنية لنموذج GPT-4، حيث امتنع التقرير الفني صراحةً عن تحديد حجم النموذج أو البنية أو الأجهزة المستخدمة أثناء التدريب، في حين وصف التقرير أن النموذج دُرِّب باستخدام نهج "التعلم المعزز من التقييمات البشرية Reinforcement Learning from Human Feedback"، إلا أنه لم يقدم تفاصيل عن التدريب، بما في ذلك العملية التي أجريت من خلالها بناء مجموعة بيانات التدريب، أو قوة الحوسبة المطلوبة، أو أي معلمات فائقة مثل معدل التعلم، عدد الحقبة، أو المحسنات المستخدمة. وادعى التقرير أن "المشهد التنافسي والآثار المترتبة على السلامة لنماذج اللغات الكبيرة" كانت من العوامل التي أثرت على هذا القرار. خاتمة في ختام هذه المقالة، نستطيع القول بأن تدريب ChatGPT يمثل إنجازًا هائلًا في مجال تعلم الآلة ومعالجة اللغة الطبيعية، فبفضل تقنيات التدريب المسبق والصقل، تمكنت ChatGPT من توليد نصوص ذات جودة عالية وشديدة الاقتران بالواقع، وهو ما يفتح الأبواب أمام استخدامات عدة في مجالات الذكاء الاصطناعي والتكنولوجيا الحديثة. وعلى الرغم من أن تدريب ChatGPT يُعَد إنجازًا هائلًا، إلا أن هذا لا يعني أن الطريق أمامه مفروشًا بالزهور، فما زال هناك الكثير من التحديات التي تواجه هذا المجال، وخاصةً فيما يتعلق بمجموعات البيانات المستخدمة، ولكن بفضل الابتكارات الحالية والعمل الجاد للباحثين والمهندسين، يمكننا الأمل في مزيد من التحسن والتطور في هذا المجال. وبناءً على ذلك، يجدر بنا التذكير بأن تطوير ChatGPT هو جزء من مسيرة طويلة نحو تحسين قدرات الآلة على التفاعل الذكي مع البشر، وهو ما يمثل تحديًا حقيقيًا يتطلب الكثير من الجهد والعمل الشاق، وبفضل هذه الجهود المتواصلة نأمل في أن نصل إلى مستويات جديدة من الذكاء الاصطناعي تُسهم في تحقيق المزيد من الاكتشافات الرائعة في هذا المجال. وإلى هنا نكون قد وصلنا إلى نهاية هذا المقال الذي نتمنى أن يكون قد أضاف لكم معلومات جديدة ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات. المصادر Training language models to follow instructions with human feedback Introducing ChatGPT openai.gpt-4 GPT-4 wikipedia ChatGPT Statistics and Facts You Need to Know‏ 50 Behind ChatGPT’s Wisdom: 300 Bn Words, 570 GB Data Hacker News اقرأ أيضًا تعرف على بوت المحادثة الذكي شات جي بي تي ChatGPT برمجة تطبيق 'ألهمني' لعرض النصائح والحكم المفيدة باستخدام ChatGPT في Node.js برمجة تطبيق 'لخصلي' لتلخيص المقالات باستخدام ChatGPT ولارافل تطوير تطبيق 'وصفة' لاقتراح الوجبات باستخدام ChatGPT و DALL-E في PHP تطوير تطبيق 'اختبرني' باستخدام ChatGPT ولغة جافاسكربت مع Node.js
  6. مرحبًا بك في الدرس الأخير من سلسلة دروس بناء متجر إلكتروني متعدد اللغات بنظام Magento 2، ولمن فاته الدرس السابق فقد تعرفنا فيه على بوابات الدفع في نظام ماجنتو 2، أما في هذا الدرس سنتعلم من خلاله كيفية إضافة المحتوى في متجر إلكتروني بنظام ماجنتو Magento 2. يشير مصطلح "التسويق بالمحتوى" إلى فن الترويج لمنتجاتك أو خدماتك من خلال توفير معلومات قيمة لعملائك بدون مقابل، وتساعد جودة المحتوى الخاص بك في تمييز متجرك عن الآخرين، مما يزيد من فرص ظهورك لمحركات البحث لتوفر الدعم لعملائك، وغالبًا ما يكون أسلوب البيع الناعم هذا أكثر فاعليةً من الحملات الإعلانية لأنه يبني المصداقية والثقة بينك وبين العملاء، مما يُسهم في تحويل متجرك إلى وجهة للزيارات، فكل ذلك مرجعه أن المحتوى هو الملك. ويحدد المحتوى الخاص بك الصفحات والعناصر التي يراها العملاء عند وصولهم إلى متجرك، فيمكنك تحديد العناصر الأساسية لصفحاتك مثل النصوص والصور، بالإضافة إلى عناصر أكثر تقدمًا توفر محتوى تفاعليًا وديناميكيًا لتحسين تجربة التسوق، لذلك نحن في هذا الدرس سوف نغطي المواضيع التي لها علاقة بالمحتوى وهي كما يلي: القالب Theme. الشعار Logo. الصفحات الأساسية. إنشاء صفحة جديدة. ترجمة الصفحات إلى العربية. الكُتل الثابتة. العناصر Widgets. ترجمة الكُتل الثابتة. تخصيص الصفحة الرئيسية. القالب Theme يُعد استخدام قالب لمتجرك الإلكتروني أمرًا مهمًا لأنه يحدد كيفية تقديم محتوى متجرك ومنتجاته للعملاء، كما يتحكم القالب في المظهر المرئي لمتجرك بما في ذلك التخطيط ونظام الألوان والتصميم العام. يمكن للقالب المصمم جيدًا تحسين تجربة العميل من خلال جعل المتجر يبدو أكثر جاذبيةً واحترافية، مما يؤدي إلى زيادة ثقة العملاء في متجرك، وبالتالي المزيد من المبيعات. وبالإضافة إلى ذلك يمكن للقالب الجذاب بصريًا أن يجعل متجرك يبرز ويظهر أكثر حداثة مما قد يجذب المزيد من العملاء. تجدر الإشارة أيضًا إلى أن استخدام قالب سريع الاستجابة يُعد أمرًا مهمًا أيضًا، لأنه يضمن لك أن متجرك عبر الإنترنت يتكيف ويظهر بمظهر رائع عبر الأجهزة المختلفة مثل أجهزة سطح المكتب والأجهزة اللوحية والهواتف الذكية؛ وهناك العديد من القوالب المتاحة عبر متجر ماجنتو أو عبر الإنترنت، والتي يمكنك استخدامها لتغيير مظهر متجرك. لذلك، من المهم اختيار قالب يلبي الاحتياجات المحددة لعملك ويجعل من السهل التنقل في متجرك واستخدامه للعملاء. في حالتنا نحن سنحتاج إلى قالب بسيط يدعم اتجاه العرض من اليمين إلى اليسار RTL حتى لا نحتاج إلى التعديل بملفات CSS الخاصة بالقالب كما فعلنا بالدرس الثاني مع القالب الافتراضي Luma، وبناءً على ذلك وبعد إجراء عملية بحث مطولة، وجدنا لكم القالب Breeze Evolution وهو قالب بسيط ومجاني، ولتثبيت هذا القالب على متجرنا اتبع الخطوات التالية: أولًا، انتقل إلى مجلد مشروع ماجنتو من خلال موجه الأوامر، وذلك بكتابة الأمر التالي: cd /var/www/html/<اكتب هنا اسم مجلد المشروع> ثانيًا، أكتب الأوامر الخمسة المجمعة التالية لتثبيت القالب: sudo composer require swissup/breeze-evolution && sudo php bin/magento setup:upgrade && sudo php bin/magento setup:static-content:deploy -f && sudo php bin/magento cache:clean && sudo php bin/magento cache:flush ثالثًا، سجل الدخول إلى الواجهة الخلفية لنظام ماجنتو ثم انتقل إلى شريط القوائم الجانبي وانقر على "المحتوى"، ومن القائمة التي ستظهر اختر منها "الضبط". وبالنافذة التي ستظهر، سوف تُعرض لك جميع واجهات عرض المتجر التي أنشأتها، حيث يمكنك تعيين القالب لجميع واجهات العرض أو تعيين القالب لواجهة عرض محددة، وفي حالتنا سوف نعيِّن القالب لجميع واجهات عرض المتجر. انقر الآن على زر "تعديل" الموجود بنهاية الصف الأول لتعيين القالب للمتجر بالكامل. ومن خلال قسم "القالب الافتراضي"، انقر على القائمة المنسدلة واختر اسم القالب Breeze Evolution، ثم انقر على الزر "حفظ"، ولا تنسَ أن تمسح ذاكرة التخزين المؤقت. أخيرًا، انتقل إلى الواجهة الأمامية لمتجرك ستجد أن القالب الجديد يعمل بدلًا من قالب Luma الافتراضي. الشعار Logo يُعد وجود شعار لمتجرك الإلكتروني أمرًا مهمًا للأسباب التالية: أولًا، يساعد الشعار على إنشاء هوية لعلامتك التجارية والاعتراف بها، إذ يمكن للشعار المصمم جيدًا أن ينقل قيم ورسالة علامتك التجارية، مما يسهل التعرف عليها للعملاء؛ كما يمكن أن يساعد ذلك في بناء الثقة والولاء بينك وبين العملاء، مما يزيد من احتمالية عودتهم إلى متجرك في المستقبل. ثانيًا، يمكن أن يساعد الشعار أيضًا في إنشاء مظهر احترافي ومصقول لمتجرك، ويمكن للشعار عالي الجودة أن يجعل متجرك يبدو أكثر مصداقيةً وجدارةً بالثقة، مما قد يجذب المزيد من العملاء ويعزز المبيعات. ثالثًا، يمكن أيضًا استخدام الشعار عبر قنوات التسويق المختلفة، مثل وسائل التواصل الاجتماعي وحملات البريد الإلكتروني والمواد المطبوعة؛ مما يجعل علامتك التجارية أكثر اتساقًا ويمكن التعرف عليها عبر جميع نقاط الاتصال. بوجه عام، يُعد الشعار عنصرًا أساسيًا لبناء علامة تجارية قوية ومعروفة لمتجرك عبر الإنترنت، فهو يساعد على إنشاء هوية العلامة التجارية ويخلق مظهرًا مصقولًا ومهنيًا يمكن استخدامه عبر قنوات التسويق المختلفة. يمكنك بسهولة إضافة شعارك إلى متجرك عن طريق تحميله إلى الواجهة الخلفية لمتجرك، لكن من المهم التأكد من أن شعارك بالتنسيق والحجم الصحيحين حتى يُعرض بطريقة صحيحة في متجرك وعبر الأجهزة المختلفة. ولإضافة شعارك على متجرك الإلكتروني، اتبع الخطوات التالية: أولًا، انتقل إلى شريط القوائم الجانبي وانقر على "المحتوى"، ومن القائمة التي ستظهر اختر منها "الضبط"، وبالنافذة التي ستظهر، سوف تُعرض لك جميع واجهات عرض المتجر، بالتالي يمكنك تعيين الشعار لجميع واجهات العرض أو تعيين الشعار لواجهة عرض محددة (في حالة كان لديك شعار باللغة العربية وآخر باللغة الإنجليزية). وفي حالتنا سوف نعيِّن الشعار لجميع واجهات عرض المتجر. انقر الآن على زر "تعديل" الموجود بنهاية الصف الأول لتعيين الشعار للمتجر بالكامل. ثانيًا، مرر لأسفل حتى تصل إلى قسم "رأس الصفحة"، فمن خلال هذا القسم يمكنك إضافة صورة الرمز المفضل التي تظهر في علامة التبويب للمتصفح، أيضًا يمكنك إضافة اسم المتجر الإلكتروني والوصف التعريفي والكلمات الرئيسية. ثالثًا، انتقل إلى قسم "الترويسة"، فمن خلال هذا القسم يمكنك إضافة شعار المتجر والنَص البديل الخاص بصورة الشعار، ويمكنك ترك باقي الإعدادات كما هي. رابعًا، انتقل إلى قسم "ذيل الصفحة" فمن خلال هذا القسم يمكنك إضافة بيان حقوق النشر ثم انقر على الزر "حفظ"، ولا تنسَ أن تمسح ذاكرة التخزين المؤقت. أخيرًا، انتقل إلى الواجهة الأمامية لمتجرك ستجد أن الرمز المفضل وشعار المتجر وبيان حقوق النشر قد عُرضوا كما حَددتهم. الصفحات الأساسية يمكن عرض المحتوى من حيث مدة صلاحيته تمامًا مثل أي منتج في متجرك، فعلى سبيل المثال: هناك المحتوى ذي العمر الافتراضي القصير، فمحتوى الوسائط الاجتماعية والأحداث وأخبار الصناعة والبيانات الصحفية تكون مدة صلاحيته أقل من 24 ساعة. هناك المحتوى ذي العمر الافتراضي الطويل، فمحتوى قصص نجاح العملاء وتعليمات حل المشكلات والأسئلة الشائعة (FAQ) تكون مدة صلاحيته طويلة أو كما يقال عليها دائمة الخضرة. لذلك يحتوي متجر ماجنتو على أمثلة لصفحات المحتوى الأساسية ذات العمر الافتراضي الطويل لمساعدتك على البدء، ويمكنك تعديل كل هذه الصفحات أو إضافة صفحات جديدة لتلبية احتياجاتك وتأكد من أن المحتوى ينقل رسالتك وصوتك وعلامتك التجارية، ولعرض تلك الصفحات انتقل إلى شريط القوائم الجانبي وانقر على "المحتوى"، ومن القائمة التي ستظهر اختر منها "الصفحات"، وبالنافذة التي ستظهر سوف تعرض لك جميع الصفحات الأساسية بالنظام. الصفحة الرئيسية هل تعلم أن معظم الأشخاص يقضون بضع ثوانٍ فقط على الصفحة الرئيسية قبل أن يقرروا البقاء بمتجرك أو الذهاب إلى متجر آخر؟ نعم، ليس أمامك وقت طويل حتى تترك انطباعًا جيدًا، لذلك مهما كان التصميم الذي تختاره يجب أن ينقل كل شيء على صفحتك الرئيسية الزوار إلى الخطوة التالية في عملية البيع، فالفكرة هي توجيه انتباههم في تدفق متماسك من نقطة اهتمام إلى أخرى. وبناءً على ذلك ستجد أن الصفحة الرئيسية خالية من المحتوى افتراضيًا، وسوف نتناول كيفية إضافة محتوى إليها في وقتٍ لاحقٍ من هذا الدرس. صفحة سياسة الخصوصية يتضمن متجرك نموذجًا لسياسة الخصوصية التي يجب تحديثها بمعلوماتك الخاصة، لذا يجب أن تصف سياسة الخصوصية الخاصة بك نوع المعلومات التي يجمعها متجرك وكيفية استخدامها، كما يجب أن تسرد أيضًا أسماء ملفات تعريف الارتباط التي تُضع على أجهزة حاسوب العملاء الذين يزورون متجرك؛ كما يجب تضمين أي ملفات تعريف ارتباط إضافية مرتبطة بملحقات ووظائف إضافية تابعة لجهات خارجية في القائمة. ولتعديل المحتوى بصفحة سياسة الخصوصية، انقر على "تحديد" ثم اختر من القائمة "تعديل". ومن النافذة التي ستظهر وسع قسم "المحتوى" ثم انقر على "تحرير باستخدام منشئ الصفحة". سوف تلاحظ أن الصفحة مكتوبة بصيغة HTML، عدّل ما يلزم على المحتوى، ثم انقر على زر "حفظ". صفحة 404 لم يتم العثور سُميت صفحة 404 لم يتم العثور كرمز الاستجابة الذي يتم إرجاعه عندما يتعذر العثور على الصفحة المطلوبة، وتعمل عمليات إعادة التوجيه للروابط المعطوبة على تقليل عدد المرات التي تظهر فيها هذه الصفحة. مع ذلك يمكنك أيضًا الاستفادة من ظهور هذه الصفحة لتقديم بعض الروابط إلى المنتجات التي قد يجدها العميل مثيرة للاهتمام. يمكنك تعديل المحتوى بصفحة 404 لم يتم العثور بنفس الخطوات التي عدلنا بها المحتوى بصفحة سياسة الخصوصية. صفحة تمكين ملفات تعريف الارتباط تظهر صفحة تمكين ملفات تعريف الارتباط عندما لا تكون لدى زوار موقعك ملفات تعريف ارتباط ممكّنة في المستعرضات الخاصة بهم، وتوفر الصفحة إرشادات مصورة خطوةً بخطوة لتمكين ملفات تعريف الارتباط للمتصفحات الأكثر شيوعًا. ويمكنك تعديل المحتوى بصفحة تمكين ملفات تعريف الارتباط بنفس الخطوات التي عدلنا بها المحتوى بصفحة سياسة الخصوصية. كانت هذه هي الصفحات الأساسية المضمنة بنظام ماجنتو، ونصيحتنا لك عدم الاكتفاء بتلك الصفحات فقط، بل يجب عليك إضافة بعض الصفحات الأخرى، فعلى سبيل المثال أنشئ صفحةً توضّح بها سياسة الإرجاع واسترداد الأموال، وصفحةً أخرى توضح بها سياسة الشحن والتسليم، فبوجود هاتين الصفحتين بمتجرك من شأنه زيادة الشفافية والمصداقية بين متجرك والعملاء مما يزيد من فرص عودتهم مرةً أخرى للشراء من متجرك. تكوين الصفحات الافتراضية يحدد تكوين الصفحات الافتراضية الصفحة المقصودة المرتبطة بعنوان URL الأساسي والصفحة الرئيسية المقابلة، كما تحدد الصفحة التي تظهر عند حدوث خطأ لم يتم العثور على الصفحة، وما إذا كان مسار التنقل يظهر أعلى كل صفحة. من خلال الشريط الجانبي للمسؤول بالواجهة الخلفية انتقل إلى "المتاجر" ثم انقر على "الضبط"، ومن اللوحة الجانبية انقر على "عام" ثم اختر "الويب" ثم وسع قسم "الصفحات الافتراضية". يشير الحقل الأول إلى الصفحة المقصودة المرتبطة بعنوان URL الأساسي. افتراضيًا، يكون هذا الحقل معيّنًا على cms للإشارة إلى صفحة من نظام إدارة المحتوى التجاري. يمكنك أيضًا استخدام نوع مختلف من الصفحات المقصودة مثل المدونة. فإذا ثَبَّت مدونةً على الخادم في المسار magento/blog مثلًا، فيمكنك إدخال اسم مجلد المدونة كمسار نسبي لتحديد الصفحات. يشير الحقل الثاني إلى اختيار الصفحة الرئيسية للمتجر، وما عليك سوى تحديد صفحة CMS من القائمة المنسدلة، وافتراضيًا تسرد "الصفحة الرئيسية" لنظام إدارة المحتوى المجموعة الكاملة لصفحات CMS المتاحة لمتجرك. يشير الحقل الثالث إلى عنوان URL للصفحة الافتراضية التي تريد ظهورها عند حدوث خطأ 404 لم يتم العثور على الصفحة، والقيمة الافتراضية هي cms/noroute/index. يشير الحقل الرابع إلى تحديد صفحة CMS معينة التي تريد ظهورها عند حدوث خطأ 404 لم يتم العثور على الصفحة. يشير الحقل الخامس إلى تحديد صفحة CMS معينة التي تظهر عندما لا تكون ملفات تعريف الارتباط ممكنةً للمتصفح. يشير الحقل الأخير إلى تحديد ما إذا كان مسار التنقل يظهر في جميع صفحات CMS في الكتالوج، والخيارات هي: نعم/ لا. إنشاء صفحة جديدة إن عملية إضافة صفحة محتوى إلى متجرك هي نفسها لأي نوع من الصفحات التي قد ترغب في إنشائها، لذا يمكنك تضمين النص والصور وكتل المحتوى والمتغيرات والعناصر، ولقد صُممت معظم صفحات المحتوى للقراءة بواسطة محركات البحث أولًا (عنوان الصفحة ومفتاح URL والبيانات الوصفية والمحتوى) ثم بواسطة الأشخاص ثانيًا، لذلك ضع في اعتبارك احتياجات كل من هذين الجمهورين المختلفين، وعند اكتمال صفحتك يمكن إضافتها إلى التنقل في متجرك أو ربطها بصفحات أخرى أو ربطها من تذييل متجرك أو استخدامها كصفحة رئيسية جديدة. ولقد ذكرنا منذ قليل أنك بحاجة إلى إنشاء صفحة لسياسة الإرجاع واسترداد الأموال، لذلك توجهك الإرشادات التالية خلال كل خطوة لإنشاء هذه الصفحة. أولًا، في البداية ستحتاج إلى توفير بنود السياسة التي سوف تعتمدها لعرضها في متجرك، ولكي تكون هذه السياسة ذات بنود قياسية، وفرنا لك هذا الموقع الذي من خلاله يمكنك إنشاء العديد نماذج السياسات، يكفي أن تسجل الدخول، ثم حدد النموذج الذي تريد إنشاءه، ثم أجب عن الأسئلة التي سوف يطرحها عليك لتحديد بنود السياسة، وفي النهاية يمكنك الحصول على هذه البنود بصيغة شيفرة HTML. تنويه: نظرًا لأن الحساب المجاني بهذا الموقع يتيح لك إمكانية إنشاء نموذج واحد فقط، ففي حالة كنت تريد إنشاء أكثر من نموذج، فيمكنك بعد إتمام النموذج الأول أن تحذفه ثم تنشئ النموذج الجديد، وهكذا. ثانيًا، عُد مرةً أخرى إلى ماجنتو وانتقل إلى شريط القوائم الجانبي، وانقر على "المحتوى". ومن القائمة التي ستظهر، اختر منها "الصفحات"، ومن النافذة التي ستظهر، انقر على زر "إضافة صفحة جديدة". ومن النافذة التي ستظهر إذا كنت لا تريد نشر الصفحة على الفور، فعَيِّن "تمكين الصفحة" إلى القيمة "لا"، ثم أدخل عنوان الصفحة وهو الذي سيظهر في شريط التنقل. ثالثًا، وسع قسم "المحتوى" ثم أدخل اسم عنوان للمحتوى وهو الذي سيظهر كعنوان H1، ثم انقر على زر "تحرير باستخدام منشئ الصفحة" للبدء في إضافة المحتوى للصفحة. رابعًا، بالنافذة التي ستظهر ستجد شريطًا جانبيًا به العديد من العناصر التي يمكنك من خلالها إضافة المحتوى الذي تريده عن طريق السحب والإلقاء ثم التعديل بهذه العناصر بما يناسب محتواك، وفي حالتنا المحتوى الذي نريد إضافته هو شيفرة HTML، لذلك سوف نسحب العنصر "شيفرات HTML"، ثم نلقيه إلى أعلى منطقة العمل البيضاء. أشِّر بمؤشر الفأرة على هذه الحاوية لتظهر الإعدادات الخاصة بها، ثم انقر على رمز الإعداد. الآن سوف تظهر لك نافذة لإضافة شيفرة HTML التي حصلت عليها من الموقع المذكور أعلاه بالخطوة الأولى، وبعد الانتهاء من إضافة الشيفرة انقر على زر "حفظ". سوف تعود مرةً أخرى إلى نافذة عناصر المحتوى، وعندها يمكنك حفظ هذا المحتوى كقالب لإعادة استخدامه مرةً أخرى، وذلك من خلال النقر على زر "حفظ كقالب"، وبعد الانتهاء انقر على زر "السهمين المتقابلين" لغلق وضع ملء الشاشة. خامسًا، وسّع قسم "تحسين محركات البحث" ثم أدخل البيانات الخاصة بكل حقل بما يناسب قواعد الـ SEO، وسوف تلاحظ أن حقل "مفتاح الرابط" يُضيفه النظام تلقائيًا اعتمادًا على عنوان الصفحة الذي أدخلته مع إجراء بعض التعديلات عليه، مثل تحويل جميع الحروف إلى صغيرة واستبدال المسافات إلى شرطة. سادسًا، وسع قسم "الصفحة في مواقع الويب" لتحديد واجهات العرض التي ستُعرض بها هذه الصفحة. سابعًا، وسع قسم "التصميم" لتغيير تخطيط عرض الصفحة، ونظرًا إلى أنها صفحة تعرض بنود سياسة فالخيار الأفضل للتخطيط هو "1 عامود". ثامنًا، بعد الانتهاء انقر على زر حفظ، ثم امسح ذاكرة التخزين المؤقت. أخيرًا، انتقل إلى الواجهة الأمامية للمتجر، ثم أضف مفتاح رابط الصفحة إلى عنوان المتجر الخاص بك بالمتصفح لعرض صفحة سياسة الإرجاع واستعادة الأموال التي أنشأتها. ترجمة الصفحات إلى العربية نظرًا إلى أننا نبني متجر متعدد اللغات ويدعم اللغة العربية فنحن في حاجة إلى ترجمة جميع صفحات المتجر (سواء الأساسية المضمنة بالنظام أو التي أنشأناها جديد) إلى اللغة العربية، وكمثال على تنفيذ ذلك سوف نعمل على ترجمة صفحة "سياسة الإرجاع واستعادة الأموال" التي أنشأناها للتو، ثم يمكنك بعد ذلك تنفيذ نفس الخطوات لترجمة باقي الصفحات. أولًا، انتقل إلى شريط القوائم الجانبي وانقر على "المحتوى"، ومن القائمة التي ستظهر اختر منها "الصفحات"، ومن النافذة التي ستظهر حدد الصفحة المراد ترجمتها وافتحها في وضع التعديل. ثانيًا، انتقل إلى قسم "تحسين محركات البحث" ثم وسِّعه، ومن خلال الحقل "مفتاح الرابط" انسخ عنوان الرابط الذي بداخله. وسع قسم "الصفحة في مواقع الويب" ثم عدل واجهة العرض لتكون الواجهة الإنجليزية فقط، ثم انقر على زر "حفظ"، ثم انقر على زر "رجوع". ثالثًا، انقر على زر "إضافة صفحة جديدة"، ثم أدخل عنوانًا مناسبًا للصفحة باللغة العربية. رابعًا، أعد تنفيذ الخطوة الثالثة والرابعة من خطوات إنشاء صفحة جديدة الخاصتين بإضافة المحتوى للصفحة، وبالطبع هذه المرة سوف نضع المحتوى باللغة العربية، وذلك من خلال ترجمة النصوص بشيفرة HTML الخاصة بالصفحة الإنجليزية. خامسًا، وسع قسم "تحسين محركات البحث" ومن خلال الحقل "مفتاح الرابط" ألصق بداخله مفتاح رابط الصفحة الإنجليزية الذي نسخناه بالخطوة الثانية، ثم ترجم النصوص في باقي حقول القسم. سادسًا، وسع قسم "الصفحة في مواقع الويب" ثم حدّد واجهة العرض العربية لهذه الصفحة. سابعًا، وسع قسم "التصميم" لتغيير تخطيط عرض الصفحة، ونظرًا إلى أنها صفحة تعرض بنود سياسة، فالخيار الأفضل للتخطيط هو "1 عامود". ثامنًا، بعد الانتهاء انقر على زر حفظ، ثم امسح ذاكرة التخزين المؤقت. أخيرًا، انتقل إلى الواجهة الأمامية للمتجر، ثم أضف مفتاح رابط الصفحة إلى عنوان المتجر الخاص بك بالمتصفح لعرض صفحة سياسة الإرجاع واستعادة الأموال التي أنشأتها. الكتل الثابتة الكتلة هي وحدة معيارية للمحتوى يمكن وضعها في أي مكان على الصفحة، ويُشار أحيانًا إلى كتل المحتوى على أنها كتل ثابتة أو كتل CMS، والتي يمكن استخدامها لعرض معلومات ثابتة مثل النصوص والصور ومقاطع الفيديو المضمنة والمعلومات الديناميكية التي تُوفَّر بواسطة عنصر واجهة المستخدم API أو التي تُنشأ في قاعدة بيانات أو مصدر آخر، ومعظم العناصر الموجودة في الصفحة الرئيسية عبارة عن كتل يمكن إدارتها بسهولة. يمكن إنشاء كتل مخصصة من المحتوى ثم إضافتها إلى أي صفحة أو مجموعة صفحات أو حتى إلى كتلة أخرى، فعلى سبيل المثال، يمكنك وضع شريط تمرير صور في كتلة ثم وضع الكتلة على الصفحة الرئيسية للمتجر، كما يمكنك استخدام أداة Widget لوضع الكتل على صفحات معينة في متجرك. فعلى سبيل المثال نريد أن ننشئ كُتلةً تحتوى على جميع الروابط الهامة بمتجرنا مقسمة على أربع عواميد، ثم نضع هذه الكُتلة بذيل الصفحة أو الـ Footer لتظهر في جميع صفحات المتجر، ولإنشاء هذه الكُتلة فقط اتبع الخطوات التالية: أولًا، انتقل إلى شريط القوائم الجانبي، وانقر على "المحتوى"، ومن القائمة التي ستظهر اختر منها "الكُتل"، ومن النافذة التي ستظهر انقر على زر "إضافة كُتلة جديدة". ثانيًا، من خلال النافذة التي ستظهر يمكنك تغيير حالة التمكين الافتراضي للكتلة الجديدة بالتفعيل أو عدم التفعيل، ثم عَيِّن عنوانًا للكتلة يكون ذا دلالة على وظيفة الكُتلة، ثم عَيِّن معرفًا فريدًا للكتلة باستخدام الأحرف الصغيرة مع الشرطة السفلية بدلًا من المسافات، ثم حدد واجهة العرض في المتجر التي تريد إتاحة الكتلة بها. ثالثًا، من خلال مجموعة أدوات منشئ الصفحة أضف المحتوى للكتلة كما فعلنا مع الصفحات، ففي حالتنا استخدمت الأعمدة كحاوية، ثم استخدمت عنصر العناوين لكي أضع عنوان على كل رأس عمود، ثم استخدمت عنصر النصوص لكتابة بيانات الكُتلة وأسماء الروابط، ثم في النهاية استخدمت عنصر الفواصل لوضع فاصل في نهاية الكُتلة لفصلها عن الكُتلة التي تليها. رابعًا، بعد الانتهاء من إنشاء محتوى الكُتلة يمكنك حفظها كقالب حتى لا تعيد بناءها من جديد في حالة إن احتجت إلى استخدامها مرةً أخرى، فقط انقر على زر "حفظ كقالب" من أعلى النافذة ومن النافذة التي ستظهر أدخل اسمًا للقالب، ثم حدد أن القالب أنشئ الكتلة، ثم انقر على زر "حفظ". أخيرًا، اخرج من وضع ملء الشاشة لمنشئ الصفحات، ثم انقر على زر "حفظ". الآن إن انتقلت إلى الواجهة الأمامية للمتجر، فلن تجد كُتلة الروابط التي أنشأناها بذيل الصفحة أو الـ Footer، وذلك لأننا لم نحدد مكان ظهور هذه الكُتلة بعد ونظرًا إلى أننا نريدها أن تظهر في جميع صفحات المتجر، فأداة العناصر أو الـ Widgets هي التي ستساعدنا في تنفيذ ذلك. العناصر Widgets العناصر أو الـ Widgets هي عبارة عن مقتطف من التعليمات البرمجية التي تجعل من الممكن عرض المحتوى على نطاق واسع في متجرك، ويعرض العديد منها بيانات ديناميكية في الوقت الفعلي ويخلق فرصًا لعملائك للتفاعل مع متجرك، كما تسهل أداة Widget عملية وضع عنصر واجهة مستخدم داخل المحتوى الحالي مثل الكتل التي تحتوي على صور ونصوص. يمكنك استخدام أداة Widget لإنشاء صفحات مقصودة للحملات التسويقية ولعرض محتوى ترويجي في أماكن محددة في جميع أنحاء المتجر، ويمكن أيضًا استخدام أداة Widget لإضافة عناصر تفاعلية وكتل الإجراءات لأنظمة المراجعة الخارجية ومحادثات الفيديو والتصويت ونماذج الاشتراك ومنزلقات الصور. تنويه: يمكن أن يؤدي إدراج العديد من أداة Widget خاصةً من نوع "المنتجات المعروضة/ المقارنة مؤخرًا" إلى تأثير سلبي على التحميل الأول للصفحة عندما لا تكون مخزنةً في ذاكرة التخزين المؤقت، ولهذا السبب استخدمها بحذر. وفي حالتنا نحن نريد إنشاء Widget تأخذ كُتلة الروابط التي أنشأناها لتعرضها في ذيل الصفحة وتظهر في جميع صفحات المتجر، ولتنفيذ ذلك فقط اتبع الخطوات التالية: أولًا، انتقل إلى شريط القوائم الجانبي وانقر على "المحتوى"، ومن القائمة التي ستظهر اختر منها "العناصر"، ومن النافذة التي ستظهر، انقر على زر "إضافة عنصر". ثانيًا، من النافذة التي ستظهر حدد نوع الـ Widget المراد استخدامه، وفي حالتنا نحن لدينا بالفعل كُتلة نريد عرضها بالمتجر، لذلك سوف نختار النوع الأخير "كُتلة صفحة نظام إدارة المحتوى الثابتة"، ثم حدد تصميم القالب أو الـ Theme الذي ترد أن يظهر عليه الـ Widget، ثم انقر على زر "استمر". ثالثًا، أدخل اسمًا مناسبًا للـ Widget ثم حدد واجهة عرض المتجر التي سيظهر عليها، بعدها حدد ترتيبًا له. رابعًا، انقر على زر "إضافة شكل"، ثم حدد المكان الذي ستظهر به الكُتلة (في حالتنا حددنا الخيار "كل الصفحات")، بعد ذلك حدد الحاوية أو المكان الذي سوف توضع بداخله الكُتلة، وفي حالتنا حددنا الخيار "Page Footer Container". خامسًا، انتقل الآن إلى القائمة "خيارات" ثم انقر على زر "حدد كُتلة" لتظهر لك قائمة بالكُتل التي أنشأتها. اختر منها الكُتلة التي تريد استخدامها، ثم انقر على زر "حفظ" وامسح ذاكرة التخزين المؤقت. أخيرًا، انتقل إلى الواجهة الأمامية للمتجر ثم مرر لأسفل الصفحة وسوف تجد أن كُتلة ذيل الصفحة قد ظهرت، وإذا انتقلت إلى أي صفحة عبر متجر سوف تجد الكُتلة معروضة بها. ترجمة الكتل الثابتة إلى العربية كما تعلم بما أننا نبني متجرًا متعدد اللغات ويدعم اللغة العربية، فنحن في حاجة إلى أن تكون كل أو بعض الكُتل الثابتة بصفحات المتجر إلى اللغة العربية، وكمثال على تنفيذ ذلك سوف نعمل على ترجمة كُتلة الروابط التي أنشأناها للتو، ثم يمكنك بعد ذلك تنفيذ نفس الخطوات لترجمة باقي الكُتل. أولًا، انتقل إلى شريط القوائم الجانبي وانقر على "المحتوى"، ومن القائمة التي ستظهر اختر منها "الكُتل"، ومن النافذة التي ستظهر حدد الكُتلة المراد ترجمتها وافتحها في وضع التعديل، ثم عدّل واجهة العرض لتكون الواجهة الإنجليزية فقط، ثم انقر على زر "حفظ" ثم انقر على زر "رجوع". ثانيًا، من خلال النافذة التي ستظهر، حدد حالة التمكين الافتراضي للكتلة بالتفعيل أو عدم التفعيل، بعدها عَيِّن عنوان للكتلة، مع تعيين معرف فريد للكتلة، ثم حدد واجهة العرض في المتجر التي تريد إتاحة الكتلة فيها، وفي حالتنا سوف نحدد الواجهة العربية، ثم انقر على زر "تحرير باستخدام منشئ الصفحة". ثالثًا، في حالة ما إذا كنت قد حفظت كُتلة الروابط الإنجليزية كقالب، فعندها يمكنك إعادة استخدامها مرةً أخرى لتوفير الوقت والجهد. سيكون عليك النقر على زر "تطبيق القالب" من أعلى النافذة، ومن قائمة القوالب المحفوظة التي ستظهر اختر منها القالب الذي تريده، ثم ابدأ في ترجمة محتوى الكُتلة. رابعًا، نحتاج الآن إلى إنشاء Widget جديدة لكي تعرض لنا كُتلة الروابط العربية التي أنشأناها، لذلك نفذ نفس خطوات خطوات إنشاء Widget التي ذكرناها بالقسم السابق. أخيرًا، انتقل إلى الواجهة الأمامية العربية للمتجر ثم مرر لأسفل الصفحة وسوف تجد أن كُتلة ذيل الصفحة باللغة العربية قد ظهرت، وإذا انتقلت إلى أي صفحة عبر متجر سوف تجد الكُتلة معروضة بها. تخصيص الصفحة الرئيسية الصفحة الرئيسية للمتجر الإلكتروني هي الصفحة الأولى التي يصل الزائر إليها، فهي تحتوي على العديد من المعلومات الهامة عن المتجر، مثل: مجموعة المنتجات والعروض الخاصة والإعلانات الجديدة، فهي تشكل المكان الأساسي الذي يتيح للزائر التحقق من مجموعة المنتجات أو البحث عن منتجات معينة لإجراء عملية الشراء بسهولة. وهناك عدة طرائق يمكنك من خلالها إنشاء أو تخصيص صفحة رئيسية جذابة لمتجرك الإلكتروني والتي منها ما يلي: استخدم تصميمًا جذابًا وصورًا عالية الجودة: يمكن للتصميم أو الـ Theme الجذاب بصريًا مع الاستخدام للصور عالية الجودة أن يجعل الصفحة الرئيسية لمتجرك تبدو أكثر جاذبيةً وحيوية، مما يشجع الزوار على التفاعل معها. إنشاء صفحة الأسئلة الشائعة: فهي مصدر مهم للحصول على معلومات مختصرة ودقيقة بشأن المنتجات والخدمات التي يقدمها المتجر، مما يساعد على تقليل الاستفسارات الغير مهمة لدعم العملاء، كما يعطي الزبائن القدرة على العثور بسهولة على الإجابات التي يبحثون عنها، مما يؤدي إلى تحسين تجربتهم ويعطيهم الثقة في الشراء من المتجر. تسليط الضوء على المنتجات أو العروض الترويجية الجديدة: يمكن أن يؤدي الترويج لمنتجات جديدة أو عروض خاصة على صفحتك الرئيسية إلى تشجيع الزوار على التفاعل معها واستكشاف متجرك. استخدم تخطيطًا واضحًا: يمكن أن يؤدي استخدام تخطيط واضح وسهل التنقل إلى تسهيل عثور الزائرين على ما يبحثون عنه في صفحتك الرئيسية. استخدم منزلق الصور: يُعَد منزلق الصور أو Slider طريقةً رائعةً لعرض العديد من المنتجات أو العروض الترويجية على الصفحة الرئيسية، مما يحافظ على تفاعل الزوار. استخدام شريط البحث: يتيح وجود شريط بحث في الصفحة الرئيسية للزوار العثور بسرعة على المنتجات التي يبحثون عنها. استخدام مراجعات العملاء وتقييماتهم: يمكن أن يؤدي عرض مراجعات العملاء وتقييماتهم على صفحتك الرئيسية إلى زيادة الثقة وتشجيع الزوار على إجراء عملية شراء. استخدم عبارة واضحة تحث على اتخاذ إجراء: تأكد من أن عبارة الحث على اتخاذ إجراء مثل "تسوق الآن" أو "تعرف على المزيد" مرئية بوضوح على الصفحة الرئيسية ويسهل على الزائرين العثور عليها. التحسين للجوال: تأكد من أن صفحتك الرئيسية مُحسَّنة للأجهزة المحمولة، وذلك لأن الكثير من الأشخاص يستخدمون الهواتف الذكية لتصفح الويب. اجعل الأمر بسيطًا: لا تُزحم صفحتك الرئيسية بالكثير من المعلومات، بل اجعلها بسيطةً وسهلة الفهم. وبناءً على تلك التوجيهات، خصصت الصفحة الرئيسية لمتجرنا كما يلي: أولًا، أنشأت كُتلة جديدة كما تعلمنا، ومن خلال قسم المحتوى أنشأت منزلق صور أو Slider لعرض خصومات لثلاث منتجات مع إضافة زر لكل شريحة تنقل العميل إلى صفحة المنتج، ثم انتقلت إلى الصفحة الرئيسية وفتحتها في وضع التعديل ومن خلال قسم المحتوى أضفت كُتلة منزلق الصور إليها. ثانيًا، أنشأت كُتلةً جديدة، ومن خلال قسم المحتوى أنشأت عنوان للكُتلة وثلاثة أعمدة لعرض الخدمات التي يتميز بها المتجر، مثل عدد ساعات الدعم والشحن المجاني وسياسة الإرجاع واستعادة الأموال، ثم أضفت هذه الكتلة بالصفحة الرئيسية لتظهر عقب منزلق الصور. ثالثًا، أنشأت كُتلةً جديدة، ومن خلال قسم المحتوى أنشأت عمودين لإنشاء إعلانين ترويجيين أحث من خلالهما العميل على اتخاذ قرار، ثم أضفت هذه الكتلة بالصفحة الرئيسية لتظهر عقب كُتلة الخدمات. رابعًا، أنشأت كُتلةً جديدة، ومن خلال قسم المحتوى أنشأت منزلقًا يعرض المنتجات التي أضيفت حديثًا للمتجر، ثم أضفت هذه الكتلة بالصفحة الرئيسية لتظهر عقب كُتلة الإعلان الترويجي. خامسًا، استخدمت إضافة طرف ثالث مجانية لعرض شهادات العملاء، وعلى الرغم أنها إضافة مجانية إلا أنها تقدم لك مزايا عديدة، مثل أن تضيف أنت الشهادات بنفسك مدعومة بالصور والتقييم بالنجوم والمسمى الوظيفي للمقيِّم ووسائل الاتصال به مثل البريد الإلكتروني وحساب فيسبوك وتويتر. أيضًا توفر لك هذه الإضافة إمكانية عرض جميع الشهادات في صفحة منفصلة عن الصفحة الرئيسية، كما تسمح للعملاء بتقديم طلب لإضافة شهاداتهم الحقيقية، ويمكنك السماح لهذه الشهادات بالنشر فورًا أو الانتظار لحين مراجعتك لها ثم نشرها على متجرك. وإليك أمر تثبيت هذه الإضافة على متجرك: sudo composer require swissup/testimonials && sudo php bin/magento setup:upgrade && sudo php bin/magento setup:static-content:deploy -f && sudo php bin/magento cache:clean && sudo php bin/magento cache:flush سادسًا، أنشأت صفحةً جديدةً لعرض الأسئلة الشائعة بها باستخدام شيفرات HTML و CSS، ثم أضفت الرابط الخاص بهذه الصفحة إلى كُتلة ذيل الصفحة التي أنشأناها في وقتٍ سابقٍ من هذا الدرس. سابعًا، استخدمت إضافة طرف ثالث مجانية لعرض أزرار مشاركة المحتوى على منصات التواصل الاجتماعي، وتتيح لك هذه الإضافة أسلوبين لعرض الأزرار، الأول منهما عرض الأزرار أفقيًا أسفل أو أعلى (أو كلاهما معًا) صفحة المنتج. والثاني منهما عرض الأزرار بشكل رأسي يمين أو يسار النافذة خلال جميع صفحات المتجر. وإليك أمر تثبيت هذه الإضافة على متجرك: sudo composer require sharethis/magento-sharethis-sharebuttons && sudo php bin/magento setup:upgrade && sudo php bin/magento setup:static-content:deploy -f && sudo php bin/magento cache:clean && sudo php bin/magento cache:flush أخيرًا، أنشأت كُتلةً جديدة، ومن خلال قسم المحتوى أنشأت عمودين الأول منهما وضعت به شيفرة HTML و Javascript لعرض حقوق النشر مع تحديث العام تلقائيًا؛ أما العمود الثاني وضعت به شيفرة HTML و CSS لعرض بطاقات الدفع المقبولة بالمتجر، ثم أنشأت عنصر Widget لعرض الكُتله في جميع الصفحات أسفل تذييل الصفحة. الآن أطلب منك من خلال استخدامك لمحرر منشئ الصفحة الخاص بنظام ماجنتو وملفات الدرس المرفقة أن تخصص الصفحة الرئيسية لمتجرك، بالإضافة إلى ترجمة جميع الصفحات الأساسية والجديدة إلى اللغة العربية، وأيضًا ترجمة جميع الكُتل الثابتة التي سوف تُنشئها إلى اللغة العربية، حتى يصبح متجرك له نسخةً كاملةً باللغة الإنجليزية ونسخةً كاملةً باللغة العربية. نعم الأمر ليس بالسهل، فلكي تُنشئ متجرًا إلكترونيًا ناجحًا يستطيع منافسة أقرانه للحصول على نسبة من سوقهم تحتاج إلى الكثير من الوقت والجهد، كما ستحتاج إلى توفر عدة مهارات مختلفة، مثل التصميم والبرمجة والتسويق، والتي يمكنك توفيرها بطبيعة الحال عبر توفير جزء كبير من هذا الوقت والجهد المبذول من خلال توظيف مستقلين عبر منصة مستقل مثلًا لكي تتفرغ أنت للمهام الأخرى المتعلقة بالمتجر، مثل المنتجات وإدارة المخزون ودعم العملاء. خاتمة وإلى هنا نكون قد وصلنا إلى نهاية هذا الدرس ونكون قد وصلنا أيضًا لنهاية هذا الدليل الذي غطينا من خلاله جزء كبير من نظام ماجنتو 2، والذي نتمنى أن يكون قد أضاف لكم معلومات جديدة ومفيدة، وفي حالة وجود أي استفسارات سواءً فيما غطيناه من النظام أو فيما لم نُغطّه منه، فلا تترددوا في ذكرها لنا في التعليقات. وإلى هنا نكون قد وصلنا إلى نهاية هذا الدرس من هذا الدليل الذي تعلمنا فيه كيفية تركيب تصميم Theme جديد للمتجر، ثم إضافة الشعار والرمز المفضل، وتعرفنا على الصفحات الأساسية وأنشأنا صفحة جديدة تعرض سياسية المتجر للإرجاع واستعادة الأموال، ثم ترجمنا الصفحة إلى اللغة العربية لنتمكن من عرضها بالواجهة العربية للمتجر. كذلك، تعرفنا أيضًا على الكُتل الثابتة وكيفية إنشائها وترجمتها إلى اللغة العربية وتعرفنا أيضًا على العناصر Widget وكيفية إنشائها، وفي الدرس القادم سوف نتناول النسخ الاحتياطي والاستعادة والترقية بنظام ماجنتو. نتمنى أن يكون هذا الدليل قد أضاف لكم معلومات جديدةً ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في مشاركتنا إياها في التعليقات. اقرأ أيضًا المقال السابق: بوابات الدفع في متجر إلكتروني بنظام ماجنتو Magento 2 التسعير والشحن في متجر إلكتروني بنظام ماجنتو Magento 2 إضافة المنتجات في متجر إلكتروني بنظام ماجنتو Magento 2
  7. يدعم نظام ماجنتو طرائق وخدمات دفع متنوعة يمكنك تقديمها لتسهيل عملية الدفع لراحة عملائك، ويتضمن ذلك العديد من طرائق الدفع غير المتصلة بالإنترنت، بما في ذلك الدفع بشيك أو حوالة بريدية والدفع نقدًا عند الاستلام، وهناك أيضًا تكاملات أصلية للعديد من حلول وبوابات الدفع عبر الإنترنت، بما في ذلك Braintree باعتباره امتدادًا مجمّعًا مطورًا من البائع. طرق الدفع غير المتصلة بالإنترنت يتضمن نظام Magento 2.4.5 العديد من طرق الدفع المضمنة في وضع عدم الاتصال، والتي لا تتطلب خدمات شركة معالجة دفع تابعة لجهة خارجية، ومن أهم هذه الطرائق ما يلي. مدفوعات الإجمالي الصفري يمكن استخدام طريقة مدفوعات الإجمالي الصفري للأوامر ذات الإجمالي صفر، والتي تخضع للضريبة بعد تطبيق الخصم، فعلى سبيل المثال يمكن استخدامها في المواقف التالية: يغطي الخصم سعر الشراء بالكامل بدون أي رسوم إضافية للشحن. يضيف العميل منتجًا افتراضيًا أو قابل للتنزيل إلى عربة التسوق والسعر يساوي صفرًا. سعر المنتج هو صفر وطريقة الشحن المجاني متاحة. يغطي رمز القسيمة السعر الكامل للمنتجات والشحن. ولتكوين طريقة مدفوعات الإجمالي الصفري اتبع الخطوات التالية: أولًا، انتقل إلى القائمة الجانبية للوحة تحكم النظام ثم انقر على "المتاجر"، بعدها ضمن قسم "الإعدادات" اختر "الضبط"، ومن لوحة القوائم الموجودة على اليسار حدّد القائمة "المبيعات"، ثم اختر منها "نظم الدفع". انتقل الآن إلى قسم "طرائق الدفع الأخرى" ثم وسع الخيار "مدفوعات الإجمالي الصفري". ثانيًا، من خلال الحقل "تفعيل" حدد له القيمة "نعم" لتظهر طريقة مدفوعات الإجمالي الصفري كخيار في صفحة السداد إذا توفرت لها أحد الحالات التي ذكرناها سابقًا، ومن خلال الحقل "العنوان" أدخل عنوانًا وصفيًا لطريقة الدفع. ثالثًا، من خلال الحقل "حالة طلب جديدة" يمكنك تحديد قيمته إلى أحد القيم التالية: مُعَلق: وذلك في حالة كنت تريد الطلبات تنتظر عادةً التفويض حتى يُسمح بعملية الدفع من خلال مدير النظام. معالجة: وذلك في حالة كنت تريد التصريح بالدفع ومعالجة الطلبات تلقائيًا. الاشتباه في الاحتيال: وذلك في حالة كنت تريد معالجة الطلبات تلقائيًا، لكن مع الحماية من عمليات الاحتيال. وفي حالة تحديد القيمة "معالجة" كما في حالتنا، لا تنسَ أن تحدد قيمة الحقل "فوترة جميع العناصر تلقائيًا" على "نعم". رابعًا، من خلال الحقل "الدفع من دول معنية" يمكنك تحديد قيمته إلى أحد القيم التالية: يسمح لجميع البلدان: حتى يتمكن العملاء من جميع البلدان المحددة في تكوين متجرك استخدام طريقة الدفع هذه. بلدان مخصصة: بعد تحديد هذه القيمة ستظهر قائمة الدفع في بلدان معينة، حدد كل بلد في القائمة حتى يمكن للعملاء من هذه البلدان إجراء عمليات شراء من متجرك. خامسًا، من خلال الحقل "الترتيب" أدخل رقم لتحديد ترتيب موضع طريقة مدفوعات الإجمالي الصفري في قائمة طرائق الدفع أثناء السداد (0 = أولًا ، 1 = ثانيًا ، 2 = ثالثًا ، وهكذا)، وفي حالتنا سوف نجعلها طريقة الدفع الأولى في حالة توافر شروطها. أخيرًا، بعد الانتهاء انقر على زر "حفظ التكوين" ثم امسح ذاكرة التخزين المؤقت. الآن، إن انتقلت إلى الواجهة الأمامية للمتجر ثم أجريت عملية شراء لمنتج مجاني من أي دولة ثم انتقلت إلى صفحة السداد، فستجد طريقة مدفوعات الإجمالي الصفري متاحةً للاستخدام. الدفع عند الاستلام يتيح لك ماجنتو إمكانية قبول المدفوعات النقدية عند التسليم للمشتريات، حيث تتلقى شركة الشحن المدفوعات من العميل في وقت التسليم، ثم تحولها إليك بعد ذلك، ويمكنك قبول هذه الطريقة من بلدان معينة فقط كما يمكنك ضبط التهيئة مع الحد الأدنى والحد الأقصى لإجمالي الطلب. ولتكوين طريقة الدفع عند الاستلام اتبع الخطوات التالية: أولًا، أعد تنفيذ الخطوة الأولى (لكن وسع الخيار الدفع عند الاستلام) والثانية من طريقة مدفوعات الإجمالي الصفري. ثانيًا، من خلال الحقل "حالة طلب جديدة" عيِّن له القيمة "مُعَلق" حتى تأكيد استلام الدفع. ثالثًا، أعد تنفيذ الخطوة الرابعة من طريقة مدفوعات الإجمالي الصفري، وفي حالتنا سوف أختار لطريقة الدفع هذه دولة مصر فقط. رابعًا، من خلال الحقل "التعليمات" أدخل تعليمات قبول تسليم طلب الدفع عند الاستلام. خامسًا، من خلال الحقل "إجمالي الحد الأدنى للطلب" والحقل "إجمالي الحد الأعلى للطلب" عَيِّن الحد الأدنى لإجمالي الطلب والحد الأقصى لإجمالي الطلب لمبالغ الشراء المطلوبة للتأهل لطريقة الدفع عند الاستلام. يتأهل طلب الشراء هنا إذا كان الإجمالي بين أو يتطابق مع الحد الأدنى أو الحد الأقصى المحددين. سادسًا، أعد تنفيذ الخطوة الخامسة من طريقة مدفوعات الإجمالي الصفري. أخيرًا، بعد الانتهاء انقر على زر "حفظ التكوين" ثم امسح ذاكرة التخزين المؤقت. الآن إن انتقلت إلى الواجهة الأمامية للمتجر ثم أجريت عملية شراء لمنتج بسعر من 1 دولار إلى 100 دولار ومن دولة مصر، ثم انتقلت إلى صفحة السداد فستجد طريقة الدفع عند الاستلام متاحة للاستخدام. طرائق أخرى للدفع غير متصلة بالإنترنت يتيح نظام ماجنتو عدة طرائق مضمنة أخرى وغير متصلة بالإنترنت، وهي كما يلي: شيك/ حوالة بريدية: يتيح لك نظام ماجنتو إمكانية قبول المدفوعات بشيك أو حوالة بريدية، ويمكنك قبول الشيكات والحوالات المالية من بلدان معينة فقط، كما يمكنك ضبط التكوين بدقة مع الحد الأدنى والحد الأقصى لإجمالي طلبات الشراء، وهذه الطريقة عادةً ما تكون مفعلةً افتراضيًا، لذلك في حالة عدم استخدامك لها فمن الأفضل تعطيلها. الدفع بالتحويل المصرفي: يسمح لك Magento بقبول الدفع الذي يُحول من حساب مصرفي للعميل وإيداعه في حساب بنك التاجر الخاص بك. أمر الشراء: يسمح أمر الشراء للعملاء التجاريين بالدفع مقابل المشتريات المصرح بها من خلال الرجوع إلى رقم أمر الشراء، ويُعتمد أمر الشراء وإصداره مسبقًا من قِبَل الشركة التي تنفذ عملية الشراء. وأثناء السداد يختار العميل أمر الشراء على أساس طريقة للدفع، وعند استلام الفاتورة تعالج الشركة الدفع في نظام حساباتها ثم تدفع ثمن الشراء. لكن قبل قبول الدفع بطريقة أمر الشراء، تأكد دائمًا من الجدارة الائتمانية للعميل التجاري. طرائق الدفع المتصلة بالإنترنت يدعم ماجنتو العديد من حلول الدفع التي تقدم خدمات التجار في جميع أنحاء العالم، وعلى عكس حلول الدفع التي تنقل التحكم إلى موقع آخر لإكمال المعاملة تتيح لك بوابة الدفع المضمنة بالنظام قبول مدفوعات بطاقات الائتمان مباشرةً من متجرك دون أن يغادر العميل موقعك. سوف نتناول في هذا القسم من الدرس بوابتين من أشهر بوابات الدفع، الأولى بوابة PayPal Express Checkout وهي مضمنة بنظام ماجنتو تحتاج فقط إلى ضبط إعداداتها حتى نتمكن من استخدامها، والثانية بوابة بطاقات الائتمان Stripe وهي ليست مضمنة بنظام ماجنتو لذلك نحتاج أولًا إلى تثبيت الإضافة ثم ضبط إعداداتها. بوابة الدفع PayPal Express Checkout يساعد PayPal Express Checkout على زيادة المبيعات من خلال منح عملائك القدرة على الدفع ببطاقة الائتمان أو من خلال حساباتهم الشخصية على PayPal، وأثناء الدفع يُعاد توجيه العميل إلى موقع PayPal الآمن لإكمال معلومات الدفع، ثم يرجع العميل إلى متجرك مرةً أخرى لإكمال ما تبقى من عملية الدفع. تنويه: لا تدعم بوابة الدفع PayPal Express Checkout الطلبات ذات العناوين المتعددة. ولكي تتمكن من استخدام بوابة الدفع هذه يجب توفير ما يلي: حساب PayPal للأعمال، ويمكنك الاستعانة بهذا الدليل الذي يتناول كيفية إنشاء حساب باي بال. تثبيت شهادة أمان SSL على خادم الاستضافة. بيانات المصادقة التالية لإتمام عملية الربط: API Username (إلزامي). API Password (إلزامي). API Signature (إلزامي). Merchant Account ID (اختياري). ويمكنك الحصول على بيانات المصادقة للوضع المباشر Live لكي تستخدمه مباشرةً على متجرك وتستقبل المدفوعات من عملائك، أو الحصول على بيانات المصادقة لوضع الاختبار Sandbox، وذلك لاختبار بوابة الدفع على متجرك أولًا قبل الذهاب للوضع المباشر. بيانات المصادقة للوضع المباشر: للحصول على بيانات المصادقة للوضع المباشر، اتبع الخطوات التالية: أولًا، سجل الدخول إلى حساب باي بال للأعمال الذي أنشأته ثم أشِّر بمؤشر الفأرة على اسم حسابك من أعلى النافذة، ومن القائمة التي ستظهر انقر على "إعدادات الحساب". ثانيًا، من خلال القسم "الدخول إلى الحساب" انتقل إلى الخيار "الدخول إلى واجهة المستخدم" ثم انقر على الزر "تحديث". ثالثًا، من النافذة التي ستظهر مرر لأسفل حتى تصل لقسم "دمج واجهة برمجة التطبيقات الكلاسيكية" ثم انقر على الرابط "إدارة بيانات اعتماد واجهات برمجة التطبيقات". رابعًا، من النافذة التي ستظهر حدد الخيار "طلب توقيع API‏" ثم انقر على زر "موافقة وتقديم". خامسًا، من النافذة التي ستظهر ستعرض لك بيانات المصادقة الخاصة بحسابك للأعمال، فقط انقر على كلمة "عرض" لتظهر لك البيانات. أخيرًا، للحصول على رمز تعريف التاجر لدى PayPal أو Merchant ID انتقل إلى القسم "معلومات النشاط التجاري" من إعدادات الحساب. بيانات المصادقة لوضع الاختبار: للحصول على بيانات المصادقة لوضع الاختبار اتبع الخطوات التالية: أولًا، سجّل الدخول إلى لوحة تحكم مطوري باي بال ثم مرر للأسفل وانقر على "Sandbox Account". ثانيًا، بالنافذة التي ستظهر ستجد بها حسابين ينشئهما باي بال تلقائيًا. الحساب الأول حساب تاجر وهذا لاستخدام بيانات المصادقة الخاصة به في ربط متجرنا به لتفعيل وضع الاختبار، أما الحساب الثاني فيكون حسابًا شخصيًا، وهذا لاستخدام بيانات تسجيل الدخول الخاصة به لاختبار عملية السداد بمتجرنا من خلال بوابة باي بال. ثالثًا، للحصول على بيانات المصادقة من خلال حساب التاجر انقر على الثلاث نقاط الرأسية، ومن القائمة التي ستظهر اختر منها "View/Edit account". رابعًا، من النافذة التي ستظهر انتقل إلى التبويب "API Credentials"، وستجد به API Username و API Password و API Signature أخيرًا، انتقل الآن إلى التبويب "Profile" ستجد به Merchant ID، كما ستجد به كلمة المرور الخاصة بالحساب في حالة أردت أن تسجل الدخول في باي بال باستخدامه، وسوف تحتاج إلى استخدام هذا الإجراء عند استخدام الحساب الشخصي لتنفيذ عملية السداد الاختبارية. الآن وبعد أن حصلنا على بيانات المصادقة الخاصة بحساب الأعمال على منصة باي بال، نحتاج إلى تكوين إعدادات بوابة الدفع باي بال على نظام ماجنتو، ولتنفيذ ذلك اتبع الخطوات التالية: أولًا، انتقل إلى القائمة الجانبية للوحة تحكم النظام ثم انقر على "المتاجر"، ثم ضمن قسم "الإعدادات" اختر "الضبط"؛ ومن لوحة القوائم الموجودة على اليسار حدد القائمة "المبيعات" ثم اختر منها "نظم الدفع". الآن من خلال قسم "موقع التاجر"، حدد دولة المتجر، وفي حالة عدم عثورك على دولتك اترك الحقل بدون تحديد وسوف يُستخدم البلد الافتراضي من التكوين العام للنظام. ثانيًا، وسع قسم "الحلول الموصى بها" ثم انقر على زر "ضبط" الخاص ببوابة الدفع باي بال إكسيبرس. ثالثًا، وسع قسم إعدادات PayPal المطلوبة ثم أدخل عنوان البريد الإلكتروني المرتبط بحساب التاجر على باي بال. رابعًا، من خلال الحقل "أساليب المصادقة" حدد له الخيار "توقيع API"، وفي الحقول الثلاثة التالية أدخل بها بيانات المصادقة، وفي حالتنا سوف أضع بيانات المصادقة لوضع الاختبار. خامسًا، من خلال الحقل "وضع الحماية" حدد قيمته على "نعم" في حالة استخدامك بيانات المصادقة لوضع الاختبار كما في حالتنا، أما في حالة استخدامك لبيانات المصادقة للوضع المباشر، فحدد قيمة الحقل على "لا"، ومن خلال حقل "بلد المشتري" حدد البلد التي ستُجري منها عملية الشراء الاختبارية. سادسًا، إذا كان نظامك يستخدم خادمًا وكيلًا Proxy لإنشاء اتصال بين Magento وبوابة الدفع PayPal، فمن خلال الحقل"API يستخدم بروكسي" حدد قيمته على "نعم". ثم أدخل عنوان المضيف ورقم المنفذ. سابعًا، من خلال الحقل "تمكين هذا الحل" حدّد قيمته على "نعم" لتفعيل بوابة الدفع على متجرك، وستجد أن الحقل "تفعيل تجربة السداد ضمن السياق" حُددت قيمته على "نعم" تلقائيًا. ثامنًا، من خلال الحقل "تفعيل تجربة باي بال للدفع لاحقًا" يمكنك السماح للعملاء الدفع مقابل طلب على أقساط نصف شهرية بدلًا من دفع المبلغ بالكامل في وقت الشراء؛ لذا إن كنت تريد ذلك، فحدد قيمة الحقل على "نعم"، ثم من خلال الحقل "معرف حساب التاجر" أدخل معرف حسابك Merchant ID. وبمجرد تمكين هذا الحقل ستلاحظ ظهور قسم جديد باسم "أعلن عن دفع باي بال لاحقًا" يعرض لك الصفحات بالواجهة الأمامية لمتجرك التي يمكن أن يظهر الإعلان بها. وسع الآن أي صفحة تريد ظهور الإعلان بها. ومن خلال الحقل "عرض" حدد قيمته على "نعم" لكي تتمكن من ضبط إعدادات الإعلان، مثل: مكان ظهوره ونمطه ونسبة حجمه ولونه. يمكنك تجربة هذه الإعدادات كما يحلو لك. تاسعًا، وسع قسم "الإعدادات الأساسية" ثم أدخل عنوانًا مناسبًا لبوابة الدفع في حقل "العنوان"، ومن خلال حقل "الترتيب" حدد الترتيب الذي تريده لهذه البوابة في صفحة السداد. عاشرًا، من خلال الحقل "إجراءات الدفع" يمكنك تعيين قيمته إلى أحد القيم التالية: التفويض: للموافقة على عملية الشراء مع تعليق الأموال، فلا يُسحب المبلغ حتى يطلب التاجر استلامه. البيع: يُصرح بمبلغ الشراء وسحبه على الفور من حساب العميل. الطلب: تمكن التاجر من الحصول على المبلغ من حساب المشتري الخاص بالعميل خلال فترة تصل إلى 29 يومًا، ولا يمكن الحصول على مبلغ الطلب إلا من خلال التاجر عن طريق إنشاء فاتورة واحدة أو أكثر. أخيرًا، اضبط قيمة حقل "العرض على صفحة تفاصيل المنتج" على "نعم" لعرض زر "Checkout with PayPal" في صفحة المنتج. بذلك نكون قد أكملنا إعدادات بوابة الدفع PayPal المطلوبة والأساسية في هذه المرحلة. يمكنك الآن إما متابعة الإعدادات المتقدمة أو النقر على زر "حفظ التكوين" ومسح ذاكرة التخزين المؤقت، ثم يمكنك العودة لاحقًا لضبط الإعدادات المتقدمة كما يحلو لك. الآن، إن انتقلت إلى الواجهة الأمامية للمتجر ثم أجريت عملية شراء بأي مبلغ ومن أي دولة، ثم انتقلت إلى صفحة السداد، ستجد طريقة الدفع من خلال بوابة باي بال مفعلة. انقر على زر PayPal لتفتح لك نافذة تسجيل الدخول بحساب شخصى. استخدم بيانات الحساب الشخصى الذي أنشأه لك باي بال في الـ Sandbox، وبعد إجراء تسجيل الدخول ستظهر لك نافذة السداد بها معلومات الشحن وتكلفة الشراء وبيانات بطاقة الدفع المستخدم. انقر الآن على زر "إكمال الشراء" لإجراء عملية السداد بنجاح. يمكنك في النهاية استبدال بيانات المصادقة الخاصة بوضع الاختبار Sandbox ببيانات المصادقة الخاصة بالوضع المباشر Live، ثم من خلال الحقل "وضع الحماية" حدد قيمته إلى "لا" لتعطيل وضع الحماية، وذلك لكي تعمل بوابة الدفع على الوضع المباشر بمتجرك وتتمكن من تلقي الدفعات من عملائك. بوابة الدفع Stripe هي بوابة دفع إلكترونية تمكّنك من إضافة طرائق دفع عديدة على متجرك الإلكتروني، مثل بطاقات الائتمان وبطاقات الخصم المباشر وجوجل باي وآبل باي وغيرها، ثم تحويل هذه المدفوعات إلى حسابك البنكي. ولكي تتمكن من استخدام بوابة الدفع هذه يجب توفير ما يلي: حساب مُفعل على سترايب، ويمكنك الاستعانة بهذا الدليل الذي يتناول كيفية إنشاء حساب Stripe. تثبيت شهادة أمان SSL على خادم الاستضافة، يمكنك الاطلاع على الدرس الثالث من هذا الدليل. تثبيت إضافة Stripe على نظام ماجنتو. بيانات المصادقة التالية لإتمام عملية الربط: Publishable key (إلزامي). Secret key (إلزامي). تثبيت إضافة Stripe: للحصول على على إضافة سترايب مجانًا المقدمة من منصة Stripe اتبع الخطوات التالية: أولاً، افتح موجه الأوامر ثم اكتب المسار الخاص بمجلد مشروع ماجنتو، وبعد ذلك اكتب الأمر المجمع التالي لتثبيت الإضافة بنظام ماجنتو: sudo composer require stripe/stripe-payments && sudo php bin/magento setup:upgrade && sudo php bin/magento setup:di:compile && sudo php bin/magento setup:static-content:deploy -f && sudo php bin/magento cache:flush && sudo php bin/magento cache:clean أخيرًا، بعد تثبيت الإضافة وفي حالة ظهور إشعار يُفيد بتعذر تكوين Stripe webhooks تلقائيًا، فيمكنك تكوينه يدويًا باستخدام الأمر التالي: sudo php bin/magento stripe:webhooks:configure بيانات المصادقة لوضع الاختبار أو للوضع المباشر: للحصول على بيانات المصادقة للوضع المباشر اتبع الخطوات التالية: أولًا، يجب أن يكون حسابك على سترايب مُفعل (مكتمل البيانات ومرتبط بحساب بنكي)، فإن كان الأمر كذلك سجل الدخول إلى حساب سترايب ثم انقر على التبويب " Developers" من أعلى الصفحة. ثانيًا، من قوائم الشريط الجانبي انقر على "API keys" لعرض بيانات المصادقة. أخيرًا، من خلال الزر المنزلق الموجود بأعلى الصفحة يمكنك التبديل لعرض بيانات المصادقة لوضع الاختبار أو للوضع المباشر شريطة أن يكون حسابك مُفعل، وإن لم يكن حسابك مفعلًا فستتمكن من عرض بيانات المصادقة لوضع الاختبار فقط. الآن وبعد أن حصلنا على بيانات المصادقة الخاصة بحساب سترايب، نحتاج إلى تكوين إعدادات بوابة الدفع سترايب على نظام ماجنتو، ولتنفيذ ذلك اتبع الخطوات التالية: أولًا، انتقل إلى القائمة الجانبية للوحة تحكم النظام ثم انقر على "المتاجر"، ثم ضمن قسم "الإعدادات" اختر "الضبط"، ومن لوحة القوائم الموجودة على اليسار حدد القائمة "المبيعات" ثم اختر منها "نظم الدفع". الآن وسع القسم "الحلول الموصى بها"، ثم انقر على زر "ضبط" الخاص بـ بوابة الدفع Stripe. ثانيًا، وسع قسم "الإعدادات العامة" ومن خلال الحقل "الوضع" يمكنك تعيين قيمته إلى أحد القيم التالية: اختبار: لاستخدام بوابة الدفع في وضع الاختبار. مباشر: لاستخدام بوابة الدفع في الوضع المباشر. ثالثًا، بناءً على تحديدك لحقل "الوضع" أدخل بيانات المصادقة في حقل "مفتاح API القابل للنشر" وحقل "مفتاح API السري"، وفي حالتنا سوف اخترنا وضع الاختبار لذلك سنستخدم بيانات المصادقة لوضع الاختبار. رابعًا، اترك الحقل "إيصال عبر البريد الإلكتروني" غير مفعل كما هو لأن نظام ماجنتو يرسل الإيصالات للعملاء بالفعل. خامسًا، وسع القسم "المدفوعات" ومن خلال الحقل "تفعيل" حدد قيمته على "نعم" وذلك لتفعيل بوابة الدفع سترايب على المتجر. سادسًا، من خلال الحقل "تدفق المدفوعات" يمكنك تعيين قيمته إلى أحد القيم التالية: تضمين نموذج الدفع: وذلك لإجراء عملية السداد داخل متجرك وبدون مغادرته. إعادة توجيه العملاء: وذلك لمغادرة متجرك وإجراء عملية السداد في موقع سترايب. سابعًا، من خلال الحقل "العنوان" أدخل اسمًا مناسبًا لبوابة الدفع. ثامنًا، من خلال الحقل "طرائق السداد" يمكنك النقر على رابط "Configure" لكي ينقلك إلى موقع سترايب لتحديد بطاقات الدفع والمحافظ والبنوك التي ستسمح بها على متجرك. تاسعًا، من خلال الحقل "إجراءات الدفع" يمكنك تعيين قيمته إلى أحد القيم التالية: التحقق والقبض: إذا كنت ترغب في تلقي المبلغ من بطاقات العملاء فورًا بعد الشراء وهو الخيار الافتراضي. المصرح فقط: إذا كنت تفضل الحصول على المبلغ لاحقًا عن طريق إصدار فاتورة. عاشرًا: من خلال الحقل "حفظ طريقة دفع العميل" عيِّن قيمته على "تفعيل" لحفظ طريقة الدفع التي استخدمها العميل لكي تسهل عليه الخطوات عند إجراء عملية شراء مستقبلية. حادي عشر: من خلال الحقل "رمز CVC للبطاقة" يمكنك تعيين قيمته إلى أحد القيم التالية: اجمع البطاقات الجديدة فقط: لجمع رموز CVC من البطاقات الجديدة فقط. اجمع البطاقات الجديدة والمحفوظة: لجمع رموز CVC من البطاقات الجديدة والمحفوظة. ثاني عشر: من خلال الحقل "واصف البيان الاختياري" يمكنك إدخال وصف قصير اختياري لمصدر الدفع يظهر في كشوف الحسابات المصرفية للعميل، فإن تركت هذا الحقل فارغًا سوف يُستخدم الواصف الافتراضي. ثالث عشر: من خلال حقل "الترتيب" عيِّن له رقم لتحريك طريقة الدفع هذه أعلى أو أسفل طرائق الدفع الأخرى. رابع عشر: إذا كان عميلك يستخدم جهازًا متوافقًا فيمكنك أن توفر له استخدام خدمة Apple Pay أو Google Pay أثناء عملية السداد، استخدم قسم "زر المحفظة" لتعيين تفضيلاتك كما يحلو لك. خامس عشر: من خلال قسم "الاحتيال عبر رادار سترايب" يمكنك تفعيل "Stripe Radar" فهو يستخدم التعلم الآلي لمراجعة طلباتك تلقائيًا لمنع الاحتيال والعديد من المدفوعات عالية المخاطر تلقائيًا، فإذا حدد رادار سترايب دفعة بحالة مخاطرة مرتفعة، فسوف يُعلق الطلب حتى مراجعته. سادس عشر: من خلال قسم "الاشتراكات" يمكنك إنشاء وإدارة الاشتراكات مباشرةً لإضافة خط إيرادات متكرر إلى نموذج عملك بسهولة، لكن إذا كنت لا تبيع الاشتراكات فمن المستحسن تعطيل هذا القسم. أخيرًا: بعد الانتهاء انقر على زر "حفظ التكوين" ثم امسح ذاكرة التخزين المؤقت. الآن إن انتقلت إلى الواجهة الأمامية للمتجر ثم أجريت عملية شراء بأي مبلغ ومن أي دولة، ثم انتقلت إلى صفحة السداد، فستجد طريقة الدفع من خلال بوابة سترايب مفعلة. حدد طريقة الدفع سترايب ثم أدخل بيانات بطاقتك وبعد ذلك انقر على زر "استأنف الطلب". في حالة نجاح عملية الدفع دون مشاكل، من المفترض أن تظهر لك رسالة شكر تحتوي على رقم طلبك ورابط يمكنك طباعة الإيصال من خلاله. أيضًا سيصلك بريد إلكتروني يحتوي على جميع تفاصيل عملية الشراء. وفي النهاية إذا انتقلت إلى القائمة الجانبية للوحة تحكم النظام ثم نقرت على "المبيعات"، ثم نقرت على "طلبات الشراء"، فمن المفترض أن تجد طلب الشراء بالقائمة فيمكنك فتحه وإدارة الطلب. خاتمة وإلى هنا نكون قد وصلنا إلى نهاية هذا الدرس من هذا الدليل الذي تعلمنا فيه كيفية إعداد وإضافة بوابات الدفع، وفي الدرس القادم سوف نتناول الصفحة الرئيسية والكتل الثابتة والصفحات الأساسية بنظام ماجينتو. نتمنى أن يكون هذا الدليل قد أضاف لكم معلومات جديدة ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات. اقرأ أيضًا المقال السابق: التسعير والشحن في متجر إلكتروني بنظام ماجنتو Magento 2 إضافة المنتجات في متجر إلكتروني بنظام ماجنتو Magento 2 الإعدادات الأساسية لتكوين متجر إلكتروني بنظام Magento 2
  8. مرحبًا بك في الدرس السادس من سلسلة دروس بناء متجر إلكتروني متعدد اللغات بنظام Magento 2، ولمن فاته المقال السابق فقد تعرفنا فيه على كيفية إضافة المنتجات بأنواعها الستة وتعرفنا على الإعدادات المتقدمة للمنتجات كما تعرفنا على كيفية ضبط الواجهة العربية للمنتجات وفي النهاية تعرفنا على كيفية إضافة منتج قابل للتكوين، أما في هذا الدرس سنتعلم من خلاله النقاط التالية: التسعير. الشحن. بوابات الدفع. التسعير يدعم نظام Magento عددًا من خيارات التسعير التي يمكنك استخدامها في العروض الترويجية، أو لتلبية الحد الأدنى من متطلبات التسعير المعلن عنها للشركة المصنعة، ويمكن إجراء التغييرات على أسعار المنتج في موعد محدد أو حسب قاعدة السعر المطبقة على مستوى المنتج أو في عربة التسوق. التسعير المتقدم تحدد إعدادات التسعير المتقدم الشروط المطلوبة للتسعير الخاص (سعرًا مخفضًا يكون نشطًا فقط في وقت معين وفقًا لتكوينك) وذلك بناءً على مجموعة العملاء وموقع الويب، كما تحدد تسعير فئة خصم الكمية. لذا فإن كنت تريد تقديم سعر مخفض لأحد منتجاتك، نفذ ما يلي: أولًا، افتح المنتج الذي تريد الترويج له في وضع التحرير، وضمن حقل "السعر" انقر على "تسعير متقدم". ثانيًا، في النافذة التي ستظهر ومن خلال الحقل "سعر خاص" يمكنك تقديم سعر مخفض خلال الفترة الزمنية المحددة بواسطة التاريخ من/ إلى؛ أما الحقل "التكلفة" فهو مخصص لتحديد التكلفة الفعلية للعنصر ويمكنك تركه فارغًا، ثم انقر على زر "انتهى" ثم على زر "حفظ". أخيرًا، انتقل إلى واجهة المتجر ثم اعرض المنتج الذي حددنا له سعرًا خاصًا وستجد أن السعر الأساسي معروض أدنى السعر الخاص الذي يظهر بخطٍ عريض. أما إن كنت تريد تقديم أسعار ترويجية لمجموعات محددة من العملاء داخل متجرك، فنفذ ما يلي: أولاً، افتح المنتج الذي تريد الترويج له في وضع التحرير، وضمن حقل "السعر" انقر على "تسعير متقدم". ثانيًا، في النافذة التي ستظهر ومن خلال القسم "سعر مجموعة العملاء" انقر على الزر "إضافة". أخيرًا، من خلال الحقل "موقع الويب" يمكنك تحديد موقع الويب الذي سوف تطبق فيه قاعدة أسعار المجموعة، ويمكنك استخدام هذا الخيار فقط إذا كان تثبيت النظام لديك يحتوي على عدة مواقع ويب؛ أما الحقل "مجموعة العملاء" فيحدد مجموعة العملاء المؤهلة لتلقي سعر المجموعة، والحقل "السعر" يحدد سعر المنتج لأعضاء مجموعة العملاء، إذ يتيح لك هذا الحقل إما بحديد قيمة خصم ثابتة (مثل واحد دولار خصم على كل قطعة منتج) أو قيمة خصم بنسبة مؤية من سعر المنتج (مثل خصم 5% على كل قطعة منتج). انقر الآن على زر "انتهى" ثم انقر على زر "حفظ". في المثال الذي معنا وُضعت 5 حالات ترويج بخصومات على الأسعار لعملاء المتجر تبدأ بالحصول على خصم 5% عند شراء قطعة واحدة من المنتج، وتنتهي بالحصول على خصم 25% عند شراء 5 قطع من المنتج، كما بالصورة التالية: وعندما انتقلنا إلى الواجهة الأمامية للمتجر وأجرينا عملية شراء لثلاث قطع من أحد المنتجات، وجدنا أن الخصم قد طُبق بالفعل على المنتج الذي اشتريناه. الشحن تشير الدراسات إلى أن المتاجر التي تقدم للعملاء خيارًا من عدة طرائق شحن تتمتع بمعدلات تحويل أعلى من تلك التي تستخدم طريقةً واحدةً لجميع الشحنات، وتعني طريقة الشحن في ماجنتو Magento 2، السعر وطريقة توصيل المنتج إلى العميل، فهناك مجموعات مختلفة من طرائق الشحن في ماجنتو Magento 2 تُحدد حسب نوع التسليم. لذلك في هذا القسم من الدليل ستتعرف على تكوينات الشحن الأساسية في ماجنتو Magento 2، بالإضافة إلى كيفية إعداد مجموعة متنوعة من طرق الشحن وشركات النقل لـ Magento 2. إعدادات الشحن قبل تكوين طرق الشحن الافتراضية المتاحة في Magento 2 يجب عليك تكوين إعدادات الشحن الافتراضية، وهو أمر ضروري حتى يتمكن نظام ماجنتو من حساب الضرائب وتكاليف الشحن بناءً على منشأ الشحن. لذلك فإن جميع المعلومات التي يتعين عليك تعيينها تتضمن الدولة والمنطقة/ المحافظة والرمز البريدي والمدينة وعنوان الشارع، وعليك أيضًا أن تقرر ما إذا كنت تريد تطبيق سياسة الشحن المخصصة وكتابة نص سياسة الشحن الخاص بك لعرضه أثناء تنفيذ الشراء. نقطة المنشأ تُستخدم نقطة المنشأ لحساب تكلفة الشحنات التي تُنفذ من متجرك أو المستودع الخاص بك، كما تحدد معدل الضريبة على المنتجات المباعة. ولتحديد نقطة المنشأ، اتبع الخطوات التالية: أولًا، انتقل إلى القائمة الجانبية للوحة تحكم النظام ثم انقر على "المتاجر"، ثم ضمن قسم "الإعدادات" اختر "الضبط"، ومن لوحة القوائم الموجودة على اليسار حدّد القائمة "المبيعات"، ثم اختر منها "إعدادات الشحن". ثانيًا، من خلال القسم "المنشأ" أدخل بيانات نقطة منشأ الشحن الخاصة بك كما هو الحال بالصورة التالية: أخيرًا، بعد الانتهاء انقر على زر "حفظ التكوين". سياسة الشحن يجب أن تشرح سياسة الشحن قواعد عمل متجرك وإرشادات الشحنات، فعلى سبيل المثال: إذا كانت لديك قواعد أسعار تؤدي إلى الشحن المجاني، فيمكنك شرح الشروط في سياسة الشحن الخاصة بك. ولتكوين سياسة الشحن الخاصة بك اتبع الخطوات التالية: أولًا، نفذ الخطوة الأولى من خطوات نقطة المنشأ. ثانيًا، من خلال قسم "معلمات سياسة الشحن" حدد الحقل "تطبيق سياسة شحن مخصصة" على القيمة "نعم"، ثم أدخل سياسة الشحن الخاصة بك في مربع النص. أخيرًا، بعد الانتهاء انقر على زر "حفظ التكوين"، ثم امسح ذاكرة التخزين المؤقت. العناوين المتعددة تتيح خيارات الشحن متعددة العناوين للعملاء إمكانية شحن طلب إلى عناوين متعددة أثناء تنفيذ الشراء، ويمكنك تحديد الحد الأقصى لعدد العناوين التي يمكن شحن الطلب إليها. ولتكوين شحن متعدد العناوين اتبع الخطوات التالية: أولاً، انتقل إلى القائمة الجانبية للوحة تحكم النظام ثم انقر على "المتاجر"، ثم ضمن قسم "الإعدادات" اختر "الضبط"؛ ومن لوحة القوائم الموجودة على اليسار حدد القائمة "المبيعات" ثم اختر منها "إعدادات الشحن المتعدد". ثانيًا، حدد الحقل "السماح بالشحن إلى عناوين متعددة" ثم أدخل الحد الأقصى للكمية المسموح بها للشحن إلى عناوين متعددة. أخيرًا، بعد الانتهاء انقر على زر "حفظ التكوين" ثم امسح ذاكرة التخزين المؤقت. طرائق الشحن الأساسية يعَد تكوين طريقة الشحن جزءًا من برنامج ترويجي تقدمه لعملاء متجرك، إذ يمكنك على سبيل المثال تطبيق طريقة الشحن المجاني بناءً على الحد الأدنى للشراء، أو شرط قاعدة سعر سلة التسوق التي عينتها، كما يمكنك تعيين طريقة الشحن لمنتجات معينة أو طلب كامل اعتمادًا على استراتيجيتك الحالية. يمكن لخيارات طريقة الشحن تحسين تجربة العملاء، فضلًا عن تحسين عملية الشحن في المتجر، فإذا كنت بحاجة إلى فرض أسعار شحن مختلفة في متجرك، فيمكنك تنفيذ ذلك باستخدام طريقة الشحن بسعر ثابت وطريقة شحن بسعر الجدول. لذلك في هذا القسم من الدرس، ستتعرف على طرائق الشحن الافتراضية في نظام Magento 2. طريقة الشحن بتسعيرة موحدة التسعيرة الموحدة هي رسوم ثابتة ومحددة مسبقًا، يمكن تطبيقها لكل عنصر أو لكل شحنة بغض النظر عن سمات هذا المنتج، مثل الحجم أو الوزن وما إلى ذلك، فالتسعيرة الموحدة هي حل لشحن بسيط، خاصةً عند استخدامها مع الشحنات ذات السعر الثابت المتوفر من بعض شركات النقل. وعند تمكين الشحن بتسعيرة موحدة، سيظهر السعر الثابت كخيار أثناء إجراء عملية الشراء، ونظرًا لعدم تحديد شركة نقل معينة من قِبل النظام، فيمكنك استخدام شركة نقل من اختيارك. ولتكوين طريقة الشحن بتسعيرة موحدة، اتبع الخطوات التالية: أولًا، انتقل إلى القائمة الجانبية للوحة تحكم النظام، ثم انقر على "المتاجر"، ثم ضمن قسم "الإعدادات" اختر "الضبط". ومن لوحة القوائم الموجودة على اليسار، حدد القائمة "المبيعات"، ثم اختر منها "طرائق التوصيل"، بعدها وسّع قسم "تسعيرة موحدة". ثانيًا، من خلال الحقل "تفعيل" حدد القيمة "نعم" لتظهر تسعيرة الشحن الموحدة كخيار في قسم تقدير الشحن والضرائب في عربة التسوق وأيضًا في قسم الشحن أثناء تنفيذ الشراء. ومن خلال الحقل "العنوان"، أدخل عنوانًا وصفيًا لأسلوب الشحن بتسعيرة موحدة، ثم أدخل اسم أسلوب ليظهر بجوار السعر المحسوب في عربة التسوق في حقل "اسم الأسلوب". ثالثًا، من خلال الحقل "النوع" يمكنك تحديد طريقة إضافة رسوم الشحن إلى الإجمالي، ويمكنك تعيين قيمة هذا الحقل إلى أحد الخيارات التالية: لا شئ: يُدرج خيار الشحن بتسعيرة موحدة في سلة التسوق ولكن بمعدل صفر، وفي هذه الحالة فإن طريقة الشحن ذات التسعيرة الموحدة تعادل الشحن المجاني. لكل طلب: تقاضى التسعيرة الموحدة للشحن مرةً واحدةً للطلب بأكمله. لكل منتج: تقاضى التسعيرة الموحدة للشحن لكل منتج في الطلب، فيُضرب السعر في عدد المنتجات الموجودة في سلة التسوق بغض النظر عما إذا كانت هناك كميات متعددة من نفس المنتج أو منتجات مختلفة. رابعًا، من خلال حقل "السعر" أدخل السعر الذي تريد تحصيله للشحن بتسعيرة موحدة، وفي حالة فرض رسوم تسليم إضافية فمن خلال الحقل "حساب رسوم التوصيل" عَيِّن القيمة على واحد من القيم التالية: ثابت. نسبة مئوية. بعد ذلك أدخل معدل رسوم التسليم وفقًا للطريقة المستخدمة لحساب الرسوم. على سبيل المثال: إذا حددت الرسوم بناءً على نسبة مئوية، فأدخل 0.06 مقابل 6 بالمائة؛ أما إذا حددت الرسوم بناءً على مبلغ ثابت، فأدخل عندها الرسوم على هيئة رقم عشري. خامسًا، من خلال الحقل "رسالة الخطأ المعروضة" اكتب الرسالة التي ستظهر إذا كانت طريقة الشحن بتسعيرة موحدة أصبحت غير متوفرة. سادسًا، من خلال الحقل "الشحن إلى البلدان المعنية" يمكنك تعيين الشحن بتسعيرة موحدة إلى الدول التي ينطبق عليها الأمر وذلك بتعيين القيمة على واحد من القيم التالية: يُسمح لجميع البلدان: يمكن للعملاء من جميع البلدان المحددة في تكوين متجرك استخدام طريقة الشحن بتسعيرة موحدة. بلدان مخصصة: بعد تحديد هذا الخيار تظهر قائمة "الشحن إلى بلدان مخصصة"، حدد منها كل بلد يمكن للعملاء الذين يقطنون بها استخدام طريقة الشحن بتسعيرة موحدة. سابعًا، من خلال الحقل "إظهار الأسلوب إذا لم يكن قابلًا للتطبيق" يمكنك تحديد ما إذا كان ستُعرض طريقة الشحن بتسعيرة موحدة كخيار أثناء الدفع حتى إذا تعذر تطبيقها. على سبيل المثال: في حالة حددت طريقة الشحن بتسعيرة موحدة يمكن أن تعمل للعملاء من دولة مصر فقط، فإن عينت القيمة "لا" للحقل "إظهار الأسلوب إذا لم يكن قابلًا للتطبيق" فسوف تظهر طريقة الشحن للعملاء المصريين فقط؛ أما إذا عينت القيمة إلى "نعم" فسوف تظهر طريقة الشحن لجميع العملاء لكن لن يستطيع استخدامها سوى العملاء المصريين فقط. ثامنًا، من خلال الحقل "الترتيب" يمكنك إدخال رقم لترتيب موضع طريقة الشحن بتسعيرة موحدة في قائمة طرائق الشحن أثناء السداد (0 = أولًا ، 1 = ثانيًا ، 2 = ثالثًا ، وهكذا). أخيرًا، بعد الانتهاء انقر على زر "حفظ التكوين"، ثم امسح ذاكرة التخزين المؤقت. الآن إن انتقلت إلى الواجهة الأمامية للمتجر وأجريت عملية شراء لأحد المنتجات وانتقلت إلى عربة السلع ستجد طريقة الشحن بتسعيرة موحدة متوفرة. طريقة الشحن المجاني الشحن المجاني هو أكثر أنواع الشحن شيوعًا وجذبًا للعملاء، إذ يُعَد أحد أكثر العروض الترويجية التي يمكنك تقديمها لعملاء متجرك فعاليةً، فيمكن أن يستند إلى حد أدنى للشراء أو إعداده كقاعدة سعر سلة التسوق التي تُطبق عند استيفاء مجموعة من الشروط، وفي حالة كان كلاهما ينطبق على نفس الطلب، فإن إعداد التهيئة يكون له الأسبقية على قاعدة سلة التسوق. ولتكوين طريقة الشحن المجاني اتبع الخطوات التالية: أولًا، أعد تنفيذ الخطوة الأولى (وسع القسم شحن مجاني) والثانية من طريقة الشحن بتسعيرة موحدة. ثانيًا، من خلال الحقل "الحد الأدنى للطلب" أدخل الحد الأدنى لمبلغ الطلب للتأهل للشحن المجاني، وفي حالة استخدام الشحن المجاني مع أسعار الجدول، اجعل الحد الأدنى لمبلغ الطلب مرتفعًا جدًا حتى لا يتحقق شرط تنفيذه، فهذا الإجراء يمنع الشحن المجاني من أن يصبح ساري المفعول ما لم يُشغل بواسطة قاعدة سعر. ثالثًا، من خلال الحقل "تشمل الضريبة على المبلغ" يمكنك تعيين تضمين الضريبة على المبلغ وذلك بتعيين القيمة على واحد من القيم التالية: نعم: يشمل الضريبة عند حساب الحد الأدنى لمبلغ الطلب (الإجمالي + الضريبة - الخصم). لا: لا يشمل الضريبة عند حساب الحد الأدنى لمبلغ الطلب (الإجمالي - الخصم). رابعًا، أعد التنفيذ من الخطوة الخامسة إلى الثامنة من طريقة الشحن بتسعيرة موحدة، وسوف تلاحظ أننا في الحقل "الشحن إلى البلدان المعنية" عيِّنا قيمته إلى "بلدان مخصصة"، ثم من قائمة البلدان حددنا "مصر" فقط، وذلك لكي يستفيد فقط العملاء المصريين من الشحن المجاني. أخيرًا، بعد الانتهاء انقر على زر "حفظ التكوين"، ثم امسح ذاكرة التخزين المؤقت. الآن إن انتقلت إلى الواجهة الأمامية للمتجر ثم أجريت عملية شراء بإجمالي 100 دولار أو أكثر وكنت عميلًا من دولة مصر، ثم انتقلت إلى عربة السلع ستجد طريقة الشحن المجاني وطريقة الشحن بتسعيرة موحدة متاحتين. طريقة شحن جدول الأسعار جدول الأسعار هو طريقة شحن في نظام Magento 2، إذ تُحتسب الرسوم بناءً على ظروف مختلفة، مثل: الوزن مقابل الوجهة، والسعر مقابل الوجهة، وعدد العناصر مقابل الوجهة؛ وهذا يعني أن سعر الشحن في جدول الأسعار يختلف باختلاف عنوان العملاء وعدد العناصر التي يطلبونها، أو حسب وزن العناصر. فعلى سبيل المثال: إذا كان المستودع الخاص بك في محافظة القاهرة، فإن تكلفة الشحن إلى محافظة الجيزة ستكون أقل من تكلفة الشحن إلى الإسكندرية. تُحضر البيانات المستخدمة لحساب جدول الأسعار من خلال جدول بيانات بصيغة CSV ثم استيرادها إلى متجرك، وعندما يستخدم العميل طريقة الشحن بجدول الأسعار ستظهر النتائج في قسم تقدير الشحن في عربة التسوق. ولتكوين طريقة شحن جدول الأسعار اتبع الخطوات التالية: أولًا، أعد تنفيذ الخطوة الأولى (وسع القسم جدول الأسعار) والثانية من طريقة الشحن بتسعيرة موحدة. ثانيًا، من خلال الحقل "الشرط" عيّن قيمته على أحد القيم التالية: الوزن مقابل الوجهة. السعر مقابل الوجهة. عدد العناصر مقابل الوجهة. ثالثًا، من خلال الحقل "تضمين المنتجات الافتراضية في حساب السعر" يمكنك تعيين قيمته على "نعم" إذا كنت تريد تضمين المنتجات الافتراضية في حساب الشحن. تنويه: نظرًا لأن المنتجات الافتراضية ليس لها وزن فلا يمكنها تغيير نتيجة عملية حسابية تستند إلى شرط "الوزن مقابل الوجهة"، لكن يمكن للمنتجات الافتراضية تغيير نتيجة عملية حسابية تستند إما إلى شرط السعر مقابل الوجهة أو شرط عدد العناصر مقابل الوجهة. رابعًا، أعد تنفيذ من الخطوة الرابعة إلى الثامنة من طريقة الشحن بتسعيرة موحدة. أخيرًا، بعد الانتهاء انقر على زر "حفظ التكوين"، ثم امسح ذاكرة التخزين المؤقت. بعد أن انتهينا من تكوين الإعدادات الأساسية لطريقة الشحن بجدول الأسعار، نحتاج الآن إلى تحضير بيانات جدول الأسعار التي على أساسها سوف تُحتسب تكلفة الشحن بناءً على شرط "السعر مقابل الوجهة". ولتنفيذ ذلك اتبع الخطوات التالية: أولًا، في الزاوية العلوية اليسرى عيّن طريقة عرض المتجر على "موقع الويب الرئيسي" أو إلى أي موقع ويب آخر لتنفيذ تطبيق التكوين. ثانيًا، سوف تلاحظ ظهور زر "تصدير"، انقر عليه لتحميل عينة فارغة من جدول الأسعار بصيغة CSV على خادم الاستضافة. وعند فتح هذا الملف ستجد به خمسة أعمدة على النحو التالي: الدولة: يمكنك إدخال رمز الدولة المستهدفة المكون من ثلاثة أحرف "ISO 3166-1 alpha-3"، ستجد هنا قائمةً كاملةً برموز جميع الدول. الولاية/ المحافظة: في حالة كنت تريد أن تستهدف بعض المحافظات بأسعار مختلفة عن بعض المحافظات الأخرى بنفس الدولة، ففي هذه الحالة يجب إدخال رمز المحافظة المستهدفة؛ أما إن كنت تستهدف جميع محافظات الدولة في هذه الحالة، فأدخل رمز النجمة (*). الرقم البريدي: في حالة كنت تريد أن تستهدف بعض مدن المحافظة بأسعار مختلفة عن بعض المدن الأخرى فيجب إدخال الرقم البريدي للمدن المستهدفة، أما إن كنت تستهدف جميع مدن المحافظة فأدخل رمز النجمة (*). الشرط: من خلال هذا العمود ستحدد الشرط الذي على أساسه سوف تُحتسب قيمة الشحن، ففي حالتنا حددنا أن يكون الشرط "السعر مقابل الوجهة" لذلك نحتاج أن نحدد إجمالي الشراء وما يقابله من تكلفة الشحن. تكلفة الشحن: من خلال هذا العمود أدخل تكلفة الشحن المقابلة لكل إجمالي عملية شراء. ثالثًا: ولكي نوضح لك كيفية ضبط الشرط في جدول أسعار الشحن، لنفترض أننا في متجرنا نريد بناء جدول أسعار بالشروط التالية: العملاء من دولة مصر ومن جميع المحافظات ومن جميع أرقام البريد يحصلون على شحن بقيمة 25 دولار إذا كان الإجمالي من صفر إلى 49 دولار، أو شحن بقيمة 20 دولار إذا كان الإجمالي من 50 إلى 99 دولار، وهكذا إلى أن نصل إلى شحن مجاني إذا كان الإجمالي من 1000 دولار فأكثر. العملاء من دولة السعودية ومن جميع المحافظات ومن جميع أرقام البريد يحصلون على شحن بقيمة 25 دولار إذا كان الإجمالي من صفر إلى 49 دولار، أو شحن بقيمة 20 دولار إذا كان الإجمالي من 50 إلى 99 دولار، وهكذا إلى أن نصل إلى شحن مجاني إذا كان الإجمالي من 1000 دولار فأكثر. ولكي نسهل عليك الأمر وفرنا لك ملف csv جاهزًا يحتوي على هذه الشروط، يمكنك تحميله والاطلاع عليه وتعديله حسب حاجة متجرك ثم استخدامه. رابعًا: بعد انتهائك من إعداد جدول الأسعار انقر على زر "Choose File" ثم حدد مسار ملف جدول الأسعار. أخيرًا، انقر على زر "حفظ التكوين" ثم امسح ذاكرة التخزين المؤقت. الآن إن انتقلت إلى الواجهة الأمامية للمتجر ثم أجريت عملية شراء لخمس منتجات بإجمالي 100 دولار أو أكثر وكنت عميل من دولة مصر، ثم انتقلت إلى عربة السلع ستجد ثلاث طرائق لسعر الشحن كالتالي: شحن مجاني: سعر شحن مجاني لأنك عميل من مصر وكان إجمالي المشتريات 100 دولار، وهما شرطان تفعيل الشحن المجاني اللذان حددناهما في تكوين الشحن المجاني. تسعيرة موحدة: سعر شحن بقيمة 25 دولار لأنك عميل من أي دولة واشتريت 5 منتجات وقيمة شحن كل منتج 5 دولارات. جدول الأسعار: سعر شحن بقيمة 15 دولار من أي دولة باستثناء مصر وكان إجمالي المشتريات 100 دولار وهو الشرط الذي حددناه في جدول الأسعار. طريقة التسليم في المتجر باستخدام طريقة التسليم داخل المتجر يمكن للعميل تحديد مصدر لاستخدامه كموقع استلام أثناء عملية الدفع، لكن بما أننا نبني متجر إلكتروني بسيط ولا يوجد لدينا نقاط تسليم لكي نضبط لها إعدادات خوارزمية أولوية المسافة والرموز الجغرافية، لذلك هذا القسم من الدرس خارج نطاق هذا الدليل. مع ذلك يمكنك الاطلاع على هذا الموضوع من خلال وثائق أدوبي الرسمية. مندوبي الشحن إذا كان لديك حساب تجاري مع شركة شحن مدعومة من نظام ماجنتو فيمكنك أن تقدم لعملائك الراحة في اختيار هذا المندوب أثناء السداد، وتُعرض للعميل أسعار الشحن تلقائيًا لذلك لا تحتاج إلى البحث عن المعلومات. تختلف خيارات التكوين لكل شركة شحن، ومع ذلك فالأمر يتطلب منك أولًا فتح حساب شحن مع شركة الشحن وإدخال رقم حسابك أو معرف المستخدم وعنوان URL للبوابة لنظامهم في تكوين متجرك. وشركات الشحن المدعومة بنظام ماجنتو هي كما يلي: UPS: تقدم شركة United Parcel Service خدمات الشحن المحلية والدولية برًا وجوًا إلى أكثر من 220 دولة، ويمكنك الاطلاع على كيفية تكوينها من خلال وثائق أدوبي الرسمية. USPS: شركة The United States Postal Service وهي خدمة بريدية مستقلة تابعة لحكومة الولايات المتحدة، تقدم خدمات الشحن المحلية والدولية عن طريق البر والجو، ويمكنك الاطلاع على كيفية تكوينها من خلال وثائق أدوبي الرسمية. FedEx: تقدم خدمات الشحن المحلية والدولية برًا وجوًا إلى أكثر من 220 دولة، ويمكنك الاطلاع على كيفية تكوينها من خلال وثائق أدوبي الرسمية. DHL: تقدم خدمات دولية متكاملة وحلولًا مخصصةً تركز على العملاء لإدارة ونقل الرسائل والبضائع والمعلومات، ويمكنك الاطلاع على كيفية تكوينها من خلال وثائق أدوبي الرسمية. الوزن الحجمي أو البعدي الوزن الحجمي أو البُعدي هو ممارسة صناعية شائعة تحدد سعر النقل على أساس مزيج من الوزن وحجم العبوة. بعبارات بسيطة، يُستخدم الوزن الحجمي لتحديد معدل الشحن بناءً على مقدار المساحة التي تشغلها الحزمة في منطقة الشحن الخاصة بشركة الشحن، ويستخدم الوزن الحجمي عادةً عندما تكون العبوة خفيفة نسبيًا مقارنةً بحجمها. لا يتضمن تكوين الشحن بنظام Magento دعمًا للوزن الحجمي، لكن تطبق جميع شركات الشحن المذكورة أعلاه الآن الوزن البعدي على بعض الشحنات، ومع ذلك فإن الطريقة التي بها يُطبق تسعير الوزن الحجمي تختلف من شركة شحن إلى أخرى. لذلك نوصيك بالتعرف على الطريقة التي تستخدمها كل شركة شحن لتحديد الوزن الحجمي وتطبيقه، فإذا كان لدى متجرك كمية كبيرة من الشحنات، فإن أي اختلاف بسيط في سعر الشحن يمكن أن يترجم إلى آلاف الدولارات على مدار العام. خاتمة وإلى هنا نكون قد وصلنا إلى نهاية هذا الدرس من هذا الدليل الذي تعلمنا فيه كيفية إعداد التسعير والشحن، وفي الدرس القادم سوف نتناول بوابات الدفع في متجر إلكتروني بنظام ماجنتو Magento 2. نتمنى أن يكون هذا الدليل قد أضاف لكم معلومات جديدة ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات. اقرأ أيضًا المقال السابق: إضافة المنتجات في متجر إلكتروني بنظام ماجنتو Magento 2 إعداد العملاء والضرائب في متجر إلكتروني بنظام Magento 2 إعداد أدوار المستخدمين وأهم إجراءات الأمان لنظام ماجنتو 2
  9. مرحبًا بك في هذا الدرس من سلسلة دروس بناء متجر إلكتروني متعدد اللغات بنظام ماجنتو Magento 2 الذي سنتعلم من خلاله النقاط التالية: إضافة المنتجات. الإعدادات المتقدمة للمنتجات. ضبط الواجهة العربية للمنتجات. إضافة منتج قابل للتكوين. إضافة المنتجات يستخدم نظام Magento مصطلح "الكتالوج" للإشارة إلى المنتجات الموجودة في قاعدة البيانات، ويتضمن الكتالوج المنتجات المتاحة للبيع، بالإضافة إلى المنتجات غير المتاحة للبيع حاليًا. ومن خلال لوحة تحكم المسؤول، يمكنك الوصول إلى جميع المنتجات في قاعدة البيانات من خلال صفحة الكتالوج. وفي حالة ما إذا كان تثبيت ماجنتو Magento الخاص بك يحتوي على عدة مواقع ويب، عندها يمكن لكل موقع أن يقدم مجموعةً مختلفةً من المنتجات المعروضة للبيع من نفس قاعدة البيانات. أما من خلال قائمة المبيعات، فمصطلح "الكتالوج" له تعريف أكثر تحديدًا، وعادةً ما يشير إلى مجموعة محددة من المنتجات المتاحة للبيع، فعلى سبيل المثال: قد يحتوي المتجر على "كتالوج الربيع" و "كتالوج الخريف". ويُعَد اختيار نوع المنتج أحد الأشياء الأولى التي يجب عليك مراعاتها لإنشاء منتج جديد، ففي هذا القسم من الدرس ستتعلم كيفية إنشاء منتج من كل نوع. أنواع المنتجات يقدم لك نظام ماجنتو ستة أنواع من المنتجات التي يمكنك إضافتها لمتجرك الإلكتروني، فلنتعرف على كل نوع منهم ودواعي استخدام كل نوع وكيفية إضافة المنتجات حسب كل نوع. 1. المنتج البسيط المنتج البسيط هو عنصر مادي له رمز تخزين تعريفي واحد SKU، وتحتوي المنتجات البسيطة على مجموعة متنوعة من الأسعار وضوابط المدخلات التي تجعل من الممكن بيع أشكال مختلفة من المنتج، وأحد مفاتيح الاستفادة من قوة أنواع المنتجات هو معرفة وقت استخدام منتج بسيط ومستقل، إذ يمكنك بيع المنتجات البسيطة بطريق فردية أو كجزء من منتج مجمع. سنتحدث في الخطوات التالية عن عملية إنشاء منتج بسيط باستخدام قالب المنتج الافتراضي مع الإعدادات الأساسية، وعند الانتهاء من الأساسيات يمكنك إكمال الإعدادات المتقدمة حسب الحاجة. ولإضافة منتج بسيط اتبع الخطوات التالية: أولًا: انتقل إلى شريط القوائم الجانبي ثم انقر على "دليل المنتجات"، ومن القائمة التي ستظهر، اختر منها "الكتالوج" أو "المنتجات" حسب الترجمة ولغة العرض لديك. ومن النافذة التي ستظهر، انقر على المثلث الموجود بجوار زر "أضف منتج" الموجود بالزاوية العلوية اليمنى، ثم اختر "منتج بسيط" أو Simple Product. ثانيًا: افتراضيًا، يكون الحقل "تمكين المنتج" مفعلًا لكي يظهر المنتج بالواجهة الأمامية للمتجر، لكن في حالة ما إذا أردت أن تخفي المنتج من واجهة المتجر فقط، فعليك إلغاء التفعيل من الحقل "تمكين المنتج"، لكن سيظل المنتج موجود في صفحة الكتالوج. ثالثًا: لاختيار مجموعة السمات أو الخصائص المستخدمة كقالب للمنتج فقط، انقر على القائمة المنسدلة لاختيار السمة التي تريد استخدامها. والمقصود بالسمات هنا، إضافة خصائص فرديةً إضافيةً تصف المنتج مثل لون المنتج أو مقاسه. تنويه: افتراضيًا، لن تجد غير السمة "Default"، لكننا سنتعلم لاحقًا بهذا الدرس كيفية إنشاء سمات مخصصة وكيفية استخدامها. رابعًا: أدخل اسم المنتج، ثم يمكنك قبول رمز SKU الافتراضي الذي يُنشؤه النظام اعتمادًا على اسم المنتج، أو أدخل رمزًا آخر اعتمادًا على تكويد المنتجات الخاص بك، بعدها ضع سعر المنتج. خامسًا: عيّن فئة الضريبة للمنتج، فإن كان المنتج الذي تضيفه معفًى من الضرائب، فاختر "لا شيء"؛ وإن لم يكن المنتج معفيًا، فاختر "سلعة خاضعة للضرائب". سادسًا: أدخل كمية المنتج الموجودة حاليًا في المخزون، ولاحظ أنه افتراضيًا يُعين حقل حالة المخزون على "متوفر"، ثم أدخل وزن المنتج. سابعًا: من خلال حقل "فئة المنتج" يمكنك تحديد الأقسام (قوائم الإبحار بالمتجر) التي سيظهر بها المنتج الذي تضيفه، وذلك من خلال النقر على القائمة المنسدلة ثم اختيار قسم أو أكثر لإضافة المنتج فيه. وفي حالة عدم وجود أقسام لديك أو كنت تريد إنشاء قسم جديد للمنتج، فعندها يمكنك النقر على زر "قسم جديد". ومن النافذة التي ستظهر، اكتب اسمًا للقسم الذي تريد إنشاؤه، ثم حدد القسم الرئيسي الذي سوف ينضوي تحته القسم الجديد، ولمزيد من التفاصيل يمكنك مراجعة الدرس الثاني من هذا الدليل. تنويه: بخصوص استكمال بيانات باقي الإعدادات الخاصة بالمنتج مثل المحتوى والصور … إلخ، سوف نستعرضها لاحقًا بهذا الدرس. أخيرًا: إذا كنت جاهزًا لنشر المنتج في الكتالوج، فتأكد أولًا من تمكين المنتج، ثم انقر على زر "حفظ" مباشرةً أو النقر على المثلث الذي بجواره لاختيار أحد الخيارات الأخرى، مثل حفظ، وإضافة منتج جديد؛ وفي النهاية يمكنك الذهاب إلى الواجهة الأمامية لمتجرك للاطلاع على المنتج الجديد الذي أضفته. 2. المنتج القابل للتكوين قد يبدو لك من الوهلة الأولى أن المنتج القابل للتكوين هو عبارة عن منتج واحد له قوائم منسدلة بها العديد من الخيارات لكل منتج، على سبيل المثال نعرض في متجرنا لحافًا واحدًا لكن له عدة مقاسات وعدة ألوان للاختيار منها، لكن في الحقيقة أن كل خيار هو في الواقع منتج بسيط منفصل مع رمز SKU فريد لكل منتج، مما يجعل من الممكن تتبع المخزون لكل نوع منتج. وعلى الرغم من أن المنتج القابل للتكوين يستخدم المزيد من رموز SKU وقد يستغرق إعداده وقتًا أطول قليلًا من المنتج البسيط، إلا أنه يمكن أن يوفر لك الوقت على المدى الطويل إذا كنت تخطط لتنمية عملك، إذ أن نوع المنتج القابل للتكوين يُعَد اختيارًا جيدًا للمنتجات ذات الخيارات المتعددة. ويمكنك تحقيق تأثير مماثل باستخدام منتج بسيط بسمات أو خيارات مخصصة، ولكن سوف نعود للحديث عنه في وقت لاحق من هذا الدرس، وذلك لأننا يجب أن نتعلم كيفية إنشاء سمات مخصصة أولًا. 3. المنتج المجمع يتكون المنتج المُجمّع من مجموعة منتجات بسيطة قائمة بذاتها تُقدم كمجموعة، حيث يمكنك تقديم أشكال مختلفة لمنتج واحد أو تجميعها كعرض ترويجي حسب الموسم لإنشاء مجموعة من المنتجات المختلفة، ويمكن شراء كل منتج على حدة أو كجزء من المجموعة. ولإضافة منتج مُجمّع، اتبع الخطوات التالية: * أولًا: انتقل إلى شريط القوائم الجانبي ثم انقر على "دليل المنتجات"، ومن القائمة التي ستظهر اختر منها "الكتالوج"، ومن النافذة التي ستظهر انقر على المثلث الموجود بجوار زر "أضف منتج" الموجود بالزاوية العلوية اليمنى، ثم اختر "منتج مُجمّع" أو Grouped Product. * ثانيًا: نفذ نفس خطوات إضافة المنتج البسيط (من الخطوة الثانية حتى الخطوة التاسعة). * ثالثًا: مرر لأسفل حتى تصل إلى قسم "المنتجات المجمعة" ثم انقر على زر "إضافة منتجات إلى المجموعة". * رابعًا: من قائمة المنتجات التي ستظهر، حدد المنتجات التي تريد تضمينها في المجموعة، ثم انقر على زر "إضافة منتجات مختارة" لإضافتها إلى المجموعة. الآن ستجد أن المنتجات المحددة قد ظهرت في قسم "المنتجات المجمعة"، وهنا يمكنك إدخال الكمية الافتراضية لكل منتج منهم وتغيير ترتيب ظهور المنتجات أو إزالة المنتجات. أخيرًا: إذا كنت جاهزًا لنشر المنتج في الكتالوج فتأكد أولًا من تمكين المنتج، ثم انقر على زر "حفظ". 4. المنتج الافتراضي تُستخدم المنتجات الافتراضية لتمثيل عناصر غير ملموسة مثل العضويات أو الخدمات أو الاشتراكات، ويمكنك بيع المنتجات الافتراضية فرديًا أو تضمينها كجزء من المنتجات المُجمّعة أو منتجات الحزمة. ولإضافة منتج افتراضي، اتبع الخطوات التالية: أولًا: انتقل إلى شريط القوائم الجانبي ثم انقر على "دليل المنتجات"، ومن القائمة التي ستظهر اختر منها "الكتالوج"، ومن النافذة التي ستظهر انقر على المثلث الموجود بجوار زر "أضف منتج" الموجود بالزاوية العلوية اليمنى، ثم اختر "منتج افتراضي" أو Virtual Product. ثانيًا: نفذ نفس خطوات إضافة المنتج البسيط (من الخطوة الثانية حتى الخطوة الثامنة) وعندما تصل للخطوة الثامنة تأكد من أن الحقل "الوزن" محدد له القيمة "لا يحتوي هذا العنصر على وزن". ثالثًا: نفذ الخطوة التاسعة من خطوات إضافة المنتج البسيط. أخيرًا: إذا كنت جاهزًا لنشر المنتج في الكتالوج، فتأكد أولًا من تمكين المنتج ثم انقر على زر "حفظ". 5. المنتج الحزمة يتيح منتج الحزمة للعملاء إمكانية بناء منتجاتهم الخاصة من مجموعة متنوعة من الخيارات، فيمكن أن تكون الحزمة عبارةً عن سلة هدايا أو جهاز حاسوب أو أي شيء آخر يمكن تخصيصه، وكل عنصر في الحزمة هو منتج منفصل ومستقل، كما يمكن أن يعتمد كل عنصر في الحزمة على المنتجات البسيطة والمنتجات الافتراضية. يكمن الفارق بين المنتج المُجمّع والمنتج الحزمة في أن المنتج الحزمة يمكنك فيه أن تحدد بعض العناصر على أنها إلزامية من حيث الشراء والكمية، إذ يجب على العميل شراؤها بالكمية المحددة، وبعض العناصر الأخرى تكون اختيارية يمكن للعميل شراؤها أو زيادة كميتها أو عدم شرائها. على سبيل المثال إن أحببت أن تضيف منتج حزمة لجهاز حاسوب، فالمكونات (الصندوق واللوحة الأم والمعالج ومزود الطاقة ونظام التبريد) يمكن جعلها إلزاميةً من حيث الكمية والشراء، إذ يجب أن يشتريها العميل بنفس الكمية المحددة؛ أما المكونات (شاشة العرض قرص التخزين الذواكر لوحة المفاتيح والفأرة)، فيمكنك أن تجعل هذه العناصر غير إلزامية من حيث الكمية والشراء، بحيث يمكن للعميل أن يزيد من كميتها أو عدم شرائها. ولإضافة منتج حزمة اتبع الخطوات التالية: أولًا: انتقل إلى شريط القوائم الجانبي، ثم انقر على "دليل المنتجات"؛ ومن القائمة التي ستظهر اختر منها "الكتالوج"، ومن النافذة التي ستظهر انقر على المثلث الموجود بجوار زر "أضف منتج" الموجود بالزاوية العلوية اليمنى، ثم اختر "منتج افتراضي" أو Bundle Product. ثانيًا: نفذ نفس خطوات إضافة المنتج البسيط (من الخطوة الثانية حتى الخطوة التاسعة) وتأكد من أن الحقل "رمز SKU" محدد له القيمة "رمز ديناميكي"، والحقل "السعر" محدد له القيمة "سعر ديناميكي"، والحقل "الوزن" محدد له القيمة "وزن ديناميكي". ثالثًا: مرر لأسفل حتى تصل إلى قسم "عناصر الحزمة"، واترك الحقل "اشحن مجموعة العناصر" على القيمة "معًا" كما هي، ثم انقر على زر "أضف خيار". رابعًا: أدخل اسمًا مناسبًا لمجموعة منتج الحزمة، ثم حدد نوع الإدخال الذي سيستخدمه العميل لاختيار عناصر الحزمة، ومن خلال القيمة "مطلوب" فعند تحديدها أنت تًلزم العميل بشراء هذه الحزمة، أما عند عدم تحديدها فأنت لا تُلزم العميل بشرائها. بعد ذلك انقر على زر "إضافة المنتجات إلى الخيار" خامسًا: من قائمة المنتجات التي ستظهر حدد المنتجات التي تريد تضمينها في الحزمة، ثم انقر على زر "إضافة منتجات مختارة" لإضافتها إلى الحزمة. الآن ستجد أن المنتجات المحددة قد ظهرت في الخيار الذي أنشأناه، وهنا يمكنك إدخال الكمية الافتراضية لكل منتج، وتعيين المنتج الافتراضي. ومن خلال القيمة "التحديد من قِبَل المستخدم" فعند تحديدها أنت تُلزم العميل بالكمية المحددة فقط، وعند عدم تحديدها فأنت لا تُلزم العميل بكمية محددة من المنتج، كما يمكنك إزالة المنتج بالنقر على رمز سلة المهملات. سادسًا: في حالة كنت تريد إضافة منتج جديد للخيار الحالي فأعد تنفيذ الخطوة الخامسة مرةً أخرى؛ أما في حالة كنت تريد إنشاء خيار جديد بمنتجات جديدة لنفس الحزمة، فأعد تنفيذ الخطوة الرابعة والخامسة. أخيرًا: إذا كنت جاهزًا لنشر المنتج في الكتالوج، فتأكد أولًا من تمكين المنتج ثم انقر على زر "حفظ". 6. منتج قابل للتنزيل يمكن أن يكون المنتج القابل للتنزيل أي شيء يمكنك تسليمه كملف، مثل كتاب إلكتروني أو ملف صوتي أو مقطع فيديو أو تطبيق برمجي أو تحديث برمجي. ونظرًا لأن التنزيل الفعلي لا يصبح متاحًا إلا بعد الشراء، فيمكنك تقديم عينات من المنتج، مثل مقتطف من كتاب، أو مقطع من ملف صوتي، أو مقطع دعائي من مقطع فيديو يمكن للعميل تجربته قبل شراء المنتج؛ كما يمكن تحميل الملفات التي تتيحها للتنزيل إلى الخادم الخاص بك أو من خادم وسيط. ويمكن تكوين المنتجات القابلة للتنزيل لكي تطلب من العميل تسجيل الدخول إلى حسابه بالمتجر لتلقي رابط المنتج، أو يمكن إرسال الرابط عبر البريد الإلكتروني ومشاركته مع الآخرين، وتُعين القيم الافتراضية وخيارات التسليم الأخرى في التكوين. ولإضافة منتج قابل للتنزيل، اتبع الخطوات التالية: أولًا: انتقل إلى شريط القوائم الجانبي، ثم انقر على "دليل المنتجات". ومن القائمة التي ستظهر، اختر منها "الكتالوج"، ومن النافذة التي ستظهر بعدها انقر على المثلث الموجود بجوار زر "أضف منتج" الموجود بالزاوية العلوية اليمنى، ثم اختر "منتج قابل للتنزيل" أو Downloadable Product. ثانيًا: نفذ نفس خطوات إضافة المنتج الافتراضي (الخطوة الثانية والثالثة). ثالثًا: مرر لأسفل حتى تصل إلى قسم "معلومات المنتجات القابلة للتنزيل"، وتأكد من تحديد الخيار "هل هذا منتج قابل للتحميل؟". رابعًا: ستجد أن قسم "المعلومات القابلة للتنزيل" يتكون من جزئين، الأول منهما يصف كل ارتباط تنزيل، والثاني يصف كل عينة من رابط التنزيل، وفي حالتنا سوف أضيف منتجًا قابلًا للتنزيل عبارة عن دليل الاستخدام لمنتجات متجرنا (مفروشات الأسرة). خامسًا: من حقل "العنوان" أدخل العنوان الذي تريد استخدامه كعنوان لارتباطات التنزيل، وإن كنت تريد ذلك فيمكنك تحديد خانة الاختيار "يمكن شراء الروابط بشكل منفصل". سادسًا: انقر على زر "إضافة رابط" ونفذ ما يلي: أ. أدخل عنوان للملف أو الرابط (في حال إذا كان الملف مقسمًا على عدة أجزاء) وسعر التنزيل إن كنت قد فعلت الاختيار "يمكن شراء الروابط بشكل منفصل" من الخطوة السابقة. وفي حالة عدم تحديدها، فلن يكون حقل السعر مفعلًا. ب. بالنسبة لملفات المنتج القابل للتحميل، فإن كنت تريد تحميل الملف من خادمك مباشرةً، فحدد من خلال الحقل "الملف" الخيار "رفع ملف" ثم انقر على الزر "استعرض ملفات" للوصول إلى الملف وحدده للتحميل؛ أما إن كنت تريد تحميل الملف من خادم وسيط، فحدد الخيار "URL" ثم أدخل عنوان URL الكامل لملف التنزيل بالخادم الوسيط، بعدها ثم كرر نفس الأمر مع حقل "العينة". ج. يتيح لك الحقل "قابل للمشاركة" ثلاثة خيارات، الأول منهم "نعم" وذلك لإرسال رابط الملف عبر البريد الإلكتروني، فلا يحتاج العميل إلى تسجيل الدخول للمتجر كما يمكنه مشاركة الملف مع الآخرين؛ والخيار الثاني "لا" وذلك يتطلب من العملاء تسجيل الدخول إلى حساباتهم بالمتجر للوصول إلى رابط التنزيل؛ والخيار الثالث "استخدام التكوين"، وذلك ليستخدم العميل الطريقة المحددة في تكوين خيارات المنتج القابل للتحميل والتي سنتعرف عليها بعد قليل. د. يتيح لك الحقل "أقصى حد للتنزيل" إمكانية تحديد عدد لعملية التنزيل لكل عميل، وذلك بإلغاء تحديد خيار "غير محدود" ثم إدخال عدد التنزيلات القصوى، أو السماح بعدد تنزيلات غير محدود لكل عميل وذلك بتحديد الخيار "غير محدود" فقط. سابعًا: يتيح لك القسم "العينة" القدرة على إضافة عينة من المنتج القابل للتحميل يمكن للعميل تجربته قبل شراء المنتج، فقط نفّذ نفس التعليمات الواردة بالخطوة السابقة. أخيرًا: إذا كنت جاهزًا لنشر المنتج في الكتالوج فتأكد أولًا من تمكين المنتج، ثم انقر على زر "حفظ". إعداد خيارات المنتجات القابلة للتنزيل لقد ذكرنا بالخطوة السادسة من خطوات إضافة منتج قابل للتنزيل أن الحقل "قابل للمشاركة" يتيح لك ثلاثة خيارات منها الخيار "استخدام التكوين"، فهو يحدد القيم الافتراضية وخيارات التسليم للمنتجات القابلة للتنزيل؛ كما يحدد ما إذا كان يمكن للضيوف شراء المنتجات القابلة للتنزيل أم لا. ولإعداد خيارات المنتجات القابلة للتنزيل، انتقل إلى شريط القوائم الجانبي ثم انقر على "المتاجر"، ومن القائمة التي ستظهر، اختر منها "الضبط". ومن القائمة التي ستظهر حدد منها "دليل المنتجات" ثم اختر منها "دليل المنتجات"، ثم وسع قسم "خيارات المنتجات القابلة للتنزيل" من النافذة التي ستظهر. أظن أن معظم الإعدادات واضحة ولا تحتاج إلى شرح، لكن إليك توضيح لأهم هذه الإعدادات: يتيح لك الخيار الأول إمكانية تحديد مرحلة سير عمل الطلب عندما يصبح التنزيل متاحًا، فيمكنك اختيار إما "فاتورة" ليتولى النظام إتمام العملية، أو اختيار "في انتظار المراجعة" ليتولى المسؤول إتمام العملية. يتيح لك الخيار الثالث تحديد ما إذا كان المنتج قابلًا للمشاركة أم لا، فيمكنك اختيار إما "نعم" للسماح للعملاء بإرسال رابط التنزيل عبر البريد الإلكتروني للآخرين، أو اختيار "لا" لمنع العملاء من مشاركة رابط التنزيل مع الآخرين من خلال مطالبة العملاء بتسجيل الدخول إلى حساباتهم للوصول إلى روابط التنزيل. يتيح لك الخيار السابع إمكانية تحديد كيفية تسليم المحتوى القابل للتنزيل للعميل، فيمكنك اختيار إما "Attachment" لتسليم رابط التنزيل عن طريق البريد الإلكتروني كمرفق، أو اختيار "Inline" لتسليم رابط التنزيل كارتباط على صفحة ويب. يتيح لك الخيار الأخير القدرة على تحديد إذا كنت تريد أن تطلب من المشترين التسجيل للحصول على حساب عميل وتسجيل الدخول قبل شراء المنتج القابل للتنزيل، لذا عين الخيار تعطيل شراء الضيف إذا كانت سلة التسوق تحتوي على عناصر قابلة للتنزيل على القيمة "نعم". الإعدادات المتقدمة للمنتجات لقد تعرفنا من خلال القسم السابق على كيفية إضافة المنتجات بمختلف أنواعها مع تعيين الإعدادات الأساسية لهذه المنتجات مثل اسم المنتج ورمزه وسعره، وأضفنا فعلًا منتجًا قابلًا للتنزيل على متجرنا، لكن صفحة هذا المنتج على المتجر خالية من التفاصيل، إذ لا توجد صور للمنتج ولا نبذة عنه ولا وصف مختصر ولا وصف تفصيلي … إلخ. لنتعرف في هذا القسم كيفية تنفيذ ذلك. قسم المحتوى يتيح لك استخدام قسم المحتوى إمكانية إدخال وتحرير وصف المنتج الرئيسي الذي يظهر على صفحة المنتج، ويمكن استخدام الوصف المختصر في معظم موجزات RSS، وقد يظهر أيضًا في قوائم الكتالوج اعتمادًا على النسق، فالأمر كله يرجع إلى مخيلتك وإبداعك بهذا الخصوص، إذ يمكنك كتابة جميع بيانات المنتج من خلال محرر الوصف القصير فقط. كما يمكنك بناء وصف احترافي للمنتج كما هو الحال بالمتاجر الاحترافية الشهيرة باستخدام منشئ الصفحة. ففي حالتنا سوف أستخدم محرر الوصف القصير لكتابة وصف قصير عن منتجنا القابل للتحميل الذي أضفناه للمتجر لكي يظهر هذا الوصف القصير أسفل سعر المنتج بالواجهة الأمامية للمتجر. ولتنفيذ ذلك، افتح المنتج في وضع التحرير، ثم مرر للأسفل حتى تصل إلى قسم "المحتوى"، ومن خلال محرر الوصف القصير أدخل وصفًا موجزًا للمنتج وصيغة حسب الحاجة واستخدم شريط الأدوات للتنسيق حسب الحاجة. أريد الآن بناء وصف احترافي للمنتج باستخدام منشئ الصفحة، وهذا الوصف سيكون عبارةً عن علامات تبويب، وكل علامة تبويب تحتوي على جزء من بيانات الوصف. ولتنفيذ ذلك، افتح المنتج في وضع التحرير ثم مرر للأسفل حتى تصل إلى قسم "المحتوى"، ثم انقر على "منشئ الصفحة". ومن خلال السحب والإلقاء، يمكنك استخدام الأدوات العديدة التي يقدمها لك لبناء محتوى احترافي، فكما ذكرتُ سابقًا الأمر متروك لإبداعك لأن شرح محرر منشئ الصفحة خارج نطاق هذا الدليل. قسم التكوينات يسرد قسم "التكوينات" أي متغيرات حالية للمنتج ويمكن استخدامه أيضًا لإنشاء تكوينات للاستخدام مع نوع المنتج القابل للتكوين، والذي سنتعرف عليه في وقتٍ لاحق من هذا الدرس. قسم مراجعات المنتج يسرد قسم مراجعات المنتج جميع المراجعات التي أرسلها العملاء حول المنتجات، ويظهر القسم فقط بعد حفظ منتج جديد. قسم الصور ومقاطع الفيديو من قسم الصور ومقاطع الفيديو يمكنك تنفيذ مهام إدارة الصور الأساسية، مثل تحميل صور متعددة وإعادة ترتيب الصور والتحكم في كيفية استخدام كل صورة. ولإضافة صور للمنتج، يمكنك من خلال السحب والإلقاء على رمز الكاميرا، أو النقر على رمز الكاميرا ثم تحديد مسار الصور التي تريد إضافتها للمنتج. انقر الآن على الصورة لكتابة النص البديل لها، ثم حدّد دور الصورة، فهل تريدها أن تكون الصورة الأساسية، أو تكون المصغرة، أو أن تكون صورة المنتج في دليل المنتجات، كما يمكنك إخفاء الصورة من واجهة المتجر. وفي حالتنا يمكننا الاستفادة من وظيفة إخفاء الصور بأن نضيف صور المنتج للواجهة العربية ثم نخفيها حتى لا تظهر مع صور الواجهة الإنجليزية، وعندما نصل إلى تكوين صور الواجهة العربية للمنتج نُظهر الصور العربية ونخفي الصور الإنجليزية. الآن إن انتقلت إلى واجهة العرض الأمامية للمتجر سواءً الواجهة العربية أو الإنجليزية فستجد أن الصور التي أضفناها قد ظهرت فيما عدا الصورة التي أخفيناها. قسم تحسين محرك البحث يحدد قسم "تحسين محرك البحث" مفتاح URL وحقول البيانات الوصفية التي تستخدمها محركات البحث لفهرسة المنتج، وعلى الرغم من أن بعض محركات البحث تتجاهل الكلمات الرئيسية الوصفية، إلا أن البعض الآخر مازال مستمرًا في استخدامها. وتتمثل أفضل ممارسات تحسين محركات البحث الحالية، في دمج الكلمات الرئيسية ذات القيمة العالية في كل من العنوان والوصف التعريفي للمنتج. وسوف تلاحظ أن نظام ماجنتو ينشئ القيمة الافتراضية لكل حقل في القسم تلقائيًا استنادًا إلى القيم المحددة في التكوين، ولمعرفة المزيد عن تحسين محركات البحث، يمكنك الاطلاع على المقالات التي تخص هذا الموضوع بالأكاديمية. قسم المنتجات ذات الصلة يُستخدم هذا القسم لإعداد مجموعات ترويجية بسيطة تقدم مجموعةً مختارةً من المنتجات الإضافية التي قد تهم العميل، ويقدم لك هذا القسم ثلاثة خيارات على النحو التالي: المنتجات ذات الصلة: هي تلك المنتجات التي تظهر للعميل أثناء مشاهدته للمنتج الذي يرغب في شرائه، مثل أن تعرض عدة منتجات شبيهةً بالمنتج الذي يشاهده العميل، أو منتجات مكملة لعمل المنتج الذي يشاهده العميل. ولإعداد المنتجات ذات الصلة، افتح المنتج في وضع التحرير ثم مرر لأسفل حتى تصل لقسم "المنتجات ذات الصلة"، ثم انقر على زر "إضافة منتجات ذات صلة". الآن، ومن النافذة التي ستظهر، حدد المنتجات التي تريد تمييزها كمنتج ذي صلة، وعندما تنتهي من التحديد، انقر على زر "إضافة المنتجات المحددة". المنتجات الأكثر مبيعًا: هي المنتجات التي قد يفضلها العميل بدلًا من المنتج الذي يشاهده حاليًا، فقد يكون هذا المنتج ذا جودة أعلى أو أكثر شيوعًا أو بهامش ربح أفضل، وتظهر المنتجات الأعلى مبيعًا على صفحة المنتج تحت عنوان مثل: "قد تكون مهتمًا أيضًا بالمنتج (المنتجات) التالية". ولإعداد المنتجات الأكثر مبيعًا، نفذ نفس الخطوات التي ذكرناها في إعداد المنتجات ذات الصلة، لكن هذه المرة انقر على زر "Add up-sell products". منتجات البيع العابر أو المتقاطع: تظهر المنتجات المعروضة على هيئة بيع عابر أو متقاطع في صفحة عربة التسوق، قبل أن يبدأ العميل عملية السداد مباشرةً. ولإعداد منتجات البيع المتقاطع، نفذ نفس الخطوات التي ذكرناها في إعداد المنتجات ذات الصلة، لكن هذه المرة انقر على زر "Add cross-sell products". قسم خيارات التخصيص تُعَد إضافة خيارات تخصيص إلى المنتج طريقةً سهلةً لتزويد العملاء بمجموعة من الخيارات المتنوعة لاختيار اختلافات المنتج الذي يريدونه، وتُعد هذه الطريقة حلًا جيدًا إذا كانت احتياجات المخزون الخاصة بك بسيطة، لكن نظرًا لأن هذه الطريقة تستند إلى اختلافات في رمز SKU للمنتج، فلا يمكن استخدامها لإدارة المخزون، وذلك لأنك لن تستطيع تتبع رمز SKU لكل مُنتج مباع. فإذا كان لديك على سبيل المثال عدد 1000 حذاء رياضي مقسمين إلى خمسة قياسات، وكل قياس مقسم إلى أربعة ألوان، فيمكنك إعداد منتج واحد واستيراد الخيارات إلى المنتجات الأخرى. ونظرًا لأن متجرنا ستكون به منتجات متعددة ونريد في نفس الوقت تتبع المخزون، فسوف نتجاوز كيفية إعداد خيارات التخصيص. قسم المنتج في مواقع الويب يحدد قسم "المنتج في مواقع الويب" كل موقع ويب يتوفر فيه المنتج وفقًا للتسلسل الهرمي للمتجر، مما يتيح لك إمكانية نسخ المنتج من موقع ويب إلى موقع ويب آخر بدلًا من إنشائه من جديد. ونظرًا لأننا نستخدم موقع ويب واحد فقط على خادم الاستضافة، فلن نحتاج إلى استخدام هذا القسم. قسم التصميم تسمح إعدادات التصميم بتطبيق إعدادات قالب مختلفة على صفحة المنتج (هذا الخيار متاح حاليًا فقط للإصدار المدفوع من نظام ماجنتو Adobe Commerce) سواءً تغيير تخطيط العمود أو تحديد مكان ظهور خيارات المنتج وإدخال شيفرات XML مخصصة. ويقدم لك قسم "التصميم" ثلاثة خيارات على النحو التالي: التخطيط: يمنحك القدرة على تطبيق تخطيط مختلف لصفحة المنتج، ويوفر لك هذا الخيار القيم التالية: أ. لا توجد تحديثات للتخطيط: عندما لا تتوفر تحديثات التخطيط لصفحة المنتج. ب. فارغ: يسمح لك بتحديد التخطيط الخاص بك مثل صفحة من 4 أعمدة لكن هذا الخيار يتطلب فهم XML. ج. عمود واحد: لتطبيق تخطيط من عمود واحد على صفحة المنتج. د. عمودان بشريط أيسر: لتطبيق تخطيط من عمودين مع شريط جانبي أيسر على صفحة المنتج. هـ. عمودان بشريط أيمن: لتطبيق تخطيط من عمودين مع شريط جانبي أيمن على صفحة المنتج. و. ثلاثة أعمدة: لتطبيق تخطيط من ثلاثة أعمدة على صفحة المنتج. ز. الصفحة - العرض الكامل: لتطبيق تخطيط العرض الكامل لصفحات CMS على صفحة المنتج. ح. الفئة - العرض الكامل: لتطبيق تخطيط العرض الكامل لصفحات الفئات على صفحة المنتج. ط. المنتج - العرض الكامل: لتطبيق تخطيط العرض الكامل لصفحات المنتج على صفحة المنتج. عرض خيارات المنتج بتنسيق: يحدد مكان ظهور خيارات المنتج على صفحة المنتج، ويقدم لك هذا الخيار القيم التالية: أ. عمود معلومات المنتج. ب. كتلة بعد عمود المعلومات. تحديث التخطيط المخصص: يُستخدم للوصول إلى الخيارات لتحديث التخطيط المخصص على صفحة المنتج. قسم تحديث التصميم المجدول يمنحك قسم تحديث التصميم المجدول القدرة على إجراء تغييرات مؤقتة على مظهر صفحة المنتج، حيث يمكنك جدولة تغييرات التصميم لموسم أو عرض ترويجي مثل إعداد تصميم لشهر رمضان، ثم ضبط الجدولة لكي يُفعل التصميم مع أول أيام الشهر، وفي آخر يوم يعود التصميم القديم للمتجر مرةً أخرى. قسم خيارات الهدايا يمكنك تعيين خيارات الهدايا على مستوى المُنتج للسماح بإدراج رسالة هدية أثناء إتمام عملية الشراء. ولإعداد خيارات الهدية تجاوَز إعداد التكوين الافتراضي، وذلك بإلغاء تحديد خانة الاختيار "استخدام إعدادات التهيئة"، بعدها فَعِّل الخيار "السماح برسالة الهدية". ضبط الواجهة العربية للمنتجات بعد أن أضفنا منتجًا قابلًا للتحميل على متجرنا ثم أضفنا محتوًى باللغة الإنجليزية لهذا المنتج وضبطنا الإعدادات المتقدمة له، الآن عندما نعرض هذا المنتج على الواجهة الإنجليزية للمتجر سوف يكون الأمر مناسب، لكن في حالة عرض المنتج على الواجهة العربية، فلن يكون الأمر مناسب لأن جميع بيانات المنتج ستكون باللغة الإنجليزية. لذلك، نريد أن نحول هذه البيانات مثل اسم المنتج والمحتوى والصور إلى اللغة العربية حتى يتناسب المنتج مع الواجهة العربية للمتجر، ولتنفيذ ذلك اتبع الخطوات التالية: أولًا: افتح المنتج في وضع التحرير، ثم من أعلى يسار النافذة حدد النطاق إلى الواجهة العربية. ثانيًا: من خلال الحقل "اسم المنتج"، الغِ التحديد من "استخدم القيمة الافتراضية" ثم اعطي المنتج اسمًا مناسبًا باللغة العربية. ثالثًا: مرر للأسفل حتى تصل إلى قسم "المحتوى" ثم الغِ التحديد من "استخدم القيمة الافتراضية" الموجود أسفل الوصف القصر، لتجد أن النص الأصلي الإنجليزي قد ظهر لك، عندها امسحه ثم اكتب الوصف القصير الخاص بالمنتج باللغة العربية. وبعد الانتهاء من الكتابة انقر على زر حفظ، ثم انتقل إلى الواجهة الأمامية العربية للمتجر وافتح المنتج، إذ من المفترض أن تجد الوصف القصير للمنتج قد تحول إلى اللغة العربية. رابعًا: عُد مرةً أخرى إلى قسم "المحتوى" ثم الغِ التحديد من "استخدم القيمة الافتراضية" الموجود أسفل الوصف. امسح النص الأصلي وعدل ما يلزم للحصول على وصف للمُنتج باللغة العربية. وبعد الانتهاء من الكتابة انقر على زر حفظ، ثم انتقل إلى الواجهة الأمامية العربية للمتجر وافتح المنتج. هنا من المفترض أن تجد وصف المنتج قد تحول إلى اللغة العربية. خامسًا: لتغيير صور المنتج انتقل إلى قسم "الصور ومقاطع الفيديو"، وكما ذكرنا سابقًا أننا رفعنا جميع الصور ثم أخفينا النسخة العربية من تلك الصور، الآن حان الدور أن نُظهر النسخة العربية ونُخفي النسخة الإنجليزية من تلك الصور مع تعيين أدوار الصور كما وضحنا سابقًا. وبعد الانتهاء من ضبط الصور، انقر على زر حفظ، ثم انتقل إلى الواجهة الأمامية العربية للمتجر وستجد أن صورة المنتج أصبحت النسخة العربية من الصور. سادسًا: بخصوص قسم "تحسين محركات البحث"، يمكنك تعديل حقل "عنوان الميتا" وحقل "الكلمات الرئيسية" وحقل "وصف الميتا" إلى اللغة العربية، وذلك لكي تضمن أن العميل سواءً بحث باللغة العربية أو الإنجليزية عن المنتج، ففرصة وصوله إلى متجرك ستكون كبيرة؛ أما الحقل "مفتاح الرابط" فيفضل أن يترك كما هو باللغة الإنجليزية. أخيرًا: بما أننا أضفنا منتجًا قابلًا للتنزيل، وعلى غرار الخطوات السابقة، أريد منك تعديل ما يلزم في قسم "معلومات المنتجات القابلة للتنزيل" لكي تصبح مسميات المنتج والعينة باللغة العربية، وأن ترفع نسخةً عربيةً من المنتج لتصبح النتيجة كما بالصورة التالية: إضافة منتج قابل للتكوين يختلف المنتج القابل للتكوين عن المنتج البسيط في أن المنتج القابل للتكوين يقدم مجموعةً من الخيارات المختلفة لكل منتج، بالإضافة إلى أنه من السهل عليك تتبع مخزون المنتجات، وذلك لأن المنتج القابل للتكوين هو في الواقع منتج بسيط مع رمز SKU فريد. وعلى الرغم من أن إعداد منتج قابل للتكوين يستغرق وقتًا طويلًا، إلا أنه يوفر عليك الوقت على المدى الطويل، مما يساعدك في نمو نشاطك التجاري، لذلك يُعَدّ نوع المنتج القابل للتكوين خيارًا جيدًا للمنتجات ذات الخيارات المتعددة. وقبل الغوص في إنشاء المنتجات القابلة للتكوين، تحتاج إلى استكشاف ميزة قوية ومهمة جدًا في ماجنتو، وهي: سمات المنتج ومجموعات السمات. سمات المنتج السمة هي خاصية لمُنتج معين يستخدمها نظام Magento 2 لإدارة المعلومات المرتبطة بالمنتجات، مثل لون المنتج أو الحجم أو الوصف، وتضمَّن بعض السمات في النظام افتراضيًا، كما يمكنك إنشاء سمات أخرى لتلبية احتياجات محددة، بحيث يمكنك إضافة أو تحرير أو إزالة سمات المنتج في Magento 2 لتخصيص منتجاتك. وفي حالة متجرنا الذي يعرض مفروشات الأسِرَّة والذي أنشأنا به خمس فئات (الملاءات - الألحفة - أطقم الألحفة - البطانيات - الوسائد)، نريد أن ننشئ سبعة سمات مخصصة وهي كما يلي: اللون. المقاس. الخامة. قابل للغسل. الموسم. تصنيف TOG لقياس العزل. السُمك. ثم نريد أن نُعين لكل سمة منهم مجموعةً من الخصائص، فعلى سبيل المثال، نريد أن نضيف للسمة "اللون"، 12 لونًأ لمختلف المنتجات، كما نريد أن يكون نطاق السمة Global (على مستوى المتجر بالكامل) وأن تظهر في البحث وأن تقبل المقارنة والتنقل يكون متعدد الطبقات وأن تكون مرئيةً في صفحات الكتالوج في واجهة المتجر، وأخيرًا تحديث صورة معاينة المنتج عند تغيير اللون. قد يبدو الأمر مخيفًا ومعقدًا للغاية بمجرد قراءة تلك الأسطر، مما قد يدفعك إلى عدم استخدام المنتجات القابلة للتكوين بمتجرك تجنبًا لتنفيذ هذه الخطوات، لكن في الحقيقة الأمر بسيط، فهو يحتاج منك فقط بعض التركيز. ولكي نسهل عليك الأمر، نقدم لك ملف Custom Attributes.xlsx الذي وضعنا فيه الخريطة التي سوف نسير عليها لضمان إنشاء السمات التي نحتاج إليها بنجاح. فكما هو موضح بالصورة السابقة، ستجد أن الصف الأول الذي باللون الأحمر هي السمات التي سوف ننشئها، والعمود الأول الذي باللون الأزرق هي أسماء خصائص السمات التي سوف نعدلها، والصف أسفل كل سمة هي قيم خصائص السمات. إضافة سمة اللون بعد أن تعرفنا على سمات المنتج دعونا الآن نبدأ في التطبيق العملي وننشئ سمة "اللون" وذلك باتباع الخطوات التالية: تنويه: نظرًا لوجود خصائص سمات تُستخدم في الشيفرة البرمجية للنظام ولتجنب أي رسائل خطأ قد تواجهك بسبب اللغة العربية، يفضل أن تستخدم الواجهة الخلفية باللغة الإنجليزية. أولًا: إن كانت الواجهة الخلفية لديك باللغة العربية، فانتقل إلى لوحة التحكم ثم انقر على اسم حسابك واختر من القائمة التي ستظهر "إعدادات الحساب". ومن الشاشة التي ستظهر، مرر لأسفل حتى تصل للحقل "لغة الواجهة" ثم حدد الخيار "الإنجليزية الولايات المتحدة"، ثم اكتب كلمة مرورك بالحقل "كلمة المرور الخاصة بك"، ثم انقر على زر "حفظ". ثانيًا: انتقل إلى القائمة الجانبية "Stores"، ومن القسم "Attributes" انقر على "Product". من النافذة التي ستظهر ستجد بها مجموعةً من السمات الافتراضية الخاصة بالنظام، وستجد أن السمة Color أو اللون موجودة بالفعل، لذلك لن نحتاج إلى إنشاء سمة جديدة لـ "اللون" بل سنكتفي بتعديل السمة الحالية. ثالثًا: انقر على السمة Color ثم عدل قيمة الحقل "Catalog Input Type" من القيمة "Dropdown" إلى القيمة "Visual Swatch"، ثم عدّل قيمة الحقل "Update Product Preview Image" إلى "Yes". رابعًا: من خلال القسم "Manage Swatch" نبدأ في إضافة الاثنى عشر لونًا الواردة بالملف، وستجد اسم اللون وبجواره الرمز الخاص به. الآن انقر على زر "Add Swatch" ليظهر لك سجل جديد لإضافة اللون، ومن الحقل "Swatch"، انقر على المربع الأبيض الذي به خط أحمر، أما من القائمة التي ستظهر، فاختر منها "Choose a color"، ومن نافذة الألوان التي ستظهر انتقل إلى حقل رمز اللون الذي يبدأ بالرمز (#) واكتب بداخله رمز اللون الأسود من الملف المرفق ثم انقر على الدائرة الملونة، وفي النهاية اكتب اسم اللون بالإنجليزية في الحقل "Admin". خامسًا: كرر الخطوة السابقة إلى أن تصل إلى اللون Multicolour، فبعض المنتجات تكون متعددة الألوان لذلك لن نجد رمز لون متعدد بها، وللتغلب على هذه المشكلة نرفع صورةً بها ألوانًا متعددةً على خادم الاستضافة (ستجد الصورة بملفات المشروع باسم Multicolour.png). انقر الآن على زر "Add Swatch" ومن الحقل "Swatch"، انقر على المربع الأبيض الذي به خط أحمر؛ وبدلًا من النقر على الخيار "Choose a color"، انقر على الخيار "Upload a file" ثم حدد مسار الصورة، وفي النهاية اكتب اسم اللون "Multicolour" في الحقل "Admin". سادسًا: انتقل إلى قسم "Advanced Attribute Properties" وستجد أن الحقل "Attribute Code" لا يمكن تعديله، وذلك لأن هذه السمة تأتي افتراضيًا مع النظام، لكن مع السمات التي سوف ننشئها بأنفسنا سنتمكن من تعديل هذا الحقل، والآن تأكد من أن الحقل "Scope" محدد له القيمة "Global". سابعًا: انتقل إلى القائمة الجانبية "Storefront Properties" وتأكد من أن الحقل "Use in Search" محدد له القيمة "Yes"، والحقل "Comparable" محدد له القيمة "Yes"، والحقل "Use in Layered Navigation" محدد له القيمة "Filterable with results"، والحقل "Visible on Catalog" محدد له القيمة "Yes". أخيرًا: انقر على زر "حفظ السمة". إضافة سمة المقاس الآن نريد أن نضيف سمةً جديدةً خاصةً مقاسات المنتجات لدينا. يكون أسلوب إدخال البيانات من نوع "القائمة المنسدلة" وتحتوي على ثلاثة مقاييس (صغير - وسط - كبير)، وتكون لهذه السمة (وباقي السمات) نفس خصائص السمة "اللون". ولإضافة السمة "المقاس"، اتبع الخطوات التالية: أولًا: انتقل إلى القائمة الجانبية "Stores" ومن القسم "Attributes" انقر على "Product"، ومن النافذة التي ستظهر انقر على زر "Add New Attribute". ثانيًا: من خلال القسم "Attribute Properties" وبالاستعانة بالمعلومات الواردة في الملف المرفق الذي نعمل من خلاله أعطِ لهذه السمة الاسم "Size" بالحقل "Default Label"، أما الحقل "Catalog Input Type" فحدد له القيمة "Dropdown". ثالثًا: انتقل إلى قسم "Manage Options" ثم انقر على زر "Add Option" ثلاث مرات لإضافة ثلاث سجلات جديدة، ثم بالحقل "Admin" من كل سجل اكتب اسم المقاس بهذا الترتيب (Small - Medium - Large). رابعًا: انتقل إلى قسم "Advanced Attribute Properties"، ومن خلال الحقل "Attribute Code" أدخل رمزًا لهذه السمة، وانتبه جيدًا إلى أن هذا الرمز سوف يُستخدم في الشيفرة البرمجية للنظام لذلك يُفضل أن يكون ذا أحرف صغيرة مع عدم استخدام المسافات واستبدالها بالشرطة السُفلية (_)، وفي حالتنا هذه سنستخدم نفس اسم السمة لكن بحروف صغيرة "size"، وبعد ذلك حدد للحقل "Scope" القيمة "Global". أخيرًا: أعد تنفيذ الخطوة السابعة من السمة "اللون"، ثم انقر على الزر "حفظ السمة". إضافة باقي السمات الآن، وبعد أن تعرفت على كيفية تعديل أو إضافة سمة جديدة، هل يمكنك إضافة بقية السمات التي نريد إضافتها باستخدام البيانات الواردة بالملف المرفق؟ مجموعات السمة تمثل مجموعات السمات قائمةً بالسمات المرتبطة بمجموعة منتجات معينة، فبعد إنشاء السمات نعمل على تنظيمها وتجميعها في مجموعات سمات مختلفة. فبما أن كل منتج يحتوي على رمز فريد، فبالتالي أنت بحاجة إلى مجموعات سمات مخصصة مختلفة خاصة بكل عائلة منتج. على سبيل المثال: تتطلب الأحذية والكاميرات أنواعًا محددةً ومختلفةً من المعلومات، لذا يمكن أن تكون للأحذية ألوان وعلامات تجارية وأحجام مختلفة، بينما يمكن أن تحتوي الكاميرا على وزن العنصر والتكبير البصري والميجابكسل وحجم الشاشة وما إلى ذلك، وهذا هو السبب في أن إحدى الخطوات الأولى عند إنشاء منتج قابل للتكوين هي اختيار مجموعة السمات المستخدمة كنموذج للمنتج. وفي حالتنا نريد أن ننشئ مجموعة السمات التالية: مجموعة سمات مخصصة لمنتج الملاءات تضم السمات (اللون - المقاس - الخامة - قابل للغسل). مجموعة سمات مخصصة لمنتج الألحفة تضم السمات (المقاس - الخامة - قابل للغسل- الموسم - تصنيف Tog). مجموعة سمات مخصصة لمنتج أطقم الألحفة تضم السمات (اللون - المقاس - الخامة - قابل للغسل - الموسم). مجموعة سمات مخصصة لمنتج البطانيات تضم السمات (اللون - المقاس - الخامة - قابل للغسل - الموسم). مجموعة سمات مخصصة لمنتج الوسائد تضم السمات (الخامة - قابل للغسل - السُمك). ولكي نسهل عليك الأمر، نقدم لك ملف Custom Attribute Sets الذي وضعنا فيه الخريطة التي سوف نسير عليها لضمان إنشاء مجموعات السمات التي نحتاج إليها بنجاح. إضافة مجموعة سمة بعد أن تعرفنا على مجموعات السمات بوجهِ عام ومجموعة السمات التي نريد أن نضيفها لمتجرنا بوحهٍ خاص، دعونا الآن نبدأ في التطبيق العملي وننشئ مجموعة سمة "أطقم الألحفة" التي تضم سمات (اللون - المقاس - الخامة - قابل للغسل - الموسم) وذلك باتباع الخطوات التالية: أولًا: انتقل إلى القائمة الجانبية "Stores"، ومن القسم "Attributes" انقر على "Attribute Set". ومن النافذة التي ستظهر، انقر على زر "Add Attribute Set". ثانيًا: أدخل اسمًا لمجموعة السمة من خلال الحقل "Name"، وفي حالتنا سوف نعطيه الاسم "Duvet Sets" كما هو وارد بالملف المرفق؛ أما بالنسبة للحقل "Based On" فاتركه كما هو لأنه لا توجد إلا مجموعات السمات الافتراضية حاليًا لكي نستورد منها، ثم انقر على زر "حفظ". ثالثًا: النافذة التي ستظهر ستجدها مقسمة إلى ثلاثة أقسام، الأول لتعديل اسم مجموعة السمة، والثاني به مجموعات السمة التي أُضيفت، منظمةً بأسلوب المجلدات الشجرية (وهي أقسام صفحة إضافة المنتجات)، والثالث به السمات غير المعينة للمجموعة. من خلال القسم الثاني "Groups"، انقر على زر "Add New" لإضافة مجموعة جديدة، ثم أعطِ لهذه المجموعة اسمًا وليكن على سبيل المثال "Custom" ثم انقر على زر "Ok". الآن، حدد المجموعة "Custom" وعن طريق السحب والإلقاء، اسحب المجموعة وضعها أسفل "Product Details" ليكون ترتيبها الثاني. رابعًا: من القسم الثالث "Unassigned Attributes" وعن طريق السحب والإلقاء، اسحب السمات (اللون - المقاس - الخامة - قابل للغسل - الموسم) وألقها داخل المجموعة "Custom". خامسًا: انقر على زر "حفظ"، ثم امسح ذاكرة التخزين المؤقت، أو يمكنك تأجيل مسح ذاكرة التخزين المؤقت حتى تنتهي من إضافة جميع مجموعات السمة. أخيرًا: بعد أن أضفنا مجموعة سمة جديدة ولكي تتأكد من أنها أُضيفت بنجاح، انتقل إلى القائمة الجانبية "Catalog" ثم انقر على "Product" ومن نافذة المنتجات انقر على زر "Add Product". انتقل إلى الحقل "Attribute Set" وحدد له القيمة "Duvet Sets"، ثم مرر للأسفل وستلاحظ ظهور قسم جديد باسم "Custom" وبداخل هذا القسم السمات التي عيّنَّاها له وبداخل كل سمة الخصائص التي عيّنَّاها لها. إضافة مجموعة سمة جديدة بعد أن أضفنا مجموعة سمة أطقم الألحفة، دعونا الآن نضيف مجموعة سمة الوسائد التي تضم سمات (الخامة - قابل للغسل - السُمك) لنرى هل سنحتاج إلى إنشاء مجموعة جديدة بدلًا من المجموعة Custom، أو يمكننا إعادة استخدامها مرةً أخرى، فقط اتبع الخطوات التالية: أولًا: انتقل إلى القائمة الجانبية "Stores" ومن القسم "Attributes" انقر على "Attribute Set"، ومن النافذة التي ستظهر انقر على زر "Add Attribute Set". ثانيًا: أدخل اسمًا لمجموعة السمة من خلال الحقل "Name"، وفي حالتنا سوف نعطيه الاسم "Pillows" كما هو وارد بالملف المرفق؛ أما بالنسبة للحقل "Based On" فيمكنك الآن اختيار المجموعة "Duvet Sets" بدلًا من المجموعة "Default" حتى تستطيع استخدام المجموعة "Custom" التي أنشأناها من قبل، ثم انقر على زر "حفظ".. ثالثًا: من القسم الثاني "Groups"، حدد المجموعة "Custom" والتي ستجد بداخلها السمات التي أضفناها لأطقم الألحفة، والآن اسحب السمات الغير مناسبة للوسائد (اللون - المقاس - الموسم) وألقها في قسم "Unassigned Attributes" ليتبقى في Custom سمتي (الخامة - قابل للغسل). أخيرًا: من القسم الثالث "Unassigned Attributes" وعن طريق السحب والإلقاء، اسحب السمة (السُمك) وألقها داخل المجموعة "Custom" ثم انقر على زر "حفظ". إضافة باقي مجموعات السمة الآن، وبعد أن تعرفت على كيفية إضافة مجموعات السمة، هل يمكنك إضافة بقية المجموعات التي نريد إضافتها باستخدام البيانات الواردة بالملف المرفق؟ استيراد المنتجات القابلة للتكوين بعد أن تعلمنا كيفية إضافة السمات ثم تعلمنا كيفية ربط هذه السمات بمجموعة، حان الوقت لإضافة منتجات قابلة للتكوين بمتجرنا، وعملية إضافة منتج قابل للتكوين هي مشابهة تمامًا لإضافة أي نوع منتج آخر تعلمناه من خلال هذا الدرس، وهي عملية تتطلب الكثير من الوقت والمجهود لتنفيذ إجراءات إضافة منتج واحد فقط، فما بالك لو كنت تريد إضافة مئات المنتجات، إنه كابوس بالفعل. إذًا نحن بحاجة إلى حل للمساعدة في استيراد هذه المنتجات بأسلوب مجمّع، لذلك في هذا القسم من الدرس سوف نوضح لك كيفية استيراد المنتجات القابلة للتكوين في Magento 2، ويمكننا تنفيذ ذلك وفقًا للأربع خطوات التالية: أنت بحاجة إلى ملف CSV به عينة من منتج قابل للتكوين. استيفاء بيانات ملف CSV بإدخال منتجك القابل للتكوين (المنتج الأب) ومنتجك البسيط (المنتج الابن). استيراد ملف CSV. ربط المنتج القابل للتكوين بالفئة الخاصة به على الواجهة الأمامية للمتجر. توفير ملف CSV واستيفاء بياناته لكي نساعدك في تخطي الخطوة الأولى والثانية لاستيراد المنتجات القابلة للتكوين، وفرنا لك خمس ملفات CSV تحتوي على جميع بيانات المنتجات القابلة للتكوين التي نريد إضافتها على متجرنا، لكن قبل أن تستخدم هذه الملفات إليك بعض الملاحظات التي تحتاج إلى معرفتها: ستجد في الصورة التالية أن العمود الأول مقسم لعدة ألوان كالآتي: اللون البرتقالي يشير إلى السمات الافتراضية التي أنشأها النظام وتقبل أي قيمة مكتوبة. اللون الأحمر يشير إلى السمات الافتراضية التي أنشأها النظام لكنها تقبل قيم محددة فقط. اللون الأزرق يشير إلى السمات التي أنشأناها نحن وتقبل فقط القيم التي حددناها لها. اللون الأخضر يشير إلى بيانات صور المنتج. تأكد من أن القيمة الموجودة في العمود "attributesetcode" تطابق دائمًا اسم مجموعة السمة، لأنه في حالة اختلاف حرف واحد من الاسم فستحصل على رسالة خطأ وتفشل عملية الاستيراد. في حقول صور المنتج، تأكد من أن اسم الصورة مكتوب بطريقة صحيحة وتأكد من أن الصورة موجودة بالفعل على الخادم، لأنه في حالة اختلاف حرف واحد من اسم الصورة أو عدم وجودها بالخادم، ستحصل على رسالة خطأ وتفشل عملية الاستيراد. اتبع النمط الموجود في عمود "configurable_variations"، وستجد أنه يسرد جميع قيم مجموعة السمات لكل منتج فرعي أو ابن للمنتج الأب بهذا الشكل (SKU= الرمز الفريد للمنتج ثم فاصلة أعجمية, Color= لون المنتج ثم فاصلة, Size= مقاس المنتج ثم فاصلة, ثم عمود قمعي | للفصل بين كل سمات منتج)، وتأكد من تطابق القيم، لأنه في حالة الاختلاف ستحصل على رسالة خطأ وتفشل عملية الاستيراد. استيراد ملف CSV ننتقل الآن إلى الخطوة الثالثة لاستيراد ملف/ ملفات CSV للمنتجات القابلة للتكوين، ولنبدأها باستيراد ملف منتج الملاءات أو Sheets، وذلك باتباع الخطوات التالية: أولًا: انتقل إلى القائمة الجانبية "System" ثم انقر على "Import". ومن النافذة التي ستظهر، حدد للحقل "Entity Type" القيمة "Product"، ثم حدد للحقل "Import Behavior" القيمة "Add/Update". ثانيًا: مرر للأسفل حتى تصل إلى قسم "File to Import" ثم انقر على زر "Choose File" ثم حدد مسار الملف Sheets.csv. ثالثًا: نحتاج الآن إلى توفير صور للمنتجات بنفس التسميات الواردة بملف Sheets.csv، ولكي نساعدك على تنفيذ مشروعك بنجاح وفرنا لك جميع صور المنتجات، لذا ارفع الصور إلى خادمك بالمسار التالي <Magento root directory>/var/import/images. تنويه: في حالة عدم عثورك على مجلد import/images بالمسار السابق، فيمكنك إنشاؤهما يدويًا. رابعًا: عُد مرةً أخرى إلى ماجنتو واترك الحقل "Images File Directory" فارغًا كما هو، لأنه افتراضيًا سيذهب إلى المسار المذكور أعلاه. الآن، انقر على زر "Check Data" لكي يفحص النظام القيم الواردة بملف Sheets.csv لنرى هل سينتج عن ذلك الفحص أخطاء أم لا. أخيرًا: بعد نجاحك في تخطي عملية فحص الملف، انقر الآن على زر "Import" لاستيراد بيانات وصور المنتجات إلى النظام، وفي حالة عدم وجود أي اختلاف في أسماء ملفات الصور الواردة بالملف والموجودة بالخادم بالإضافة لوجود جميع الصور الواردة بالملف على الخادم سوف تُستكل عملية الاستيراد بنجاح. ربط المنتج بالفئة الخاصة به على الرغم من نجاحنا في إضافة الدفعة الأولى من منتجاتنا القابلة للتكوين على متجرنا لكن العميل لن يستطيع مشاهدة هذه المنتجات على الواجهة الأمامية للمتجر، وذلك بسبب أننا لم نربط هذه المنتجات بالفئة الخاصة بها بعد، ولتنفيذ ذلك اتبع الخطوات التالية: أولًا: انتقل إلى القائمة الجانبية "Catalog" ثم انقر على "Categories" ومن النافذة التي ستظهر، حدد الفئة "Sheets" ثم مرر لأسفل حتى تصل إلى قسم "Products in Category". ومن جدول المنتجات الذي ظهر، اذهب إلى الحقل "Visibility" وحدد له القيمة "Catalog, Search" وذلك لإظهار المنتجات الآباء فقط لربط ما نريد منهم بالفئة (ربط المنتج الأب يستدعي ربط المنتج الابن معه افتراضيًا بنفس الفئة)، ثم من حقل "التحديد" عين له القيمة "Any"، ثم انقر على الزر "Search". ثانيًا: من قائمة المنتجات التي ستظهر، حدّد المنتجات الأب للملاءات (اسم المنتج ينتهي بكلمة Sheet) لربطها بالفئة الخاصة بها، ثم انقر على زر "حفظ". أخيرًا: انتقل إلى الواجهة الأمامية للمتجر ثم انقر على القائمة أو الفئة Sheets، إذ فمن المفترض أن تجد منتجين معروضين بها. الآن، اختر أي منتج منهما واستعرض ألوان المنتج والمقاسات المختلفة له (المنتجات الابن)، وستلاحظ أن سعر المنتج يتغير مع كل مقاس تحدده. استيراد باقي المنتجات القابلة للتكوين الآن، وبعد أن تعرفت على كيفية استيراد المنتجات القابلة للتكوين من ملف CSV، هل يمكنك استيراد المنتجات القابلة للتكوين من الأربعة ملفاتٍ المتبقية؟ خاتمة إلى هنا نكون قد وصلنا إلى نهاية هذا الدرس من هذا الدليل الذي تعلمنا فيه كيفية إضافة المنتجات بأنواعها الستة، وتعرفنا على الإعدادات المتقدمة للمنتجات، كما تعرفنا على كيفية ضبط الواجهة العربية للمنتجات؛ وفي النهاية تعرفنا على كيفية إضافة منتج قابل للتكوين، وفي الدرس القادم سوف نتناول إعدادات التسعير والشحن وبوابات الدفع. نتمنى أن يكون هذا الدليل قد أضاف لكم معلومات جديدةً ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات. اقرأ أيضًا المقال السابق: إعداد العملاء والضرائب في متجر إلكتروني بنظام Magento 2 الإعدادات الأساسية لتكوين متجر إلكتروني بنظام Magento 2 إضافة المنتجات البسيطة إلى ماجنتو
  10. لقد فتح نموذج اللغة المتقدم ChatGPT، وهو التقنية المتطورة للذكاء الاصطناعي، آفاقًا جديدةً للتواصل بين الإنسان والآلة؛ لذا إذا كنت مهتمًا بالذكاء الاصطناعي أو التعلم الآلي أو معالجة اللغة الطبيعية، فلن ترغب في تفويت هذا الدليل الذي يتعمق في عالم ChatGPT الرائع. يضم هذا الدليل سلسلةً من المقالات التي تحتوي على مجموعة شاملة من المعلومات عن ChatGPT، إذ ستناقش هذه المقالات كيفية عمل ChatGPT وكيف جرت عملية تطويره، وكيفية تدريبه، وكيف يمكن استخدام واجهة برمجة التطبيقات API له، كما ستتضمن هذه السلسلة معلومات مفصلة حول موضوعات أخرى متعلقة بـ ChatGPT، والتي يمكن استخدامها في تحسين تجربة المستخدم عبر الإنترنت. وبغض النظر عن مهاراتك الحالية في تكنولوجيا المعلومات، سواء كنت مبتدئًا فضوليًا أو مطورًا متمرسًا، فلن ترغب في تفويت الأفكار القيمة الواردة في هذه المقالات، لتحصل على فهم شامل لـ ChatGPT وكيفية عمله وكيفية استخدامه بطريقة فعالة، لذا تابع معنا هذه السلسلة المتجددة بانتظام حتى النهاية للحصول على جميع المعلومات والإجابات عن أي أسئلة تخص هذه التقنية، واكتسب فهمًا أعمق لهذا النوع من التكنولوجيا الرائدة. نظرة على الذكاء الاصطناعي وتطور تقنياته إذا كنت تبحث عن تجربة فريدة ومثيرة أثناء استكشاف إمكانيات بوت المحادثة ChatGPT! فهذا هو الوقت المناسب الذي ندعوك فيه للاطلاع على تقنية الذكاء الاصطناعي وتعلم الآلة، فقد أصبحت هذه التقنيات جزءًا لا يتجزأ من حياتنا اليومية ومستقبلنا، كما أن فهم المصطلحات والتقنيات التي يستخدمها بوت المحادثة ChatGPT مهمة جدًا. ولهذا السبب، يجب عليك التعرف على أساسيات الذكاء الاصطناعي وتعلم الآلة، فهذا سيساعدك على فهم المصطلحات والتقنيات التي يستخدمها ChatGPT بسهولة. لا تخف من عدم معرفتك بالمصطلحات والتقنيات المستخدمة في هذا المجال، فالتعلم هو المفتاح الأساسي لفهمها. فسواءَ كنت مبتدءًا أو محترفًا في هذا المجال، يمكنك تعلم الذكاء الاصطناعي وتعلم الآلة بسهولة، وقد وفرت لك أكاديمية حسوب مجموعةً من الدروس والكتب التي تغطي المفاهيم الأساسية للذكاء الاصطناعي وتعلم الآلة، والتي يمكنك استخدامها كمصادر لتعلمك. نظرة عامة على ChatGPT في السنوات الأخيرة، شهدت مجالات الذكاء الاصطناعي ومعالجة اللغة الطبيعية تطورات كبيرة، ومن بين هذه التطورات تقنية ChatGPT التي أثارت اهتمام العديد من المتخصصين في هذا المجال؛ فهذه التقنية تعتمد على الذكاء الاصطناعي والتعلم العميق لتحليل وفهم اللغة الإنسانية وتوليد النصوص الطبيعية مثل الإنسان تقريبًا، لدرجة أنك قد لا تصدق أحيانًا أن تلك النصوص الناتجة هي من كتابة بوت فعلًا. فيما يلي سوف نناقش مفهوم ChatGPT وبنيته والجهة التي أنشأته ومراحل تطوره، بالإضافة إلى كيفية تدريبه وميزاته وفوائده ومقارنته مع بوتات المحادثة الأخرى، كما سنناقش تطبيقات استخدامه وحدوده والتحديات التي يواجهها هذا النموذج اللغوي المتطور. التقنيات التي مهدت لظهور ChatGPT يُعَد بوت المحادثة ChatGPT نموذجًا لغويًا يعتمد على الذكاء الاصطناعي ويهدف إلى إنشاء حوار يشبه حوار الإنسان، ويمكن إرجاع بداية ChatGPT إلى العمل المبكر على نماذج اللغة العصبية Neural Language Models ونماذج التسلسل إلى التسلسل Sequence-to-Sequence Models، فقد قُدمت نماذج اللغة العصبية في أوائل العقد الأول من القرن الحادي والعشرين كبديل لنماذج n-gram التقليدية، والتي كانت ذات قدرة محدودة على التقاط التبعيات بعيدة المدى في النص، في حين قُدمت نماذج التسلسل إلى التسلسل في منتصف عام 2010 كطريقة لنمذجة بيانات التسلسل، مثل النص والكلام. جاء أول تطور هام لبوت ChatGPT في عام 2015 مع تقديم أول بوت محادثة توليدي يُعرف باسم نموذج Seq2Seq، فقد استخدم هذا النموذج وحدةً للتشفير ووحدةً لفك التشفير لتوليد استجابات لمدخلات المستخدم، بحيث تنفذ وحدة التشفير تشفيرًا لمدخلات المستخدم في متجه بطول ثابت، ثم يُستخدم بعد ذلك بواسطة وحدة فك التشفير لتوليد الاستجابة. بعد ذلك، جاء التطور الهام التالي في عام 2017 مع إدخال هندسة المحولات Transformers كتحسين على نموذج Seq2Seq، مما سمح بنمذجة أفضل للنص، وعندها استُخدمت بنية المحولات في تطوير تطبيقات البرمجة اللغوية العصبية المختلفة، بما في ذلك نمذجة اللغة والترجمة الآلية والإجابة على الأسئلة. بنية GPT إن مفهوم GPT وهو اختصار لـ "Generative Pre-trained Transformer"، تعني المُحول التوليدي مسبق التدريب على المهام اللغوية المختلفة، فهو خوارزمية تَعلم عميق يمكنه توليد نص يشبه نصوص الإنسان من خلال توقع الكلمة التالية الأكثر احتماليةً بالنظر إلى سلسلة من كلمات الإدخال، وهو نموذج توليدي، مما يعني أنه يُنشئ نصًا جديدًا عن طريق أنماط التعلم في مجموعات البيانات الكبيرة للنص الموجود. تعتمد بنية GPT على تقنية المحولات Transformers في تحسين أداء النموذج وزيادة دقته، التي قُدمت في عام 2017 بواسطة Vaswani et al، والتي ثبت أنها تقنية فعالة للغاية في مهام معالجة اللغة الطبيعية، وذلك لأن بنية المحولات هي بنية شبكة عصبية تستخدم آليات الانتباه الذاتي لمعالجة البيانات المتسلسلة، ثم تعمل GPT على توسيع بنية المحولات لدعم مهام التوليد، إذ يُدرب النموذج على التنبؤ بالكلمة التالية في تسلسل نصي. تتكون بنية GPT من طبقات متعددة من المحولات، فهي تُمرر المدخلات إلى الطبقة الأولى ثم تُعالج هذه الطبقة المدخلات وتنتج المخرجات، والتي تُمرر بعد ذلك إلى الطبقة التالية لمزيد من المعالجة، وهكذا حتى تنتج الطبقة النهائية الإخراج النهائي للبيانات إلى النموذج. وتُستخدم تقنية الانتباه الذاتي Self-Attention في نموذج المحولات، مما يسمح للنموذج بمعرفة الكلمات في الجملة الأكثر صلة بالمهمة المطروحة، ويعمل ذلك على تقييم أهمية كل كلمة في الجملة بناءً على علاقتها بالكلمات الأخرى، كما يسمح ذلك للنموذج بالتركيز على الكلمات الأكثر صلةً في الجملة، مما يؤدي إلى نتائج أكثر دقة وذات صلة بالسياق. نشأة ChatGPT ومراحل تطوره طُوِّر بوت المحادثة بواسطة شركة OpenAI التي أُنشأت في عام 2015 ومقرها في سان فرانسيسكو من قِبَل مجموعة من رواد الأعمال والعلماء والمهندسين الذين يعملون في مجال الذكاء الاصطناعي، مثل: إيلون ماسك (الذي استقال لاحقًا في 2018 مع بقائه مانحًا) وسام ألتمان وجريج بروكمان وإيليا سوتسكيفر وجون شولمان ووجسيخ زاريمبا، بعدها توالت التطورات لنشير إليها في الآتي: في يونيو 2018 أصدرت الشركة نموذج GPT-1 وكان يحتوي على 117 مليون كلمة أو معلمة، وكان يتميز بقدرته على إنشاء نصوص طويلة وشاملة بأسلوبٍ جيدٍ، ومع ذلك كان أداء النموذج في إنتاج نصًا متماسكًا ومناسبًا للسياق محدودًا. في فبراير 2019 أطلقت الشركة نموذج GPT-2 وهو نموذج أكبر حجمًا من GPT-1، فقد كان يحتوي على 1.5 مليار معلمة، وكانت له القدرة على إنشاء نصوص بجودة أفضل وأكثر تنوعًا وإقناعًا. في يونيو 2020 أطلقت الشركة نموذج GPT-3 وهو أكبر حجمًا من GPT-2، فقد جرى تدريبه على كمية هائلة من البيانات (ما يزيد عن 175 مليار كلمة)، بما في ذلك الكتب وصفحات الويب والمصادر النصية الأخرى، مما يجعله أحد أكبر وأقوى النماذج اللغوية الموجودة، وقد مَكَّن هذا العدد الكبير من البيانات النموذج من إنشاء نص متماسك للغاية بلغة أقرب ما تكون إلى اللغة الطبيعية للإنسان من كونها مولدة من آلة، كما يمكن للنموذج أيضًا أداء مجموعة واسعة من مهام معالجة اللغة الطبيعية، مثل تصنيف النص ونمذجة اللغة والإجابة على الأسئلة والترجمة وإنشاء المحتوى. في يوليو 2021 أطلقت الشركة نموذج GPT-3.5-turbo وهو ترقية لنموذج GPT-3 أُضيفت به ميزات جديدة، مثل دعم اللغات الأخرى غير الإنجليزية. في 14 مارس 2023 أعلنت OpenAI أن النموذج الجديد GPT-4 قد أصبح متاحًا للمطورين ومشتركي خدمة ChatGPT Plus، مع تأكيد شركة Microsoft أن متصفح Bing الجديد صار يعمل باستخدام نموذج GPT-4، وهو نموذج كبير الحجم (لم يُعلن رسميًا عن حجم البيانات التي تدرب عليها النموذج، وما ذُكر عن أن حجم البيانات هي 100 تريليون معلمة هي مجرد تكهنات) متعدد الوسائط، إذ يمكنه قبول مدخلات الصور والنصوص وإنتاج مخرجات نصية فقط. مراحل تدريب بوتات المحادثة تُعَد عملية تدريب بوت المحادثة على وجه العموم معقدةً جدًا وتنطوي على عدة مراحل، سوف نوضحها فيما يلي: جمع البيانات: تُعد مرحلة جمع البيانات من أهم المراحل في تدريب نماذج الذكاء الاصطناعي، وتشمل هذه المرحلة جمع البيانات اللغوية الوافرة والمتنوعة، التي تُجمَّع من مصادر مختلفة، وتِعَد جودة البيانات المجمعة هي العامل الحاسم في جودة النماذج المدربة، فهي تؤثر على دقة وأداء تلك النماذج. معالجة البيانات: قبل إدخال البيانات إلى النموذج يجب تمر بعملية معالجة لها، وتشمل هذه المرحلة مهامًا مشابهةً لتقسيم النص إلى كلمات منفصلة tokenization وضمان أن تكون الكلمات بأبسط شكل لها normalization، كما يمكن إزالة الأحرف الخاصة والكلمات الشائعة التي لا تضيف الكثير من المعنى stopwords لتقليل الضجيج. اختيار بنية النموذج: الخطوة التالية هي اختيار بنية مناسبة لنموذج ChatGPT وتستخدم بنية GPT، وهي نوع من نماذج المحولات Transformers كما ذكرنا سابقًا، وعادةً ما تُستخدم في مهام اللغة كإنتاج النصوص والترجمة. التدريب المسبق: أثناء التدريب المسبق يتعلم نموذج ChatGPT التنبؤ بالكلمة التالية في الجملة استنادًا إلى الكلمات السابقة، ويُعرف هذا الأمر بنمذجة اللغة language modeling، ويُدرب النموذج على كمية كبيرة من بيانات النصوص باستخدام نهج التعلم غير الخاضع للإشراف unsupervised learning. الضبط الدقيق: بعد مرحلة التدريب المسبق يُضبط نموذج ChatGPT على مهمة محددة، مثل ترجمة اللغة أو تطوير بوت المحادثة، ويتضمن الضبط الدقيق مزيدًا من التدريب للنموذج على كمية أصغر من البيانات الخاصة بالمهمة المطروحة. التقييم: طوال مراحل عملية التدريب يُقيَّم أداء نموذج ChatGPT باستخدام مقاييس مثل الحيرة Perplexity، والتي تقيس قدرة النموذج على التنبؤ بالكلمة التالية في الجملة، ويُختبر النموذج على مجموعة من البيانات غير المستخدمة للتدريب. النشر: بمجرد تدريب نموذج ChatGPT وتقييمه يمكن نشره في الإنتاج، ويتضمن ذلك دمج النموذج في تطبيق أو نظام أساسي، حيث يمكن للمستخدمين النهائيين استخدامه لإنشاء نص أو تنفيذ مهام محددة متعلقة باللغة. كانت تلك هي خطوات تدريب بوتات المحادثة بوجهٍ عام، وسوف نخصص مقال منفصل لمناقشة خطوات تدريب بوت المحادثة ChatGPT على وجه الخصوص. فوائد وميزات بوت المحادثة ChatGPT دُرّب بوت المحادثة ChatGPT على مجموعة كبيرة من البيانات النصية، لذا صار قادرًا على توليد ردود شبيهة بالبشر في المحادثات، وفيما يلي سنناقش بعض فوائد وميزات هذا البوت: القدرة على فهم اللغة الطبيعية وتوليدها: تتمثل إحدى المزايا الرئيسية لـ ChatGPT في قدرته على فهم اللغة الطبيعية وتوليدها، إذ يمكن لهذا النموذج استيعاب مجموعة واسعة من موضوعات المحادثة والاستجابة لها، مما يجعله أداةً مناسبةً نوعًا ما لتطبيقات خدمة العملاء، كما لديه القدرة على فهم الفروق الدقيقة في اللغة البشرية، بما في ذلك التعبيرات الاصطلاحية والعامية. المرونة والقدرة على التكيف: على عكس بوتات المحادثة التقليدية المبرمجة للاستجابة لمطالبات محددة، يمكن لـ ChatGPT فهم مجموعة واسعة من مدخلات المحادثة والاستجابة لها، وهذا يجعله مرنًا للغاية وقابلًا للتكيف في المواقف التي قد يطرح فيها المستخدمون أسئلةً أو يُدْلُون ببيانات لا تتعلق مباشرةً بالموضوع المطروح. التعلم والتحسين المستمر: يتمتع ChatGPT بالقدرة على التعلم والتحسين بمرور الوقت، وذلك بفضل خوارزميات التعلم الآلي المتقدمة. ونظرًا لأنه يتفاعل مع المزيد من المستخدمين ويعالج المزيد من البيانات، يصبح أكثر دقةً وكفاءةً في توليد الاستجابات، وهذا يعني أن الاستجابات الناتجة عن ChatGPT تتحسن باستمرار، مما يضمن حصول المستخدمين على المعلومات الأكثر صلةً ودقة. الاستجابات والتوصيات المخصصة: يمكن لـ ChatGPT إنشاء ردود وتوصيات مخصصة، مما يجعله أداةً فعالةً في تطبيقات التسويق والإعلان، كما يمكنه تحليل تفاعلات المستخدم السابقة وتخصيص ردوده وفقًا لذلك، وتحسين تجربة المستخدم الإجمالية. دعم متعدد اللغات: يتمتع ChatGPT بدعم متعدد اللغات، مما يسمح له بفهم اللغات المتعددة والاستجابة لها، وهذا يجعله أداةً مميزةً للشركات التي تعمل في بلدان متعددة وتحتاج إلى التواصل مع العملاء بلغات مختلفة. موفر للوقت وفعال من حيث التكلفة: ChatGPT هو حل موفر للوقت وفعال من حيث التكلفة للشركات التي ترغب في تقديم خدمة عملاء وليس لها عمالة بشرية كافية للقيام بذلك وفي كل الساعات، إذ يمكنه المساعدة في التعامل مع محادثات متعددة في وقتٍ واحدٍ. مقارنة ChatGPT مع بوتات محادثة AI الأخرى أصبحت بوتات الدردشة التي تعمل بالذكاء الاصطناعي شائعةً وبتزايد على مر السنين، إذ تستخدمها العديد من الشركات والمؤسسات، والمساعدين الافتراضيين، والتطبيقات الأخرى. ويتمتع بوت المحادثة ChatGPT بالعديد من المزايا، بما في ذلك قدرته على فهم مجموعة واسعة من الأسئلة والرد عليها وقدرته على المحادثة، فيما يلي سوف نقارن ChatGPT مع بوتات الدردشة AI الأخرى. القدرة على معالجة اللغة الطبيعية NLP تتمثل إحدى المزايا المهمة لـ ChatGPT على بوتات الدردشة الأخرى المدعومة بالذكاء الاصطناعي في قدرتها على البرمجة اللغوية العصبية، فقد صُمم ChatGPT لفهم مجموعة واسعة من الأسئلة والرد عليها، بما في ذلك الواقعية والقائمة على الرأي والمحادثة، كما يَستخدم بنية GPT لإنشاء استجابات مما يمكّنه من إنشاء نص متماسك وذو مغزى. في المقابل، صُممت بوتات الدردشة الأخرى التي تعمل بالذكاء الاصطناعي، مثل Siri و Alexa و Google Assistant لتنفيذ مهام محددة، مثل إعداد التذكيرات، أو تشغيل الموسيقى، أو الإجابة على الأسئلة الأساسية، أي أن لديهم قدرات محدودة في البرمجة اللغوية العصبية، لذلك هم غير قادرين على توليد استجابات معقدة. القدرة على إجراء محادثات مشابهة لمحادثات الإنسان الطبيعي ميزة أخرى لـ ChatGPT على بوتات الدردشة الأخرى المدعومة بالذكاء الاصطناعي هي قدرتها على المحادثة بطبيعية، فقد دُرب على مجموعات بيانات الحوار لتحسين قدرته على الاستجابة بطريقة المحادثة، بالتالي يمكنه فهم سياق المحادثة وإنشاء ردود تحاكي ردود الفعل البشرية. في المقابل، صُممت بوتات الدردشة الأخرى التي تعمل بالذكاء الاصطناعي لتكون أكثر توجهًا نحو تنفيذ المهام، وقد لا تكون قادرةً على توليد استجابات محادثة. التكامل مع التطبيقات يمكن دمج ChatGPT في العديد من التطبيقات، مثل بوتات الدردشة والمساعدين الافتراضيين ومنصات خدمة العملاء، وذلك من خلال الـ API الخاص به، فقدرته على توليد استجابات بلغة طبيعية تجعله مناسبًا لمجموعة واسعة من التطبيقات التي تتطلب تفاعلات شبيهة بالبشر. في المقابل، صُممت بوتات الدردشة الأخرى لتنفيذ مهام محددة، وقد لا تكون مناسبةً للتكامل في تطبيقات مختلفة. الأداء عامل حاسم آخر في مقارنة بوتات الدردشة بالذكاء الاصطناعي هو قدرتها على التخصيص والتكيف مع حالات استخدام محددة، حيث يمكن ضبط ChatGPT وفقًا لمجموعات بيانات محددة، مما يمكّنه من تحسين أدائه في مجالات معينة. في المقابل، قد تكون برامج الدردشة الأخرى محدودةً في تخصيصها وقدرتها على التكيف، مما يؤدي إلى أداء دون المستوى الأمثل في حالات استخدام محددة. الأخلاق والتحيز صُمم بوت ChatGPT مع مراعاة الأخلاق والتحيز، فقد نفذت شركة OpenAI العديد من الإجراءات لمنع النموذج من إنشاء محتوى مسيء أو ضار ونجحت في ذلك إلى حد كبير مقارنةً مع باقي بوتات الدردشة الأخرى التي انتُقدت بسبب تحيزاتها المحتملة. تطبيقات استخدام ChatGPT يمكن لـ ChatGPT نموذج لغة AI أن يقلّد المحادثة البشرية، وأدت هذه القدرة إلى مجموعة واسعة من تطبيقات الاستخدام، فيما يلي سنناقش أهم هذه الاستخدامات. كتابة الشيفرات البرمجية: على الرغم من أن بوت المحادثة ChatGPT ليس مخصصًا لكتابة الشيفرات البرمجية، إلا أنه قادر على مساعدة المبرمجين في توليد شيفراتهم البرمجية لبناء تطبيقات الويب والتطبيقات الذكية وحتى ألعاب الفيديو، كما يمكنه تحليل الشيفرة البرمجية للتطبيقات لتجنب الأخطاء البرمجية والثغرات الأمنية، وتوفير النصائح والحلول اللازمة لتحسين أداء الشيفرات البرمجية وجعلها أكثر فعالية. إنشاء المحتوى: يمكن استخدام ChatGPT لإنشاء محتوى لأغراض مختلفة، بما في ذلك المقالات ومنشورات لمنصات التواصل الاجتماعي وأوصاف المنتجات، فبفضل قدرته على إنشاء نَص يشبه الإنسان، يمكنه مساعدة منشئي المحتوى في توفير الوقت والجهد في إنشاء محتوى عالي الجودة. ترجمة اللغة: يمكن استخدام ChatGPT لترجمة اللغة مما يسمح للمستخدمين بالتواصل مع الأشخاص الذين يتحدثون لغات مختلفة، فيمكنه ترجمة النص في الوقت الفعلي بلغة جيدة بدرجة كبيرة، مما يجعله مفيدًا للتواصل التجاري والشخصي في عدة حالات. كتابة البريد الإلكتروني: يمكن الاستفادة من ChatGPT كأداة للتحسين الشامل لكتابة البريد الإلكتروني، مما يؤدي إلى تحسين الاتصال بينك وبين المتلقي، وتحقيق الأهداف المرجوة من البريد الإلكتروني بشكل أفضل، فهو يقلل الوقت والجهد اللازمين لكتابة البريد الإلكتروني، كما يمنحك أفكارًا لموضوع البريد الإلكتروني، وكذلك إجراء تصحيحات للجمل والكلمات والكشف عن الأخطاء الإملائية والنحوية والتنسيقية قبل إرسال البريد. الكتابة الإبداعية: يمكن استخدام ChatGPT في الكتابة الإبداعية بما في ذلك إنشاء القصص والنصوص والشعر، ويمكنه أن يوفر الإلهام وتوليد أفكار جديدة للكُتَّاب. المساعدون الافتراضيون: يمكن استخدام ChatGPT لإنشاء مساعدين افتراضيين للشركات والأفراد، ويمكن لهؤلاء المساعدين الافتراضيين التعامل مع مهام مثل جدولة المواعيد وإدارة رسائل البريد الإلكتروني وتقديم التوصيات. خدمة الزبائن: أصبحت بوتات المحادثة جزءًا لا يتجزأ من خدمة العملاء لدى عدة شركات، وبفضل قدرة ChatGPT على إنشاء ردود شبيهة بالبشر فيمكنه تزويد العملاء بدعم سريع وفعال، كما يمكنه التعامل مع استفسارات العملاء المتعددة في وقتٍ واحدٍ، ومع قدرته على فهم اللغة الطبيعية يمكنه الرد بدقة على مجموعة واسعة من الاستفسارات. التسويق: يمكن استخدام ChatGPT لتطوير استراتيجيات تسويق مخصصة، فمن خلال تحليل بيانات العميل يمكنه إنشاء رسائل وتوصيات مستهدفة بناءً على تفضيلات العميل وسلوكه، كما يمكن أن يساعد أيضًا الشركات على تطوير وتنفيذ حملات إعلانية قائمة على بوتات الدردشة، وتقديم رسائل عالية الاستهداف للعملاء. التعليم: يمكن استخدام ChatGPT في التعليم لتسهيل التعلم الشخصي، فهو قادر على إنشاء مواد تعليمية مخصصة والإجابة على أسئلة الطلاب، مما يجعل تجربة التعلم أكثر جاذبيةً وتفاعلية، ويمكن أيضًا استخدامه لتطوير الألعاب التعليمية والمحاكاة، مما يوفر للطلاب تجربةً تعليميةً غامرةً ومتعةً أكثر. مع ذلك، ننوه بهذه الجزئية إلى أن ChatGPT إلى غاية كتابة هذا المقال، ما يزال غير دقيق من ناحية المعلومات، حتى أن الكثير من تجاربه كانت فاشلة جدًا هنا، مع منح معلومات مغلوطة جدًا؛ لذا ينصح باستخدام البرنامج في إطار التعليم بحذر، كما ينصح بأن تكون للمتعلم أساسيات المجال الذي يريد تعلمه على الأقل، ليكون ChatGPT مجرد مساعد له في تعليمه وليس أساس التعليم نفسه. المساعدة الشخصية: يمكن استخدام ChatGPT كمساعد شخصي لمساعدة المستخدمين على إدارة مهامهم اليومية، فهو قادر على جدولة المواعيد وتعيين التذكيرات وتقديم التوصيات بناءً على تفضيلات المستخدم وسلوكه، كما يمكن استخدامه أيضًا لإنشاء قوائم تسوق مخصصة وإدارة الشؤون المالية للمستخدم. القيود والتحديات التي تواجه بوت المحادثة ChatGPT على الرغم من الفوائد العديدة التي يقدمها لنا بوت المحادثة ChatGPT، إلا أن هناك حدودًا لما يمكن أن يفعله، فيما يلي سنناقش بعض الحدود والتحديات التي تواجه ChatGPT: فهم السياق: يفتقر ChatGPT إلى فهم السياق مما يعني أنه لا يمكنه فهم المعنى الكامن وراء المحادثة بطريقة كاملة، ففي حين أنه يمكن أن يستجيب للإدخالات الفردية بنص شبيه بالبشر، إلا أنه لا يمكنه فهم القصد أو المعنى الكامن وراء المحادثة يعني هو عاجز حاليًا عن فهم ما بين السطور، ويمكن أن يؤدي هذا إلى تقديم استجابات ليست ذات صلة أو دقيقة لاحتياجات المستخدم. الفروق العاطفية: لدى ChatGPT قدرة محدودة على فهم الفروق الدقيقة العاطفية، فعلى سبيل المثال لا يمكنه فهم السخرية أو الأشكال الأخرى من اللغة التصويرية والتي يمكن أن تؤدي إلى ردود غير مناسبة أو غير دقيقة، بالإضافة إلى ذلك قد لا يتمكن ChatGPT من فهم الحالة العاطفية للمستخدم، مما قد يؤدي إلى ردود غير حساسة أو غير مناسبة. المعرفة المحدودة: بينما يتمتع ChatGPT بإمكانية الوصول إلى كمية هائلة من المعلومات، إلا أن معرفته لا تزال محدودةً حسب البيانات التي دُرِّبَ عليها، وهي محدثة حتى عام 2021 فقط، لذلك قد لا يتمكن من الوصول إلى أحدث المعلومات، أو قد لا يكون قادرًا على تقديم إجابات دقيقة لموضوعات معقدة أو متخصصة. عدم القدرة على التعلم: ChatGPT غير قادر على التعلم من التجارب الجديدة أو التكيف مع السياقات المتغيرة، يمكنه فقط تقديم ردود بناءً على البيانات التي دُرِّب عليها، مما يعني أنه قد لا يكون قادرًا على تقديم استجابات دقيقة أو ذات صلة للمواقف الجديدة أو الفريدة. الاعتبارات الأخلاقية كنموذج لغة ذكي، صُمم ChatGPT للتفاعل مع المستخدمين وتزويدهم بمعلومات دقيقة وذات صلة، مع ذلك فإن استخدام مثل هذه النماذج يثير العديد من الاعتبارات الأخلاقية التي يجب معالجتها، والتي سنناقشها فيما يلي: أولًا، من أهم الاعتبارات الأخلاقية التي تواجه ChatGPT هي حماية خصوصية بيانات المستخدم، يتمتع ChatGPT كنموذج لغوي بإمكانية الوصول إلى كمية هائلة من بيانات المستخدم، بما في ذلك المعلومات الشخصية والتفضيلات والأنماط السلوكية، لذلك من المهم التأكد من حماية هذه البيانات من الوصول أو الاستخدام أو الكشف غير المصرح به، وأن المستخدمين على علم بكيفية استخدام بياناتهم. ثانيًا، اعتبار آخر مهم وهو احتمال التحيز في البيانات المستخدمة لتدريب نموذج اللغة، إذ يمكن أن ينشأ التحيز من مجموعة متنوعة من المصادر، مثل اختيار بيانات التدريب أو تصميم النموذج أو الافتراضات التي أُجريت أثناء تطوير النموذج، وللتخفيف من آثار التحيز من المهم الاختيار بعناية بيانات التدريب التي تمثل مجموعةً متنوعةً من وجهات النظر والخبرات، والمراقبة المستمرة لأداء النموذج بحثًا عن علامات التحيز. ثالثًا، بالإضافة إلى خصوصية البيانات والتحيز، تُعد المساءلة من الاعتبارات الأخلاقية الرئيسية الأخرى لـ ChatGPT، إذ يفترض أن يكون لدى المستخدمين القدرة على مساءلة نموذج اللغة عن أفعاله وقراراته، ويتضمن ذلك الشفافية في كيفية عمل النموذج، وتقديم تفسيرات واضحة لقراراته، والتأكد من أن المستخدمين لديهم القدرة على الاعتراض على أفعاله أو استئنافها، وهو أمر غير متاح في ChatGPT. أخيرًا، تمتد الاعتبارات الأخلاقية المتعلقة بـ ChatGPT إلى ما وراء النموذج نفسه، فمع انتشار استخدام النماذج اللغوية على نطاق واسع من المهم النظر في تأثيرها على المجتمع، بما في ذلك القضايا المتعلقة بنقل الوظائف من الإنسان إلى الآلة، وتركيز السُلطة في أيدي عدد قليل من شركات التكنولوجيا. كيفية استخدام ChatGPT بالإمكان الوصول إلى بوت المحادثة ChatGPT ثم استخدامه من خلال أحد الطرائق الثلاث التالية: مباشرة من خلال الموقع الرسمي للبوت. مباشرة من خلال واجهة برمجة التطبيقات API الرسمية للبوت. من خلال أحد مواقع الطرف الثالث التي تقدم خدمات البوت. وفيما يلي سنعرض طريقة الاستخدام الأولى والثالثة، أما بالنسبة لطريقة الاستخدام الثانية من خلال API سوف نخصص لها مقالًا مستقلًا من هذا الدليل. الاستخدام من خلال الموقع الرسمي قبل أن نبدأ في شرح هذه الطريقة، وجب التنويه إلى أن خدمات شركة OpenAI للذكاء الاصطناعي تكون غير متوفرة في بعض البلدان وتأكد أن بلدك موجود ضمن قائمة البلدان التي توفر فيها OpenAI خدماتها، لذلك أثناء تنفيذك للخطوات التي سوف نقدمها أدناه قد تواجهك رسالة مفادها أن خدمات OpenAI غير متوفرة في بلدك الموضحة بالصورة التالية: لكن لا تشعر بالإحباط، فما زال بالإمكان الاستفادة من إمكانات هذا البوت من خلال أحد مواقع الطرف الثالث والتي سوف نشرحها بالفقرة التالية لهذه الفقرة. لنبدأ الآن في شرح خطوات كيفية استخدام بوت المحادثة ChatGPT من خلال الموقع الرسمي. أولاً، يجب أن يتوافر لديك عنوان بريد إلكتروني نشط للتسجيل من خلاله بالموقع، كما يجب أن يكون لديك رقم هاتف جوال لاستلام رمز التحقق من هويتك. ثانيًا، انتقل الآن إلى الموقع الرسمي للبوت ثم انقر على زر "التسجيل" لإنشاء حساب على الموقع. وقد تظهر لك رسالة تحقق للتأكد من أنك إنسان وليس بوت، فقط انقر على المربع الفارغ كما هو موضح بالصورة التالية: ثالثًا، من الصفحة التالية أدخل عنوان البريد الإلكتروني الخاص بك، أو بالإمكان ربط الحساب بأحد حساباتك على جوجل أو مايكروسوفت، ثم انقر على زر "استمر". رابعًا، من الصفحة التالية، أدخل كلمة مرور قوية لحسابك لا تقل عن 8 أحرف، ثم انقر على زر "استمر". خامسًا، من الصفحة التالية سوف يُطلب منك الانتقال إلى بريدك الإلكتروني الذي سجلته للعثور على رسالة التحقق التي أُرسلت إليك، كما هو موضح أدناه: انتقل إلى بريدك الإلكتروني، ثم اعثر على رسالة التحقق ثم انقر على زر "التحقق من عنوان البريد الإلكتروني"، كما هو موضح بالصورة أدناه: سادسًا، من الصفحة التالية أدخل بياناتك الشخصية (اسمك الأول والثاني)، ثم انقر على زر "استمر". سابعًا، من الصفحة التالية أدخل رقم هاتفك الجوال لاستلام رمز التحقق من هويتك، تلقائيًا سوف يحدد الموقع مفتاح الدولة حسب عنوان الـ IP الذي يستخدمه جهازك، وفي حالة كان مفتاح الدولة خطأ، فانقر على القائمة المنسدلة ثم اختر دولتك، بعدها اكتب رقم هاتفك الجوال، ثم انقر على زر "أرسل الرمز". أخيرًا، فور استلامك لرمز التفعيل المكون من ستة أرقام على جوالك، انتقل مرةً أخرى لموقع الويب لإدخال هذا الرمز بطريقة صحيحة لتتمكن من الدخول إلى حسابك. تهانينا، أصبح لديك الآن حساب رسمي على موقع OpenAI تستطيع من خلاله استخدام جميع خدمات الذكاء الاصطناعي التي أنتجتها الشركة والتي من ضمنها بوت المحادثة ChatGPT. بالإمكان الآن تقديم أي سؤال إلى البوت وسوف يُقدم إجابةً وافيةً عنه. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن الاستخدام من خلال جهة طرف ثالث تُعد طريقة الاستخدام من خلال جهة طرف ثالث مناسبةً لمن لا تتوفر في بلده خدمات شركة OpenAI للذكاء الاصطناعي، وتُوفر هذه الخدمات من خلال مواقع وإضافات طُورت بواسطة جهات طرف خارجي مختلفة، ومن بين تلك المواقع والإضافات ما يلي: huggingface.co: هي مكتبة مفتوحة المصدر لمعالجة اللغة الطبيعية التي تتميز بأحدث نماذج الذكاء الاصطناعي بما في ذلك نموذج GPT-4، ويمكن للمستخدمين الاستفادة من إمكانات الذكاء الاصطناعي في نموذج GPT-4 لتشغيل نماذج البرمجة اللغوية العصبية الخاصة بهم، أو اختبار الأفكار الجديدة، أو حتى إنشاء تطبيقات جديدة. ora.sh: هو نظام أساسي قائم على الويب يمكّن المستخدمين من إنشاء تطبيقات LLM بسرعة باستخدام واجهة الدردشة، وقدم هذا النظام مؤخرًا ميزة جديدة تتيح للمستخدمين تجربة نموذج GPT-4 بدون تكلفة، كما أنه لا يفرض أي قيود على الرسائل على الإطلاق، وعلاوةً على ذلك لا توجد قائمة انتظار لاستخدام نموذج GPT-4. الدردشة المدمجة بمحرك بحث Microsoft Bing: بالإضافة إلى Ora تتيح الدردشة المدمجة بمحرك بحث Microsoft Bing أيضًا استخدام نموذج GPT-4، فبعد أن أطلقت شركة OpenAI نموذج GPT-4 كشفت Microsoft أن Bing AI الخاص بها يستخدم بالفعل النموذج، ومن المثير للاهتمام أن Bing AI يأتي مزودًا ببعض الوظائف الإضافية التي لا توجد في ChatGPT 4. ChatGPT Sidebar: هي إضافة شائعة لمتصفح Chrome يَستخدم واجهة برمجة تطبيقات Chat GPT لإنشاء ردود شبيهة بالإنسان على أسئلة المستخدمين، ويساعد المستخدمين في الكتابة والترجمة والتلخيص وفحص القواعد النحوية وغيرها من الأغراض. تعمل الإضافة كشريط جانبي على أي صفحة ويب، وتدعم جميع محركات البحث الشائعة بما في ذلك: Google و Bing و duckduckgo. ChatGPT Writer: هي إضافة تعمل في جميع المتصفحات القائمة على Chromium، مثل: Chrome و Brave و Edge، تعمل هذه الإضافة على إنشاء رسائل البريد الإلكتروني كما أنها تقدم دعم محسَّن لخدمة البريد الإلكتروني Gmail. YouTube Summary: هي إضافة لمتصفح Chrome تتيح الوصول بسرعة إلى ملخص مقاطع فيديو YouTube التي تشاهدها باستخدام تقنية ChatGPT AI من OpenAI، فمع استخدام هذه الإضافة بالإمكان توفير الوقت والتعلم بطريقة أسرع. خاتمة بعد أن تناولنا النقاط الرئيسية لبوت المحادثة الرائد ChatGPT، يمكننا القول أن هذه التكنولوجيا قد غيرت المشهد على نحو كبير، فبفضل تطوراته في مجال تعلم الآلة ومعالجة اللغة الطبيعية، يمكن لـ ChatGPT توليد إجابات شبيهة بالإنسان والتفاعل بطبيعية مع المستخدمين، ومن المتوقع أن يتحسن استخدام ChatGPT وتطبيقاته باستمرار في المستقبل. مع ذلك، يجب مراعاة بعض الحدود الأخلاقية والتحديات الفنية التي قد تواجه تطبيقات ChatGPT، فمن المهم العمل على تقليل التحيز في بيانات التدريب والحد من أي تأثيرات سلبية قد تنشأ عن استخدام هذه التقنية، كما يجب أن يتحمل المطورون والمستخدمين المسؤولية في استخدام هذه التكنولوجيا بطريقة صحيحة وأخذ الاعتبارات الأخلاقية في الحُسبان. عدا ذلك، يمثل ChatGPT تقدمًا هائلًا في مجال الذكاء الاصطناعي، ويمكن استخدامه بطريقة فعالة في العديد من التطبيقات، مثل المساعدين الشخصيين وخدمة العملاء والمنصات التعليمية ودعم الصحة النفسية، كما يمكن لـ ChatGPT أن يساهم في تحسين العديد من المجالات في المستقبل. لذلك، يجب مواصلة العمل على تحسين هذه التكنولوجيا والعمل على استخدامها بطريقة أخلاقية ومسؤولة، فيمكن لـ ChatGPT أن يساعدنا في تحقيق نتائج إيجابية في المستقبل. وإلى هنا نكون قد وصلنا إلى نهاية هذا المقال الذي نتمنى أن يكون قد أضاف لكم معلومات جديدةً ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات. المصادر ChatGPT – An AI NLP Model What is Chat GPT? Everything you need to know about ChatGPT The Benefits and Challenges of ChatGPT: An Overview Training language models to follow instructions with human feedback 50 ChatGPT Statistics and Facts You Need to Know Behind ChatGPT’s Wisdom: 300 Bn Words, 570 GB Data Hacker News اقرأ أيضًا الحقيقة حول استخدام الذكاء الصنعي في مجال الدعم الفني المفاهيم الأساسية لتعلم الآلة الذكاء الاصطناعي: أهم الإنجازات والاختراعات وكيف أثرت في حياتنا اليومية النسخة الكاملة لكتاب: عشرة مشاريع عملية عن الذكاء الاصطناعي
  11. مرحبًا بك في الدرس الرابع من سلسلة دروس بناء متجر إلكتروني متعدد اللغات بنظام Magento 2، سنتعلم في هذا الدرس كيفية إعداد كل من العملاء والضرائب. العملاء في هذا القسم من الدرس ستتعرف على لوحة معلومات حساب العميل، وستتعلم كيفية تكوين حسابات العملاء وفقًا لتفضيلاتك، كما ستتعلم أيضًا كيفية إنشاء مجموعات العملاء التي يمكن الرجوع إليها في الترويج وفئات الضرائب. إعدادات العملاء تحدد إعدادات العملاء المعلومات التي تُجَمَّع أثناء عملية تسجيل العميل، ولقد تناولنا في الدرس الثاني ودروس أخرى سابقة بعض النقاط الهامة في إعدادات العملاء، مثل خيارات إنشاء حساب جديد، وخيارات كلمة المرور، وخيارات الاسم والعنوان واختبار CAPTCHA؛ وسوف نستكمل الآن باقى النقاط الهامة في إعدادات العملاء. مدة جلسة الاتصال تُعيَّن مدة كل جلسة عميل افتراضيًا على خمس عشرة دقيقة، فإذا لم يكن هناك نشاط للوحة المفاتيح خلال ذلك الوقت فستنتهي الجلسة الحالية، ويجب على العملاء تسجيل الدخول مرةً أخرى إلى حساباتهم لمتابعة التسوق. ولإعداد مدة جلسة العميل المتصل، نفذ الخطوات التالية: انتقل إلى القائمة "المتاجر" ثم اختر منها "الضبط"، ثم من النافذة التي ستظهر اختر منها "العملاء"، بعدها انقر على الخيار "ضبط العميل" ووسع قسم "خيارات العملاء المتصلين". من خلال الحقل "الفاصل الزمني للاتصال بالدقائق"، أدخل عدد الدقائق التي سيسمح بها النظام لجلسة العميل دون تفاعل، أو اترك الحقل فارغًا لقبول الفترة الافتراضية البالغة خمس عشرة دقيقة. من خلال الحقل "عمر بيانات العميل"، أدخل عدد الدقائق التي سيسمح بها النظام لحفظ محتويات عربة تسوق العميل بعد انتهاء الجلسة، أما في حالة إذا فُعِّل الخيار Persistent Cart أو عربة التسوق المستمرة، فسوف تُحفظ محتويات عرباتهم في المرة التالية التي يسجلون فيها الدخول إلى حساباتهم. انقر على زر "حفظ" ثم امسح ذاكرة التخزين المؤقت. صفحة الهبوط بعد تسجيل الدخول يمكنك تكوين متجرك إما لإعادة توجيه العملاء إلى لوحة معلومات حساباتهم بعد تسجيل الدخول، أو السماح لهم بمواصلة التسوق. ولإعداد صفحة الهبوط بعد تسجيل دخول العميل نفذ الخطوات التالية: أولاً: انتقل إلى القائمة "المتاجر" ثم اختر منها "الضبط"، ثم من النافذة التي ستظهر اختر منها "العملاء" ثم انقر على الخيار "ضبط العميل" ثم وسع قسم "خيارات تسجيل الدخول". ثانيًا: عَيِّن الخيار "إعادة توجيه العملاء إلى لوحة تحكم الحساب بعد تسجيل الدخول" إلى أي مما يلي: نعم: لتظهر لهم لوحة معلومات الحساب عندما يسجل العملاء الدخول إلى حساباتهم. لا: ليتمكن العملاء من متابعة التسوق بعد تسجيل الدخول إلى حساباتهم. أخيرًا: انقر على زر "حفظ" ثم امسح ذاكرة التخزين المؤقت. تأكيد طلب فتح الحساب حتى لا يمتلئ متجرك بحسابات تعمل من خلال عناوين بريد إلكتروني وهمية، يمكنك مطالبة العملاء بتأكيد طلبهم لفتح حساب في متجرك من خلال تفعيل الخيار "طلب تأكيد رسائل البريد الإلكتروني". ولإعداد تأكيد طلب فتح الحساب، نفذ الخطوات التالية: أولاً: انتقل إلى القائمة "المتاجر" ثم اختر منها "الضبط"، ثم من النافذة التي ستظهر، اختر منها "العملاء"، بعدها انقر على الخيار "ضبط العميل"، ثم وسع قسم "خيارات إنشاء حساب جديد". ثانيًا: عَيِّن الخيار "يتطلب تأكيد رسائل البريد الإلكتروني" على "نعم". أخيرًا: انقر على زر "حفظ"، ثم امسح ذاكرة التخزين المؤقت. قسائم الترويج تُستخدم قسائم الترويج مع قواعد أسعار سلة التسوق لتطبيق خصم عند استيفاء مجموعة من الشروط. على سبيل المثال، يمكن إنشاء رمز قسيمة لمجموعة معينة من العملاء، أو لأي شخص يُجري عملية شراء تتجاوز مبلغًا معينًا، ويمكن للعميل استخدام قسيمة الخصم أو الترويج في عملية الشراء من خلال إدخال رمز القسيمة في عربة التسوق. ويمكنك إرسال رموز القسيمة عبر البريد الإلكتروني، أو تضمينها في النشرات الإخبارية؛ كما يمكنك أيضًا إنشاء قسائم داخل المتجر باستخدام رمز استجابة سريع يمكن للمتسوقين مسحه ضوئيًا باستخدام هواتفهم الذكية. تنويه: نظرًا لأننا نبني متجرًا إلكترونيًا بسيطًا، فإن عملية إعداد قواعد أسعار سلة التسوق لاستخدام قسائم الترويج لن تكون ضمن تغطية هذا الدليل. إعداد رموز قسائم الترويج من خلال إعداد رموز قسائم الترويج، يمكنك التحكم في طول وتكوين رموز القسائم التي تُنشأ تلقائيًا بواسطة النظام، فيمكنك تعيين الرموز لتكون حروفًا أو أرقامًا فقط، أو مزيجًا من الحروف والأرقام؛ كما يمكنك إدراج شرطة (-) كفواصل بين كل مجموعة رموز لتسهيل عملية القراءة، ويمكنك أيضًا إضافة بادئة ولاحقة لربط الرمز بحملة أو مبادرة معينة. ولتنسيق رموز القسيمة نفذ الخطوات التالية: أولًا: انتقل إلى القائمة "المتاجر"، ثم اختر منها "الضبط". ومن النافذة التي ستظهر، اختر منها "العملاء"، ثم انقر على الخيار "قسائم الترويج". ثانيًا: من خلال الحقل "طول الرمز" حدد عدد الرموز المكونة لطول رمز القسيمة، وفي حالتنا ضبطتها على 16 رمزًا. ثالثًا: من خلال الحقل "تنسيق الرمز" حدد نوع الرمز المستخدم، ويمكنك الاختيار بين حروف فقط أو أرقام فقط أو مزيج من الحروف والأرقام وهو الخيار الافتراضي. رابعًا: من خلال حقل "بادئة الرمز" وحقل "لاحقة الرمز" حدد القيمة التي تريدها أن تظهر في بداية أو نهاية جميع رموز القسائم، وهو أمر مفيد في حالة أنشأتَ حملتين ترويجيتين وتريد أن تميز بين قسائم كل حملة. خامسًا: من خلال حقل "داش كل X حرف" حدد أين يُضع الفاصل (-) بين كل مجموعة رموز، على سبيل المثال في حالتنا حددنا طول الرمز على 16 رمز، والآن أريد أن أضع فاصلًا بين كل أربع رموز، لتكون القسيمة مكونةً من أربع مجموعات وكل مجموعة بها أربع رموز، لذلك سوف أضع في الحقل "داش كل X حرف" العدد 4. أخيرًا: انقر على زر "حفظ" ثم امسح ذاكرة التخزين المؤقت. وسيصبح لديك قسائم ترويجية كما هو موضح بالصورة التالية: عربة التسوق المستمرة تتعقب عربة التسوق المستمرة العناصر التي تركها العملاء في سلة تسوقهم، فتحفظ معلومات تلك العناصر، مما يسمح للعملاء باستعادة محتويات عربات التسوق الخاصة بهم في المرة التالية التي يزورون فيها متجرك، سواءً كانت هذه الزيارة بعد عدة أيام، أو أسابيع، أو شهور؛ ويمكن أن يساعد استخدام عربة التسوق المستمرة في تقليل عدد عربات التسوق المتروكة وزيادة المبيعات. من المهم أن نفهم أن عربة التسوق المستمرة لا تعرض معلومات الحساب الحساسة، بل هي تعتمد لحفظ العناصر بها على تعيين متصفح العميل للسماح بملفات تعريف الارتباط. أيضًا، أثناء استخدام عربة التسوق المستمرة، يتعين على كل من العملاء المسجلين والعملاء الضيوف إما تسجيل الدخول إلى حساب موجود بالمتجر، أو إنشاء حساب جديد قبل الخروج من الجلسة. إعداد عربة التسوق المستمرة أثناء إعداد عربة التسوق المستمرة، يمكنك تحديد عمر ملفات تعريف الارتباط والخيارات التي تريد إتاحتها لأنشطة العملاء المختلفة، وكما ذكرنا أنه في حالة انتهاء صلاحية ملف تعريف ارتباط الجلسة أثناء تسجيل دخول العميل، سيظل ملف تعريف الارتباط الدائم نشطًا. ولإعداد عربة التسوق المستمرة نفذ الخطوات التالية: انتقل إلى القائمة "المتاجر" ثم اختر منها "الضبط". ومن النافذة التي ستظهر، اختر منها "العملاء"، ثم انقر على الخيار "عربة التسوق المستمرة". لتمكين عربة التسوق المستمرة وعرض الخيارات الإضافية، عيِّن الحقل "تمكين الثبات" على القيمة "نعم". من خلال حقل "عمر الاستمرارية" أدخل المدة الزمنية بالثواني التي تريد أن يستمر فيها ملف تعريف الارتباط الدائم، والقيمة الافتراضية البالغة 31.536.000 ثانية تساوي سنة واحدة، وهي الحد الأقصى للوقت المسموح به. عَيِّن الخيار "تمكين تذكرني" إلى أي مما يلي: نعم: لعرض مربع الاختيار "تذكرني" في صفحة تسجيل الدخول لمتجرك، إذ يمكن للعملاء اختيار حفظ معلومات تسجيل الدخول وعربة التسوق الخاصة بهم. لا: لن يُمنح العملاء خيار الاحتفاظ بمعلومات تسجيل الدخول، لكن خاصية الاستمرارية لحفظ عناصر عربة التسوق تظل ممكنة. لتحديد مربع الاختيار "تذكرني" افتراضيًا حتى لا يحتاج العميل لتحديدها يدويًا، اضبط الحقل "القيمة الافتراضية لتذكرني" على القيمة "نعم". عَيِّن الخيار "مسح الاستمرارية عند تسجيل الخروج" إلى أي مما يلي: نعم: لمسح الإعدادات الدائمة لجميع الكيانات عندما يسجل العميل الخروج من المتجر، وتشمل الكيانات ذات الإعدادات الثابتة المتمثلة في سلة التسوق، وقائمة الرغبات، والعناصر التي طُلبت مؤخرًا، والمنتجات التي قُرنت حاليًا، وسجل المقارنة، والمنتجات المعروضة مؤخرًا ومجموعة العملاء. لا: للاحتفاظ بالإعدادات الدائمة لجميع الكيانات عندما يسجل العميل الخروج من المتجر. عَيِّن الخيار "استمرارية عربة التسوق" إلى أي مما يلي: نعم: للاحتفاظ بملف تعريف الارتباط الدائم عند انتهاء صلاحية ملف تعريف الارتباط للجلسة، حتى يتمكن العميل من استعادة عناصر عربة التسوق عند تسجيل دخوله التالي. لا: لعدم الاحتفاظ بملف تعريف الارتباط الدائم عند انتهاء صلاحية ملف تعريف الارتباط للجلسة. أخيرًا، انقر على زر "حفظ" ثم امسح ذاكرة التخزين المؤقت. قائمة العملاء توفر لك قائمة العملاء الوصول إلى أدوات إدارة حساب العملاء، وتمنحك القدرة على معرفة مَنْ المتصل حاليًا في متجرك. وتحتوي قائمة العملاء على الأدوات التالية: كافة العملاء: تعرض هذه الصفحة جميع العملاء الذين سجلوا للحصول على حساب في متجرك، أو العملاء الذين أضافهم المسؤول. يمكنك تعديل بيانات العملاء من خلال النقر على الإجراء "تعديل" الموجود بنهاية سجل العميل الذي تريد تعديله لفتح سجل العميل في وضع التحرير، ثم اختيار المعلومات التي تريد تعديلها وتنفيذ ما يلزم من التغييرات، وفي النهاية انقر على زر "حفظ". متصل الآن: تعرض هذه الصفحة جميع العملاء والزوار المتصلين حاليًا بمتجرك، وتُعيَّن طول مدة الجلسة عبر الإنترنت في إعدادات العملاء كما ذكرنا في بداية هذا الدرس، والتي تستغرق خمس عشرة دقيقةً افتراضيًا، ويمكنك زيادتها؛ وخلال هذه المدة يكون نشاط العميل مرئيًا للمسؤول. تسجيل الدخول كعميل: تعرض هذه الصفحة جميع الحسابات بصلاحية المسؤول التي سجلت الدخول بحسابات العملاء لمساعدتهم على إتمام أمرٍ ما بالمتجر. ولكي تتمكن كمسؤول من تنفيذ تسجيل الدخول كعميل، يجب أن يكون العميل قد فَعَّل خاصية "السماح بالمساعدة في التسوق عن بُعد" بحسابه على المتجر. مجموعات العملاء: تعرض هذه الصفحة مجموعات العملاء الذين تحددهم لتقديم الخصومات المتوفرة لهم أو لتحديد فئة الضريبة المرتبطة بكل مجموعة منهم، وسوف تلاحظ أن مجموعات العملاء الافتراضية هي: عامة لم يتم تسجيل الدخول بائع جُملة وبائع تجزئة. ويمكنك إنشاء مجموعة عملاء جديدة وذلك من خلال النقر على زر "إضافة مجموعة جديدة"، ثم أدخل اسم مجموعة فريدًا يتكون على الأقل من 32 حرفًا لتعريف المجموعة، ثم حدد فئة الضريبة التي تنطبق على المجموعة، ثم حدد موقع الويب المراد تعيين المجموعة له (في حالة وجود أكثر من موقع ويب على خادم الاستضافة)، وفي النهاية انقر على زر "حفظ". الضرائب يوفر نظام Magento مجموعةً متنوعةً من الخيارات لتحديد الضرائب، وتُستخدم فئات الضرائب لتحديد "قواعد الضرائب" التي تتكون من مزيج من فئة المنتج وفئة العميل والمنطقة الضريبة والسعر، كما يدعم ماجنتو Magento أيضًا حساب ضريبة القيمة المضافة VAT. تنويه: نظرًا لأننا نبني متجرًا إلكترونيًا بسيطًا، فإن عملية إعداد الضرائب بأنواعها المختلفة مثل إعداد ضرائب ثابتة على المنتجات والضرائب المركبة لن تكون ضمن تغطية هذا الدليل، لكن في حالة وجود طلب منكم لتوفير هذه التغطية فسوف نعمل على توفيرها. قواعد الضرائب تتضمن القواعد الضريبية مجموعةً من فئة المنتج وفئة العميل ومعدل الضريبة، مع تعيين كل عميل إلى فئة العميل، وتعيين فئة منتج لكل منتج، ثم يحلل نظام ماجنتو عربة التسوق لكل عميل ويحسب الضريبة المناسبة وفقًا لفئات العميل والمنتج والمنطقة (بناءً على عنوان الشحن الخاص بالعميل أو عنوان إرسال الفواتير أو مصدر الشحن). إذًا نفهم من ذلك أن أضلاع مثلث قواعد الضرائب هي: المنتج (متمثل في سعره) والعميل (متمثل من مكان إقامته) ومعدل الضريبة (المتمثل في نسبة الضريبة التي يجب إضافتها لإجمالي سعر المنتجات التي اشتراها العميل استنادًا لمكان إقامته). والسؤال الذي يطرح نفسه هنا، هو كيف يمكننا معرفة معدل الضريبة، خاصةً إن كنت تريد أن يستهدف متجرك أكثر من دولة؟ نعم، الأمر مُربك جدًا ويحتاج إلى كامل تركيزك في إعداده، لأن الخطأ فيه قد يعرضك للمساءلة القانونية، لذلك أنصحك بتوكيل الأمر لمحاسب، خاصةً إن كان متجرك يستهدف بلدانًا عديدة. حسنًا، مازلنا بحاجة إلى مصدر يقدم لنا معلومات عن معدل الضريبة لمختلف بلدان العالم لكي تنشئ قواعدًا ضريبيةً سليمةً بمتجرك، وللتغلب على هذه المشكلة أقدم لك هذا الموقع الإلكتروني الذي يقدم لك قائمةً أبجديةً محدثةً بمعدل الضريبة لجميع الدول، كما يتيح لك تحميل هذه القائمة إلى ملف إكسل. وبذلك يكون قد اكتمل لدينا مثلث بناء قواعد الضرائب. لننتقل الآن للخطوة التالية لنتعلم كيفية إنشاء قاعدة ضريبية، والتي تتكون من مرحلتين، الأولى منهما هي إنشاء معدل الضريبة والثانية هي إنشاء قاعدة ضريبية. المرحلة الأولى: إضافة معدل الضريبة تنطبق معدلات الضرائب بوجه عام على المعاملات التي تُجرى في منطقة جغرافية محددة، لذلك تتيح لك أداة "مناطق ومعدلات الضرائب" إمكانية تحديد معدل الضريبة لكل منطقة جغرافية تُحصل من خلالها الضرائب. ونظرًا لأن كل منطقة ومعدل ضرائبها لهما معرّف فريد، فيمكنك الحصول على معدلات ضرائب متعددة لمنطقة جغرافية معينة، مثل الأماكن التي لا تفرض ضريبة على الطعام أو الدواء، ولكنها تفرض ضريبةً على عناصر أخرى. وتُحتسب ضريبة المتجر بناءً على عنوان المتجر، كما تُحتسب ضريبة العميل بعد أن يُكمل معلومات الطلب، ثم يحسب نظام Magento بعد ذلك الضريبة بناءً على إعدادات ضريبة المتجر. ويمكنك إضافة معدل الضريبة بإحدى طريقتين كما يلي: 1. إضافة معدل الضريبة فرديا استنادًا لهذه الطريقة، سوف تحتاج إلى إدخال البيانات لكل معدل ضريبة جديد على حدة، فعلى سبيل المثال، إن كان متجرك يستهدف 10 دول، فسوف تحتاج إلى إضافة بيانات معدل الضريبة 10، وذلك باتباع الخطوات التالية: أولاً: في البداية انتقل إلى القائمة "المتاجر"، ثم اختر منها "المناطق ومعدل الضريبة المضافة". ومن النافذة التي ستظهر، انقر على زر "إضافة معدل ضريبة جديد". ثانيًا: من خلال الحقل "معرف الضريبة" أدخل اسمًا مميزًا ذو دلالة لمعدل الضريبة الذي تريد إضافته، ففي حالتنا أدخلت اسم "Egypt" للدلالة على أن هذا المعدل الضريبي خاص بالعملاء من دولة مصر. ثالثًا: من خلال الحقل "الرمز البريدي" يمكنك تطبيق معدل الضريبة على رمز بريدي محدد بالدولة المستهدفة، وذلك بكتابة الرمز البريدي في هذا الحقل، أو يمكنك إدخال العلامة النجمية (*) لتطبيق معدل الضريبة على جميع الرموز البريدية بالدولة المستهدفة. رابعًا: من خلال الحقل "الولاية" يمكنك تطبيق معدل الضريبة على ولاية محددة بالدولة المستهدفة، وهذا الخيار غير متاح لكل الدول، وذلك لأن معظم الدول يكون لها معدل ضريبة واحد، فعلى سبيل المثال، إن كان متجرك يستهدف الولايات المتحدة الأمريكية، فستحتاج إلى إضافة معدل ضريبي لكل ولاية على حِدة، وذلك لأنه لكل ولاية معدلها الضريبي الخاص بها. خامسًا: من خلال الحقل "الدولة" يمكنك تحديد الدولة المستهدفة بمعدل الضريبة. سادسًا: من خلال الحقل "معدل النسبة المئوية" يمكنك إدخال نسبة معدل الضريبة للدولة المستهدفة استنادًا للمعلومات التي حصلنا عليها من الموقع الإلكتروني الذي ذكرناه سابقًا. أخيرًا، انقر على زر "حفظ". 2. استيراد / تصدير معدل الضريبة إذا كان متجرك يستهدف عدة بلدان ويشحن كميةً كبيرةً من المنتجات، فإن إدخال معدلات الضرائب يدويًا يمكن أن يستغرق وقتًا طويلاً، لذلك يُعَد استيراد معدلات الضرائب عن طريق ملف إكسل إلى Magento أسرع وأكثر كفاءة. يوضح المثال التالي كيفية استيراد ملف إكسل بامتداد CSV من نظام ماجنتو للتعرف على تكوين هذا الملف، ثم من خلال الموقع الإلكتروني الذي يقدم لنا معلومات عن معدل الضريبة لكل دولة، ثم نبني هذا الملف بالمعلومات التي حصلنا عليها، ونعيد رفع هذا الملف إلى نظام ماجنتو مرةً أخرى، ولتنفيذ ذلك اتبع الخطوات التالية: أولًا: انتقل إلى القائمة "النظام"، ثم اختر منها "استيراد/ تصدير معدلات الضريبة". ومن النافذة التي ستظهر، انقر على زر "تصدير معدلات الضريبة" لتنزيل الملف على جهازك، وعادةً ما يكون اسم الملف "tax_rates.csv". ثانيًا: اذهب إلى مسار تحميل الملف ثم افتحه ومن المفترض أن تجد بداخله بيانات معدل الضريبة Egypt التي أضفناها يدويًا كما هو موضح بالصورة التالية: وسوف تلاحظ أن في الحقل الخاص باسم الدولة كُتب اختصار الدولة EG وليس اسم الدولة بالكامل، لذلك من خلال الرابط help.bing يمكنك الحصول على قائمة باختصارات أسماء جميع الدول. ثالثًا: بمساعدة الموقع الإلكتروني الذي يقدم لنا معلومات عن معدل الضريبة لكل دولة، والموقع الإلكتروني الذي يقدم لنا اختصارات أسماء الدول، نريد إضافة معدل الضريبة للمملكة السعودية ودولة المغرب والإمارات وسلطنة عُمان، ليصبح الملف كما الصورة التالية: رابعًا: مرةً أخرى، اذهب إلى صفحة "استيراد/ تصدير معدلات الضريبة"، ثم انقر على زر "Choose File" وحدد مسار الملف "tax_rates.csv"، بعدها انقر على الزر "استيراد معدلات الضريبة". من المفترض أن تحصل على رسالة تفيد بنجاح عملية الاستيراد كالتالية: أخيرًا: للتأكد من نجاح عملية الاستيراد، اذهب إلى صفحة "المناطق ومعدل الضريبة المضافة" مرةً أخرى، إذ من المفترض أن تجد السجلات قد أُضيفت بنجاح. المرحلة الثانية: إنشاء قاعدة ضريبية القاعدة الضريبية هي عبارة عن حساب مجموعة من فئة ضريبة العميل وفئة ضريبة المنتج ومعدل الضريبة، فعلى سبيل المثال، يمكنك إنشاء قاعدة ضريبية للعملاء من دولة A الذين يشترون المنتج A أنهم معفيون من الضرائب، لكن العملاء من دولة B الذين يشترون المنتج A يدفعون كامل الضريبة. ونستنتج من ذلك أنه بإمكانك إنشاء قواعد ضريبية معقدة للغاية استنادًا لحجم متجرك والمنتجات التي تعرضها (فهناك منتجات معفاة من الضرائب مثل الأدوية) ومعدل الضريبة في البلدان التي تستهدفها؛ لكن في حالتنا نحن نعرض مفروشات الأَسِرَّة في متجرنا، وهي منتجات ليست معفاةً من الضرائب، كما أننا نستهدف 5 دول فقط، لذلك سوف ننشئ قاعدةً ضريبيةً لكل دولة منهم استنادًا لمعدل ضريبة القيمة المضافة لكل دولة، ولتنفيذ ذلك اتبع الخطوات التالية: أولًا: انتقل إلى القائمة "المتاجر" ثم اختر منها "قواعد الضريبة"، ومن النافذة التي ستظهر انقر على زر "إضافة قاعدة ضريبية جديدة". ثانيًا: من خلال الحقل "الاسم" أدخل اسمًا مميزًا ذو دلالة للقاعدة الضريبية الذي تريد إضافتها، ففي حالتنا أدخلت اسم "مصر" للدلالة على أن هذه القاعدة الضريبية خاصة بالعملاء من دولة مصر. ثالثًأ: من خلال الحقل "معدل الضريبة" حدد معدل ضريبة أو أكثر من المعدلات الضريبية التي أضفناها حسب حاجة متجرك، وفي حالتنا سوف نحدد معدل الضريبة Egypt لاحتساب ضريبة القيمة المضافة لعملاء المتجر المصريين. رابعًا: كرر الخطوتين السابقتين حتى تنتهي من إنشاء قواعد الضريبة الخاصة بك. ضبط إعدادات الضرائب بعد الانتهاء من إنشاء معدلات الضريبة وقواعد الضرائب، سنحتاج الآن إلى ضبط إعدادات الضرائب لتصبح شاملة الضريبة بدلًا من كونها بلا ضريبة، بالإضافة إلى ضبط البلد الافتراضي للوجهة الضريبية الخاصة بمتجرنا. ولتنفيذ ذلك، اتبع الخطوات التالية: أولًا: انتقل إلى القائمة "المتاجر" ثم اختر منها "الضبط" ومن النافذة التي ستظهر اختر القسم "المبيعات"، ثم انقر على "الضريبة". ثانيًا: من القسم "فئات الضرائب"، عدِّل قيمة الحقل "فئة الضرائب للشحن" إلى Taxable Goods أو شامل الضريبة. ثالثًا: من القسم "إعدادات الحساب"، عدِّل قيمة الحقل "أسعار المنتجات" والحقل "أسعار الشحن" والحقل "تطبيق الخصم على الأسعار" إلى شامل الضريبة. رابعًا: من القسم "حساب الوجهة الضريبية الافتراضية"، عدِّل قيمة الحقل "البلد الافتراضي" إلى اسم دولة المتجر، وفي حالتنا ستكون الدولة هي مصر. خامسًا: من القسم "إعدادات عرض الأسعار"، عدِّل قيمة الحقل "عرض أسعار المنتجات في الكاتالوج" والحقل "عرض أسعار الشحن" إلى شامل الضريبة. سادسًا: من القسم "إعدادات عرض عربة التسوق"، عدِّل قيمة الحقل "عرض الأسعار" والحقل "عرض المجموع الفرعي" والحقل "عرض أسعار الشحن" إلى شامل الضريبة. أخيرًا: من القسم "إعدادات عرض الطلبات والفواتير ومذكرات الائتمان" عدِّل قيمة الحقل "عرض الأسعار" والحقل "عرض المجموع الفرعي" والحقل "عرض أسعار الشحن" إلى شامل الضريبة، انقر على زر "حفظ" ثم امسح ذاكرة التخزين المؤقت. وبذلك نكون قد انتهينا من قسم الضرائب، يتبقى أن نضيف بعض المنتجات بالمتجر لنستكشف هل نظام الضرائب يعمل بكفاءة أم لا، لكننا سوف نؤجل إضافة المنتجات للدرس القادم. خاتمة وإلى هنا نكون قد وصلنا إلى نهاية هذا الدرس من هذا الدليل الذي تعلمنا فيه كيفية ضبط أهم إعدادات العملاء وقسائم الترويج وعربة التسوق المستمرة وقائمة العملاء والضرائب وقواعدها وإضافة معدل الضريبة وإنشاء قاعدة ضريبية وضبط إعدادات الضريبة، وفي الدرس القادم سوف نتناول إضافة المنتجات. نتمنى أن يكون هذا الدليل قد أضاف لكم معلومات جديدةً ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات. اقرأ أيضًا المقال السابق: إعداد أدوار المستخدمين وأهم إجراءات الأمان لنظام ماجنتو كيفية تثبيت ماجنتو 2.4.5 لبناء متجر إلكتروني بنظام Magento 2 الإعدادات الأساسية لتكوين متجر إلكتروني بنظام Magento 2
  12. بعد أن تعرفنا في الدروس السابقة على كيفية إعداد المتجر الإلكتروني القائم على نظام ماجنتو من الناحية الأمنية، سنواصل في هذا الدرس مع كيفية إعداد أدوار المستخدمين وكيفية إعداد أهم إجراءات الأمان لنظام ماجنتو. إعداد أدوار المستخدمين يستخدم Magento الأدوار والأذونات لإنشاء مستويات مختلفة من الوصول إلى الواجهة الخلفية للنظام، فعندما تبني متجرك لأول مرة تتلقى مجموعة من بيانات اعتماد تسجيل الدخول لدور المسؤول الذي يحتوي على أذونات كاملة، ومع ذلك يمكنك تقييد مستوى الأذونات على أساس "الحاجة إلى المعرفة" للأشخاص الآخرين الذين يعملون على موقعك. فعلى سبيل المثال: يمكنك منح المسؤول عن المبيعات حق الوصول إلى أدوات وتقارير المبيعات فقط، وليس إلى المناطق التي تحتوي على إعدادات النظام، كما يمكنك تقييد الوصول إلى موقع معين فقط أو مجموعة من المواقع والبيانات المرتبطة بها، إذا كان لديك العديد من العلامات التجارية على نفس تثبيت ماجنتو. فإذا كان وصول المستخدم الإداري مقيدًا على مواقع ويب و/ أو متاجر معينة، فإن مواقع الويب والمتاجر التي لم تُصرح له باستخدامها إما لن تكون مرئية له، أو تصبح غير نشطة وتُعرض له البيانات الأخرى الخاصة بالمواقع والمتاجر المسموح له بها فقط. 1. إضافة المستخدمين لنفترض أننا نريد إنشاء حساب لمسؤول المبيعات بالمتجر تكون صلاحياته الوصول إلى لوحة التحكم ومنها يُعرض له قائمة المبيعات فقط، أيضًا يكون له حق الوصول إلى حسابه لتعديل بياناته أو كلمة مروره، ولتنفيذ ذلك اتبع الخطوات التالية: أولًا، انتقل إلى القائمة الجانبية "النظام"، ثم اختر منها "جميع المستخدمين".* ومن النافذة التي ستظهر انقر على زر "أضف مستخدم جديد" الموجود أعلى يمين النافذة. ثانيًا، من النافذة التي ستظهر أكتب بيانات المستخدم الجديد، وتأكد من إدخال عنوان بريد إلكتروني صالح حتى يستلم روابط إعادة تعيين كلمة المرور عليه في حالة نسيانها، وأيضًا يجب أن يكون عنوان البريد غير مستخدم سابقًا على النظام، وتأكد من أن الحقل "هذا الحساب" محدد على "فعال"، كما يمكنك تحديد وقت انتهاء صلاحية الحساب ولن يتمكن المستخدم من تسجيل الدخول على النظام بعد هذا التاريخ، وبعد الانتهاء من تسجيل هذه البيانات أدخل كلمة مرور المسؤول الخاصة بك ثم انقر على زر "حفظ المستخدم". سوف يُضاف الحساب الجديد إلى قائمة المستخدمين وسيصلك بريد إلكتروني يخبرك بإنشاء بذلك، لكن إن حاولت تسجيل الدخول به سيرفض النظام وذلك بسبب أننا لم نضف دور لهذا الحساب ثالثًا، انقر على الحساب للدخول إلى صفحة بيانات الحساب مرةً أخرى، ومن القائمة الجانبية انقر على "دور المستخدم". قد لا تجد سوى دور المسؤول فقط، وفي هذه الحالة نحن بحاجة إلى إنشاء دور لمستخدم المبيعات يحتوي على الصلاحيات التي حددناها له. 2. إضافة الأدوار لكي تمنح شخص ما حق الوصول المقيد إلى الواجهة الخلفية فإن الخطوة الأولى هي إنشاء دور له المستوى المناسب من الأذونات، ثم بعد حفظ الدور يمكنك إضافة مستخدمين جدد وتعيين الدور المقيد لمنحهم وصول محدود إلى الواجهة الخلفية، ولتنفيذ ذلك اتبع الخطوات التالية: أولاً، انتقل إلى القائمة الجانبية "النظام"، ثم اختر منها "أدوار المستخدم". ومن النافذة التي ستظهر انقر على زر "أضف دور جديد" الموجود أعلى يمين النافذة. ثانيًا، من النافذة التي ستظهر اكتب اسمًا للدور يكون ذو دلالة على وظيفته، وبما أننا ننشئ دور للمبيعات سأختار اسم "Sales" لهذا الدور، ثم بعد ذلك اكتب كلمة مرور المسؤول الخاصة بك. ثالثًا، من القائمة الجانبية انقر على "مصادر الدور" ثم اختر "مخصص" لنتحكم في تحديد الصلاحيات، ثم بعد الانتهاء من اختيار الصلاحيات انقر على زر "حفظ الدور". رابعًا، عُد مرةً أخرى إلى صفحة المستخدمين من خلال النقر على القائمة الجانبية "النظام"، ثم النقر على "جميع المستخدمين"، ثم النقر على المستخدم الذي تريد تعيين الدور الجديد له، ثم من صفحة بيانات المستخدم اكتب كلمة مرور المسؤول الخاصة بك، ثم من القائمة الجانبية انقر على "دور المستخدم". خامسًا، الآن حدّد الدور الذي أنشأناه للمستخدم ثم انقر على زر "حفظ المستخدم". وستلاحظ الآن أصبح له دور في صفحة المستخدمين، مما يجعلك تستطيع تنفيذ عملية تسجيل الدخول به. أخيرًا، سجل الخروج من حساب المسؤول ثم سجل الدخول بحساب المبيعات الجديد، فمن المفترض أن تكون النتيجة كما بالصورة التالية: تهانينا، لقد أصبحت الآن قادرًا على إنشاء المستخدمين وتحديد صلاحياتهم على نظام ماجنتو. إعداد أهم إجراءات الأمان لنظام ماجنتو إن أمان كل من بياناتك وبيانات عملائك له أهمية قصوى، لذا أردت أن أشارككم أهم الإجراءات الأمنية عند إعداد متجر Magento جديد. قد تعتقد أن إجراءات الأمان هذه زائدة عن الحاجة (لماذا يجب علي تنفيذ هذه الإجراءات، إذا كنت قد فَعَّلت المصادقة الثنائية للواجهة الخلفية واختبارات جوجل reCAPTCHA للواجهة الأمامية؟)، ولكن فكر فيها على أنها إجراءات لتأمين متجرك في حالة فشل أحد هذه الخيارات في إيقاف المهاجم. النسخ الاحتياطي لمتجرك أول شيء يجب مراعاته عند تشغيل متجر Magento هو إنشاء نسخ احتياطية خارجية لمتجرك وخادم الاستضافة، لذلك ستحتاج إلى إنشاء 3 أنواع من النسخ الاحتياطية على أساس منتظم كما يلي: مرة واحدة في اليوم: يجب إجراء نسخة احتياطية تلقائية من قاعدة البيانات الخاصة بمتجرك، فقاعدة البيانات هي المكان الذي تُحفظ فيه جميع الإعدادات والبيانات الخاصة بمتجرك، لذلك من المهم جدًا إجراء نسخ احتياطي لها بانتظام. مرة واحدة في اليوم: يجب إجراء نسخة احتياطية من ملفات Magento وصور المنتجات. مرة واحدة في الأسبوع: يجب إجراء نسخة احتياطية كاملة لخادم الاستضافة، فهذا يضمن أنه في حالة حدوث شيء كارثي لخادم الاستضافة يمكنني على الأقل إعادة إنشائه من نسخة احتياطية حديثة. تغيير عنوان URL الخاص بالمسؤول من الأخطاء الشائعة جدًا التي ترتكبها عند إعداد متجر Magento هو ترك عنوان URL الخاص بالواجهة الخلفية هكذا http://yourdomain/admin فإذا كان هناك أي شخص يتطلع إلى الحصول على وصول غير مصرح به إلى الواجهة الخلفية لمتجرك فعادةً ما يكون عنوان http://yourdomain/admin هو أول عنوان يختبره. لذلك ننصحك باستخدام عنوان غامض تعرفه أنت وفريقك فقط، فسيكون استخدام عنوان مثل http://yourdomain/admin_letmein99 أفضل من مجرد استخدام العنوان الافتراضي. بالطبع هذه ليست طريقة مضمونة لمنع أي شخص مصمم على الوصول إلى شاشة تسجيل الدخول الخلفية، إلا أنها تساعد في تقليل التعرض للنصوص البرمجية التي تحاول الوصول إلى متجرك. تعطيل عمليات تسجيل الدخول المتعددة هناك طريقة آمنة حقًا لضمان عدم استخدام مستخدم آخر لبيانات اعتماد تسجيل الدخول الخاصة بك، فمن خلال تعطيل خيار عمليات تسجيل الدخول المتعددة من أجهزة حاسوب مختلفة يعني أنه عند تسجيل الدخول إلى Magento تلقائيًا سوف يسجل النظام خروج أي شخص آخر يستخدم بيانات الاعتماد الحالية الخاصة بك. وعلى الجانب الآخر إذا طُردت من جلستك أثناء استخدام Magento فأنت حينها ستعلم أن شخصًا ما قد نجح في تسجيل الدخول إلى النظام باسمك، وفي هذه الحالة أنت ستعلم أن لديك مشكلة تحتاج إلى مزيد من التحقيق. استخدم كلمات مرور قوية للمشرف يجب عليك استخدام كلمة مرور قوية لا يمكن تخمينها بسهولة، يتيح لنا نظام ماجنتو إجبار المستخدم على استخدام كلمة مرور بناءً على القوة التي تحددها، ويمكن أن يتضمن هذا التحديد الحد الأدنى من عدد الأحرف والأرقام، أو يتضمن أحرفًا خاصة أو أحرفًا كبيرة. تلك المعايير متروكة لك تمامًا، ولكن أيًا كان ما تختاره سوف يؤثر أيضًا على عملائك، لذلك لا تجعل الأمر صعبًا للغاية عليهم. ننصحك هنا بالرجوع إلى مقال كلمات المرور: كيفية حفظها واستعمالها في العالم الرقمي. لا تستخدم أسماء تسجيل دخول واضحة يشبه امتلاك اسم مستخدم وكلمة مرور وجود مرحلتين من الأمان في مرحلة واحدة، لذلك يجب على المهاجم تخمين اسم المستخدم وكلمة المرور الخاصة بك، وهناك تنسيقان شائعان لإنشاء اسم المستخدم، هما: الاسم العادي مثل "Mostafa" أو "Ahmed"، والآخر هو تضمين نقطة بالاسم مثل "m.amaan" أو "mostafa.a". لكن بدلاً من ذلك حاول أن تبتكر شيئًا أكثر إبداعًا مثل اسم المستخدم والكود الخاص به، على سبيل المثال "mostafa022". تأكد أيضًا من إزالة أي أسماء مثل "Support" أو "Admin" أو "Manager" من قائمة المستخدمين. تحديد أوقات جلسات الواجهة الخلفية إن عملية طرد ماجنتو لجلستك بعد فترة من الوقت هو أمر مزعج في بعض الأحيان، تخيل أنك بدأت في معالجة عملية بيع على الواجهة الخلفية ثم انشغلت في التحدث على الهاتف لفترة طويلة مع العميل ثم عندما تأتي لإكمال المعاملة بالضغط على "تقديم الطلب" تجد النظام يطردك بسبب انتهاء مهلة الجلسة ثم يتعين عليك إعادة التشغيل مرة أخرى. وعلى الرغم من أن هذا أمر مزعج لكن لا يدفعك ذلك لتعيين حد مهلة الجلسة لمدة 24 ساعة، أعتقد أن الإعداد الافتراضي هو 20 دقيقة لذلك إذا كنت بحاجة إلى زيادة الوقت فاضبطه لمدة ساعة (وهي 3600 ثانية). فرض تحديث كلمة المرور يوجد في نظام ماجنتو خيارًا لفرض إعادة تعيين كلمة المرور كل 90 يومًا، لا تتردد في تقليل هذا الإطار الزمني ولكن لا تعطله بالتأكيد، إذ يمكن أن يشعر العديد من المستخدمين بالرضا كلما طالت مدة استخدامهم لنفس كلمة المرور، لكن لا تجعل شعورهم بالرضا يكون على حساب أمان متجرك. استخدم عمليات تسجيل الدخول الحساسة لحالة الأحرف ميزة رائعة يمكنك استخدامها للمساعدة في محاربة أي شخص يحاول اقتحام الواجهة الخلفية لنظام Magento أوصيك بتمكينها وذلك لتقليل فرصة تخمين كلمة المرور. إزالة المستخدمين القدامى عندما يغادر أحد أعضاء فريقك غالبًا ما تتغاضى عن إزالة بيانات الاعتماد الخاصة به من نظام ماجنتو، لكن من المفيد التحقق من إزالة جميع إمكانية الوصول إلى جميع المواقع (متجرك الإلكتروني وبوابات الدفع ورسائل البريد الإلكتروني) عندما يكون لديك أحد الموظفين يغادر عملك. التحقق من وجود مستخدمين جدد بصلاحيات مسؤول عندما يخترق شخص متجرك الإلكتروني فلن تلاحظ ذلك على الأغلب وذلك لأن هذا المخترق لن يكون غرضه من هذا الاختراق حذف متجرك بالكامل في سلة المهملات، بل ما سيفعله هو إنشاء حساب مسؤول لنفسه حتى يتمكن من تسجيل الدخول والخروج متى يشاء لسرقة بيانات عملائك. لذا حاول تخصيص روتين شهري لك في تدقيق المستخدمين أصحاب صلاحيات المسؤول في Magento، فإذا وجدت مستخدمًا في غير محله فلا تكتفي بحذف الحساب وتنسى أمره، وبدلاً من ذلك تحرّى الأمر عنه لأنه قد لا يزال بإمكانه إنشاء مستخدم آخر. لا تحفظ كلمة مرورك في برامج FTP إذا سبق لك استخدام برنامج FTP على جهاز حاسوبك لنقل الملفات من وإلى خادم الاستضافة، فسوف يعرض عليك البرنامج حفظ اسم المستخدم وكلمة المرور بداخله. خذ برنامج FileZilla على سبيل المثال، فعندما تُنشئ إشارة مرجعية جديدة باستخدامه يمكنك اختيار ما إذا كنت تريد حفظ كلمة المرور، ولكن عند اختيارك لهذا الأمر فإن البرنامج يخزن كلمة المرور كنص عادي على محرك الأقراص الثابتة. لذلك ضع هذا الأمر في الحسبان خاصة إذا كنت تستخدم جهاز حاسوب مشترك. تفعيل إضافة Security.txt عندما يكتشف الباحثون ثغرات أمنية غالبًا ما تكون قنوات الإبلاغ المناسبة غير متوفرة، ونتيجةً لذلك لن يستطيعوا إبلاغك عن نقاط الضعف الموجودة بمتجرك، لذلك الغرض من ملف security.txt هو تزويد الباحثين الأمنيين بالمعلومات التي يمكنهم استخدامها لإبلاغك عن النتائج التي توصلوا إليها. تحديث نظام Magento يُعد نظام Magento لاعبًا كبيرًا عندما يتعلق الأمر بمنصات التجارة الإلكترونية، وهذا يجعله هدفًا كبيرًا عندما يتعلق الأمر بالأشخاص الذين يكتشفون الثغرات الأمنية، وينظر بعض الناس إلى العثور على هذه الثغرات على أنها هواية أو وظيفة، فيبلغ بعض الأشخاص عن هذه الثغرات إلى Magento ويستغلها آخرون لتحقيق مكاسب خاصة بهم. وبعد إبلاغ Magento بهذه الثغرات تعمل عادةً على إصلاح المشكلة ثم إصدار إعلان حول التصحيح للجميع عند إطلاقه، وهذا يعني أن المخربون سيعرفون الآن هذه الثغرة ويمكنهم البدء في مهاجمة المتاجر التي مازالت تعمل بالإصدار المصاب بهذه الثغرة، وهنا يكمن سبب أهمية تحديث نظام Magento كلما أُعلن عن تصحيح أو ترقية. تحديث إضافات الطرف الثالث في حالة استخدامك لإضافات من جهات خارجية بواسطة مطورين ذوي سمعة طيبة، فهناك احتمال كبير أنهم سيدعمون تلك الإضافات بتحديثات الأمان التي تصدر غالبًا بعد إصدار تحديث لنظام Magento، لكن تكمن المشكلة في عدم إخطارك دائمًا بتلك التحديثات من قِبَل المطورين، وحتى إن أخطروك بتلك التحديثات عن طريق البريد الإلكتروني فقد يُضنف هذا البريد على أنه ترويجي وتتجاهله. لذلك نصيحتي لك هي التحقق من مواقع الويب التي اشتريت منها تلك الإضافات لمعرفة ما إذا كان يوجد تحديث لتلك الإضافة أم لا، ثم اتخذ الإجراءات المناسبة لتحديثها. خاتمة وإلى هنا نكون قد وصلنا إلى نهاية هذا الدرس من هذا الدليل الذي تعرفنا فيه على أهم إجراءات الأمان لنظام ماجنتو، وفي الدرس القادم سوف نتناول إعدادات العملاء وقواعد الضرائب. نتمنى أن يكون هذا الدليل قد أضاف لكم معلومات جديدة ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات. اقرأ أيضًا المقال السابق: إعداد اختباري CAPTCHA وGoogle reCAPTCHA في متجر بنظام ماجنتو إعداد المصادقة الثنائية 2FA في متجر إلكتروني بنظام ماجنتو Magento الإعدادات الأساسية لتكوين متجر إلكتروني بنظام Magento 2
  13. سنتعرف في هذا المقال على نوع جديد من إجراءات الأمان في متجر إلكتروني بنظام ماجنتو Magento عبر استخدام اختبار كابتشا CAPTCHA و اختبار Google reCAPTCHA إعداد اختبار كابتشا CAPTCHA اختبار كابتشا CAPTCHA هو اختبار مرئي يضمن تفاعل الإنسان وليس الحاسوب مع الموقع، وكلمة CAPTCHA هي اختصارًا لـ "Completely Automated Public Turing test to tell Computers and Humans Apart"، ويمكن استخدام هذا الاختيار لتسجيل الدخول إلى حسابات المشرف والعميل. واختبار CAPTCHA قابل للتهيئة بالكامل فيمكنك ضبطه ليعمل في كل مرة تسجل بها الدخول، أو بعد عدد من محاولات تسجيل الدخول الفاشلة فقط. 1. إضافة اختبار CAPTCHA لصفحة المسؤول للحصول على مستوى إضافي من الأمان يمكنك إضافة اختبار CAPTCHA إلى صفحة تسجيل دخول المسؤول وصفحة نسيان كلمة المرور، ويمكن للمستخدمين المسؤولين إعادة تحميل رمز CAPTCHA المعروضة بالنقر فوق أيقونة "إعادة التحميل" عدد مرات غير محدود. ولتهيئة اختبار CAPTCHA للمسؤول اتبع الخطوات التالية: أولاً، انتقل إلى القائمة "المتاجر"، ثم اختر منها "الضبط"، ثم من النافذة التي ستظهر اختر منها "متقدم"، ثم انقر على الخيار "المدير"، ثم انقر على القسم "اختبار CAPTCHA" لتوسعته لعرض الخيارات التي يحتويها. ثانيًا، إليك توضيح لإعدادات هذا القسم، وهي كما يلي: خيار التمكين: يمكنك من خلاله تمكين أو عدم تمكين اختبار CAPTCHA للمسؤول. خيار الخط: يمكنك من خلاله اختيار اسم الخط المراد استخدامه لرموز CAPTCHA وستلاحظ وجود خط واحد متوفر وهو LinLibertine لكن بالطبع يمكنك إضافة خطوط أخرى. خيار النماذج: يمكنك من خلاله تحديد النماذج التي سيظهر بها اختبار CAPTCHA، وافتراضيًا يكون مفعل لنموذج "تسجيل الدخول" ونموذج " نسيان كلمة المرور". خيار وضع العرض: يمكنك من خلاله تحديد إما عرض اختبار CAPTCHA في نموذج تسجيل الدخول دائمًا، أو عرض اختبار CAPTCHA بعد استنفاذ عدد محاولات تسجيل الدخول الفاشلة. خيار عدد المحاولات: يمكنك من خلاله إدخال عدد المحاولات الفاشلة لتسجيل الدخول قبل ظهور اختبار CAPTCHA، وإذا عينت العدد على صفر فسوف يظهر اختبار CAPTCHA دائمًا. خيار مهلة CAPTCHA: يمكنك من خلاله إدخال عدد الدقائق قبل انتهاء صلاحية رمز CAPTCHA، وعند انتهاء صلاحيته يجب على المستخدم إعادة تحميل الصفحة. خيار عدد الرموز: يمكنك من خلاله تحديد عدد الرموز المستخدمة في اختبار CAPTCHA حتى ثمانية رموز لعدد متغير من الرموز التي تتغير مع كل اختبار CAPTCHA. خيار الرموز المستخدمة: يمكنك من خلاله تحديد الرموز التي يمكن استخدامها في اختبار CAPTCHA، يسمح فقط باستخدام الأحرف (a-z أو A-Z) والأرقام (0-9)، وسوف تلاحظ أن مجموعة الأحرف الافتراضية لا تتضمن رموزًا متشابهة مثل I أو 1 وذلك حتى يمكن للمستخدمين التعرف عليها بسهولة للحصول على أفضل النتائج. خيار تحسس حالة الأحرف: يمكنك من خلاله مطالبة المستخدمين بإدخال الأحرف تمامًا كما هو موضح في اختبار CAPTCHA. أخيرًا، لا تنس عند الانتهاء أن تنقر على زر "حفظ" ثم مسح ذاكرة التخزين المؤقت. 2. إضافة اختبار CAPTCHA لصفحات العميل اختبار CAPTCHA للعميل يؤدي نفس وظيفة اختبار CAPTCHA للمسؤول لكن بالواجهة الأمامية للمتجر، ويختلف الاختباران عن بعضهما في أمرين اثنين فقط، وهما: مكان تواجد إعدادات اختبار CAPTCHA للعميل، وللوصول إليه انتقل إلى القائمة "المتاجر"، ثم اختر منها "الضبط"، ثم من النافذة التي ستظهر اختر منها "العملاء"، ثم انقر على الخيار "ضبط العميل"، ثم انقر على القسم "اختبار CAPTCHA" لتوسعته لعرض الخيارات التي يحتويها. عدد النماذج التي يمكن استخدام اختبار CAPTCHA للعميل بها، فاختبار المسؤول كان به نموذجين فقط، أما اختبار العميل فيوجد به عشرة نماذج يمكن استخدام الاختبار بها. إعداد اختبار Google reCAPTCHA يضمن اختبار Google reCAPTCHA أن الإنسان وليس الحاسوب هو من يتفاعل مع متجرك الإلكتروني، فهو يوفر أمانًا محسنًا أفضل من اختبار CAPTCHA المضمن بنظام ماجنتو، فهو يُجري عمليات تحقق دون حدوث خطأ محتمل من المستخدم عند إدخال سلسلة من الأحرف والأرقام، كما أنه يشجع على تحويل العميل إلى عربة التسوق دون عقبات إضافية لإكمال عملية الشراء. ويتحقق Google reCAPTCHA من المستخدمين بأمان متزايد ونقرات منخفضة لكل عملية اختبار، ويمكن تنفيذه بإحدى طريقتين: reCAPTCHA v2 I am not a robot: فهو يتحقق من المستخدمين والعملاء باستخدام ميزة "عند النقر" للتأكد من "أنا لست روبوتًا". reCAPTCHA v3 Invisible: وهو الاختيار الموصى به فهو ينفذ التحقق من المستخدمين والعملاء تلقائيًا دون النقر على أي شيء. ويمكنك استخدام Google reCAPTCHA في صفحة تسجيل دخول المسؤول، وعلى صفحات العملاء المختلفة في واجهة المتجر، ويتطلب لتفعيل Google reCAPTCHA إنشاء زوج من مفاتيح واجهة برمجة التطبيقات API، ويمكنك الحصول على هذه المفاتيح مجانًا من خلال موقع reCAPTCHA، لكن قبل إنشاء هذه المفاتيح ضع في اعتبارك نوع reCAPTCHA الذي تريد استخدامه. وإليك خطوات كيفية تفعيل هذا الاختبار على متجرك، وهي كما يلي: أولًا، من خلال المتصفح انتقل إلى موقع جوجل الخاص باختبار reCAPTCHA، ثم قد يُطلب منك تسجيل الدخول باستخدام حسابك على Gmail. ثانيًا، من الصفحة التي ستظهر لك اكتب اسمًا للاختبار للدلالة عليه في حالة كنت ستنشئ أكثر من مفتاح بنفس عنوان البريد الإلكتروني، ثم حدد نوع اختبار reCAPTCHA الذي تريد تفعيله بمتجرك، ثم اكتب اسم النطاق الخاص بمتجرك بدون البادئة http أو https، ثم اقبل بنود الخدمة، ثم انقر على زر "إرسال" في النهاية. وفي حالة إدخالك للبيانات بطريقة سليمة سوف يُسجل متجرك بنجاح وسوف تعرض لك صفحة التسجل مفتاحي إضافة اختبار Google reCAPTCHA بمتجرك الإلكتروني. ثالثًا، سجل الدخول إلى نظام ماجنتو ثم انتقل إلى القائمة "المتاجر"، ثم اختر منها "الضبط"، ثم من النافذة التي ستظهر اختر منها "الحماية". ويمكنك تفعيل اختبار Google reCAPTCHA للواجهة الخلفية أو الواجهة الأمامية للمتجر أو كلاهما معًا، فقط انقر على أيهما لتوسعتها، وفي حالتنا سوف أفعلها للواجهة الأمامية لأني سأكتفي بمستوى حماية المصادقة الثنائية للواجهة الخلفية. رابعًا، الآن اختر نوع الاختبار المتوافق مع المفاتيح التي أنشأتها بموقع جوجل، فإن أنشأت مفاتيح من نوع الإصدار الثاني لرسالة "I am not a robot" فيجب عليك اختيار نفس الاختبار المتوافق مع هذه المفاتيح، وفي حالتنا لقد أنشأت مفاتيح من نوع Invisible الإصدار الثالث، لذلك سوف أختار الاختبار reCAPTCHA v3 Invisible. بعد ذلك انسخ المفتاحين والصقهم في حقولهم بنظام ماجنتو، ويمكنك ترك باقي الإعدادات كما هي لأنها تخص حجم الاختبار ومكان ظهوره وشكل ظهوره (داكن او عادي) واللغة التي سيعرض بها، وحقل لغة العرض إن تركته فارغًا سيعرض الاختبار بلغة متصفح المستخدم. خامسًا، انتقل إلى قسم "واجهة المتجر" لاختيار النماذج التي تريد تفعيل اختبار Google reCAPTCHA بها، ومن القائمة المنسدلة اختر منها نوع الاختبار المتوافق مع المفاتيح التي أضفتها بالنظام، ولا تنس بعد الانتهاء النقر على زر "حفظ" ثم مسح ذاكرة التخزين المؤقت. وفي حالتنا سوف أُُفَعِّل الاختبار بنموذج اتصل بنا. أخيرًا، انتقل الآن إلى الواجهة الأمامية للمتجر ثم إلى النموذج الذي فعلت به الاختبار لتجربته، في حالتنا سوف أذهب إلى نموذج اتصل بنا وملئه ببعض البيانات وإرسالها لننظر هل ستُرسل بنجاح أم لا. تهانينا، استُلمت رسالة نموذج اتصل بنا بنجاح. بهذا نكون قد تعلمنا فيه كيفية إعداد اختبار كابتشا CAPTCHA واختبار Google reCAPTCHA في متجر إلكتروني يعمل بنظام ماجنتو Magento، من أجل تأمين متجرك. اقرأ أيضًا المقال السابق: إعداد المصادقة الثنائية 2FA في متجر إلكتروني بنظام ماجنتو Magento تركيب شهادة SSL مجانية على خادم متجر إلكتروني بنظام Magento الإعدادات الأساسية لتكوين متجر إلكتروني بنظام Magento 2
  14. تعمل مصادقة Magento ثنائية العامل 2FA على تحسين الأمان من خلال طلب مصادقة من خطوتين للوصول إلى واجهة مستخدم المسؤول أو الواجهة الخلفية للنظام، وتدعم هذه الإضافة العديد من أنواع المصادقات بما في ذلك Google Authenticator و Authy و Duo و U2F، وتطبق المصادقة الثنائية على مستخدمي واجهة المستخدم الإدارية فقط، ولا تنطبق على حسابات العملاء في واجهة المتجر. وسوف نكتفي في شرحنا لإعداد المصادقة الثنائية بتناول كيفية تفعيل مصادقة Google Authenticator، فقط اتبع الخطوات التالية. انتقل إلى القائمة "المتاجر" ثم اختر منها "الضبط"، ثم من النافذة التي ستظهر اختر منها "الحماية"، ثم اختر منها "2FA". لحظة واحدة ماذا تقول؟ أنت لا تستطيع العثور على الخيار 2FA ضمن قائمة الحماية! ملاحظة: أنت لن تجد الخيار 2FA ضمن قائمة الحماية لأننا في الدرس الأول من هذا الدليل بعد أن انتهينا من تثبيت ماجنتو على خادم الاستضافة عطلنا خاصية 2FA حتى نتمكن من تسجيل الدخول إلى الواجهة الخلفية للنظام، لذلك نحن في حاجة إلى إعادة تفعيل هذه الخاصية مرةً أخرى. 1. تفعيل خاصية المصادقة الثنائية 2FA أولاً، سجل الخروج من الواجهة الخلفية للنظام. ثانيًا، افتح موجه الأوامر ثم اكتب المسار الخاص بمجلد مشروع ماجنتو كما يلي: cd اكتب هنا مسار مجلد المشروع ثالثًا، اكتب الأمر التالي لتفعيل خاصية 2FA: sudo php bin/magento module:enable Magento_TwoFactorAuth أخيرًا، سجل الدخول إلى الواجهة الخلفية للنظام مرةً أخرى. ستتلقى رسالة خطأ مفادها أن النظام فشل في إرسال البريد الذي يحتوي على مفتاح المصادقة وبالتالي أنت لا تستطيع الوصول إلى الواجهة الخلفية! نعم بالفعل هذا أمر طبيعي، فنظام ماجنتو وظيفته إنشاء متاجر إلكترونية، ووظيفة إرسال البريد الإلكتروني للعملاء والمستخدمين ليست من اختصاصه، لذلك نحن في حاجة إلى طريقة تُمكننا من جعل نظام ماجنتو يُرسل رسائل البريد الإلكتروني. 2. تثبيت إضافة SMTP لكي نتمكن من جعل نظام ماجنتو يرسل بريدًا إلكترونيًا يجب أن نضيف له عنوان خادم SMTP ورقم المنفذ ونوع الحماية الخاصين به وبيانات تسجيل الدخول لعنوان البريد الإلكتروني الذي سيتولى عملية إرسال البريد، وكل ما سبق غير متاح افتراضيًا بنظام ماجنتو. للتغلب على هذه المشكلة أقدم لك هذه الإضافة المجانية المقدمة من متجر Magplaza، فهي تمكنك من ضبط جميع الإعدادات التي ذكرناها، كما أنها تدعم العديد من خوادم SMTP الشهيرة مثل Gmail و Hotmail و Yahoo أو يمكنك استخدام إعدادات خادم SMTP مخصص، فقط اتبع الخطوات التالية: أولاً، نحتاج في البداية إلى تعطيل خاصية 2FA مرةً أخرى حتى نستطيع تسجيل الدخول للواجهة الخلفية لتثبيت الإضافة، وذلك بكتابة الأمر التالي: sudo php bin/magento module:disable Magento_TwoFactorAuth ثانيًا، انقر على رابط الإضافة الذي ذكرناه بالأعلى لينقلك إلى متجر Magplaza لتنفيذ عملية شراء الإضافة، ولا تقلق من كلمة "شراء" فأنت لن تدفع أي شيء ولن تحتاج إلى تقديم أي بيانات مالية للحصول على الإضافة، فقط تحتاج لتسجيل الدخول إلى المتجر من خلال حسابك على Gmail أو Facebook. ثالثًا، بعد إتمام عملية شراء الإضافة اذهب إلى صفحة حسابك على المتجر ثم انقر على "My Licenses" ومن النافذة التي ستظهر انسخ مفتاح الترخيص. رابعًا، الآن افتح موجه الأوامر ثم اكتب المسار الخاص بمجلد مشروع ماجنتو، وبعد ذلك اكتب الأمر المجمع التالي لتثبيت الإضافة بنظام ماجنتو: sudo composer require mageplaza/module-smtp && sudo php bin/magento setup:upgrade && sudo php bin/magento setup:static-content:deploy -f خامسًا، سجل الدخول إلى الواجهة الخلفية ثم انتقل إلى القائمة "المتاجر"، ستلاحظ وجود قائمة جديدة باسم "SMTP" فاختر منها "الضبط". سادسًا، سنحتاج في البداية إلى تفعيل هذه الإضافة من خلال نسخ مفتاح الترخيص من متجر Magpalza كما أشرنا في الخطوة الثالثة، ثم لصق هذا المفتاح في الحقل "Register Name"، ثم في حقل "Register Email" يمكنك كتابة أي عنوان بريد إلكتروني، ثم انقر على زر "Activate Now". سابعًا، انتقل إلى القسم التالي "General Configuration" ومن الحقل "Enable Mageplaza SMTP" حدد الخيار "نعم"، وبالنسبة لباقي الخيارات بهذا القسم هي اختيارية. ثامنًا، انتقل إلى القسم التالي "SMTP Configuration Options" فمن خلال هذا القسم ستتمكن من إضافة عنوان خادم إرسال البريد SMTP ورقم المنفذ ونوع الحماية الخاصين به وبيانات تسجيل الدخول لعنوان البريد الإلكتروني الذي سيتولى مهمة إرسال البريد الإلكتروني. فإن كنت ستستخدم عنوان بريد إلكتروني من Gmail أو Hotmail أو Yahoo وأنت لا تعرف البيانات الخاصة بخادم SMTP، فقط انقر على زر "Load Settings" الموجود بجوار الحقل "المضيف" كما هو موضح بالصورة السابقة، لتظهر لك قائمة بها أغلب مزودي خدمة البريد الإلكتروني. فقط حدد اسم مزود الخدمة لتظهر لك البيانات الخاصة به، ثم انقر على زر "Load Settings" لإضافتها بالحقول. الآن من الحقل "Authentication" حدد الخيار "LOGIN"، ثم أدخل عنوان البريد الإلكتروني الذي سيتولى مهمة إرسال البريد الإلكتروني وكلمة المرور الخاصة به، وبالنسبة للحقل "مسار العودة" إن تركته فارغًا سيصبح البريد الذي ترسله غير قابل للرد عليه "no-reply". تاسعًا، دعونا الآن نختبر عملية إرسال البريد الإلكتروني، من خلال القسم "Send Test Email" حدد عنوان البريد الإلكتروني الذي سيظهر كبريد مستقبل، وافتراضيًا الأداة تختار وسيلة الاتصال العامة لذلك تأكد من ضبط إعداداتها جيدًا كما وضحنا في درس سابق حتى لا تفشل عملية الإرسال. الآن انقر على زر "Test Now" لإرسال بريد الاختبار، ومن المفترض أن تحصل على نتيجة إرسال ناجحة كما يلي: عاشرًا، انتقل إلى حساب البريد الإلكتروني لترى هل وصل إليه بريد الاختبار أم لا. أخيرًا، احفظ الإعدادات ثم امسح ذاكرة التخزين المؤقتة. تنويه: في حالة استخدامك خادم استضافة محلي كما في حالتنا فقد تفشل الإضافة في عملية الاتصال بمزودي خدمة البريد الإلكتروني الذين لا يسمحون بوصول التطبيقات الأقل أمانًا لحسابات عملائهم مثل جوجل، لذلك استخدمنا مزود خدمة يسمح بوصول التطبيقات الأقل أمانًا في شرحنا، أما في حالة استخدامك لخادم استضافة عام مثبت به شهادة SSL فسوف تعمل الإضافة مع أي مزود خدمة للبريد الإلكتروني. 3. إعادة تفعيل خاصية المصادقة الثنائية 2FA بعد أن نجحنا في جعل نظام ماجنتو أن يرسل بريد إلكتروني للمستخدمين والعملاء مما سيمكننا من استلام البريد الذي يحتوي على مفتاح المصادقة الثنائية، دعونا الآن نعيد الكرة مرةً أخرى لنرى هل سننجح في استخدام خاصية 2FA أم ستواجهنا مشاكل جديدة. سجل الخروج من الواجهة الخلفية للنظام، ثم توجه إلى موجه الأوامر واكتب مسار مجلد مشروع ماجنتو، ثم اكتب الأمر الخاص بتفعيل خاصية 2FA الذي ذكرناه سابقًا، ثم سجل الدخول إلى الواجهة الخلفية. قد نحصل على رسالة خطأ مفادها أن هناك هناك خطأ في معالجة طلبك. ولكنها رسالة خطأ مبهمة، لا توضح لنا بالتحديد ما الخطأ الذي حدث لكي نحاول معالجته، لذلك يجب علينا أن نجعل ماجنتو يعرض رسالة الخطأ بطريقة مفصلة، وذلك باتباع الخطوات التالية: أولاً، من داخل مجلد مشروع ماجنتو اذهب إلى الملف "local.xml.sample" الموجود بالمسار التالي: pub/errors ثم عدل اسم الملف ليصبح "local.xml". ثانيًا، الآن انتقل إلى المتصفح وأعد تسجيل الدخول إلى الواجهة الخلفية مرة أخرى، ستجد أن نظام ماجنتو يخبرنا هذه المرة بأن الجدول الخاص بأداة المصادقة الثنائية غير موجود بقاعدة البيانات. ولحل هذه المشكلة انتقل إلى موجه الأوامر ثم اكتب مسار مجلد مشروع ماجنتو، ثم اكتب الأربعة أوامر المجمعة التالية لإعادة نشر ملفات العرض الثابتة، ترقية وفهرسة قاعدة البيانات، مسح ذاكرة التخزين المؤقتة: sudo php bin/magento setup:upgrade && sudo php bin/magento setup:static-content:deploy -f && sudo php bin/magento indexer:reindex && sudo php bin/magento cache:flush ثالثًا، انتقل مرةً أخرى إلى المتصفح ثم أعد تسجيل الدخول إلى الواجهة الخلفية، ستجد أن نظام ماجنتو يخبرك أنه أرسل بريد إلكتروني إلى عنوان البريد المسجل في بيانات حساب المستخدم، يحتوي على رابط به مفتاح المصادقة لتسجيل الدخول للواجهة الخلفية. أخيرًا، انتقل إلى حساب البريد الإلكتروني المسجل في بيانات حساب المستخدم للإطلاع على الرابط المرسل من نظام ماجنتو لتفعيل المصادقة الثنائية. تنويه: في حالة إن كنت تستخدم خادم استضافة محلي يجب عليك فتح الرابط من داخل الخادم حتى يعمل، لأنك إن فتحت الرابط من أي جهاز آخر لن يعمل. تحذير: بخصوص ملف "local.xml" يجب عليك إعادته إلى تسميته الأصلية بعد انتهائك، لأن وجوده بهذا الشكل يُعد ثغرة أمنية قد يستغلها القراصنة. توضيح: يترتب على نجاحك في جعل نظام ماجنتو يرسل بريد إلكتروني أن متجرك الإلكتروني أصبح قادرًا على استلام الرسائل من جميع نماذج نظام ماجنتو، مثل: نموذج "اتصل بنا" ونموذج "إعادة تعيين كلمة المرور" ونموذج "تسجيل الاشتراك" والفواتير والشحن. 4. استخدام تطبيق Google Authenticator بعد وصول الرابط الذي يحتوي على مفتاح المصادقة الثنائية إلى البريد الإلكتروني بنجاح، نحتاج الآن إلى تثبيت تطبيق Google Authenticator على هاتفك الذكي باتباع الخطوات التالية: أولاً، حمل التطبيق مباشرة من متجر جوجل أو من متجر آبل لتثبيته على هاتفك. ثانيًا، افتح التطبيق ثم انقر على زر "البدء"، ومن النافذة التالية انقر على "مسح رمز استجابة سريعة". ثالثًا، افتح الرابط الذي وصلك بالبريد الإلكتروني، ومن النافذة التي ستظهر حدد الخيار Google Authenticator ثم انقر على زر "تطبيق". أخيرًا، وجه كاميرا هاتفك الذكي إلى رمز الباركود الذي ظهر لك بعد النقر على الرابط، وسوف يعرض لك تطبيق Google Authenticator رمز مكون من 6 أرقام، اكتبهم في حقل المصادقة ثم انقر على زر "تأكيد". تهانينا، لقد نجحت في تفعيل خاصية المصادقة الثنائية 2FA وتسجيل الدخول إلى الواجهة الخلفية. اقرأ أيضًا المقال السابق: تركيب شهادة SSL مجانية على خادم متجر إلكتروني بنظام Magento إنشاء عناصر واجهات المستخدمين المخصصة على الماجنتو 2 الإعدادات الأساسية لتكوين متجر إلكتروني بنظام Magento 2
  15. مرحبًا بك في الدرس الثالث من سلسلة دروس بناء متجر إلكتروني متعدد اللغات بنظام Magento 2، ولمن فاته الدرس السابق، فقد تعرفنا فيه على كيفية إنشاء واجهة عرض باللغة العربية وأخرى باللغة الإنجليزية للمتجر، ثم تعلمنا كيفية تثبيت حزمة اللغة العربية لنظام ماجنتو وكيفية التغلب على مشكلة عدم اكتمال الترجمة العربية للنظام؛ كما تعلمنا كيفية إنشاء قوائم الإبحار وترجمتها للعربية وكيفية التغلب على مشكلة اتجاه العرض بالواجهة العربية للمتجر، وتعلمنا أيضًا كيفية ضبط الإعدادات الأساسية التي تساعد في تشكيل بنية المتجر. أما في هذا المقال فسنتعرف على كيفية تركيب شهادة أمان SSL مجانية على خادم الاستضافة. هل تحتاج إلى تركيب شهادة SSL على متجرك الإلكتروني؟ نحن نعلم أن معظم مواقع الويب تُجمِّع معلومات من مستخدميها، سواءً كان ذلك من خلال نماذج الاتصال، أو اشتراكات الرسائل الإخبارية أو المبيعات عبر الإنترنت، وفي حالة حدوث معاملات بيع عبر الإنترنت على موقعك، فإن آخر شيء تريده هو قيام طرف ثالث بسرقة بيانات بطاقة ائتمان عملائك أو معلوماتهم الشخصية الأخرى. هنا يأتي دور طبقة مآخذ التوصيل الآمنة SSL، فهي بروتوكول أمان ينشئ اتصالاً مشفرًا بين خادم الاستضافة والمتصفح، مما يوفر اتصالاً آمنًا ويمنع الأطراف الثالثة من الوصول إلى المعلومات المنقولة أو تعديلها. والحصول على شهادة SSL لا تساعد في ضمان حماية بيانات العملاء فحسب، بل تعمل أيضًا على تحسين موقعك الإلكتروني على نتائج محركات البحث، وبناء الثقة مع عملائك، لذلك يجب أن يكون تثبيت شهادة SSL أولوية قصوى لدى الجميع، فمن الضروري توفير تجربة تصفح خالية من القلق لجميع زوار الموقع. يمكنك الحصول على شهادة SSL من أحد مزودي خدمة الاستضافة أو مزودي خدمة حجز اسم النطاق في مقابل اشتراك سنوي، لكن نحن في هذا الدرس سنقدم لك طريقة للحصول على هذه الشهادة مجانًا وستحتاح إلى تجديدها كل 90 يومًا. وقبل أن نبدأ في سرد خطوات تثبيت شهادة SSL ستحتاج إلى تعطيل جدار الحماية الخاص بخادم الاستضافة للسماح للأداة التي سنستخدمها بالوصول إلى الخادم وتثبيت الشهادة، وستحتاج إلى تنفيذ هذا الإجراء في كل مرة تُجَدِّد فيها هذه الشهادة. تنويه: الخطوات التي سأسردها تصلح فقط مع الاستضافة المرتبطة باسم نطاق حقيقي ومسجل، فإن كنت تستخدم استضافة محلية وغير مرتبطة باسم نطاق مسجل فلن تنجح في استخدام هذه الطريقة. 1. تسجيل اسم النطاق وتكوين سجلات DNS لن نتطرق في هذا الدرس إلى كيفية شراء اسم نطاق لمتجرك الإلكتروني أو إلى كيفية تكوين سجلات DNS لربط عنوان IP خادم الاستضافة باسم النطاق، نحن نذكر هذه الخطوة للتأكيد على التسلسل الصحيح لنجاح عملية تثبيت شهادة SSL. 2. ربط اسم النطاق بنظام ماجنتو تنويه: انتبه جيدًا عند كتابة اسم النطاق الخاص بك في إعدادات ماجنتو لأنه سوف يترتب على كتابة حرف واحد خطأ باسم النطاق أن تفقد الوصول إلى الواجهة الخلفية للنظام، مما يضطرك أن تلجأ إلى phpMyAdmin لاستعادته، وهو أمر مؤلم حقًا. بعد تسجيل اسم النطاق وتكوين سجلات DNS لربط عنوان IP خادم الاستضافة باسم النطاق، ستحتاج إلى ربط اسم النطاق بمتجرك الإلكتروني من خلال نظام ماجنتو. فكما ذكرنا في الدرس السابق أنه عند تثبيت نظام ماجنتو مع عدم تحديد اسم النطاق له، سوف يستخدم افتراضيًا عنوان IP الخاص بخادم الاستضافة بدلًا من اسم النطاق، مما يترتب عليه ظهور عنوان IP الخادم في شريط العنوان بالمتصفح بدلاً من اسم النطاق. ولتنفيذ عملية ربط اسم النطاق بنظام ماجنتو فقط انتقل إلى القائمة "المتاجر" ثم اختر منها "الضبط"، ثم من النافذة التي ستظهر اختر منها "الويب" ثم انقر على الخيار "الروابط الأساسية" ثم استبدل عنوان IP في حقل "عنوان URL الأساسي" وحقل "عنوان URL للارتباط الأساسي" باسم النطاق الخاص بك، وتأكد من وضع علامة الشرطة المائلة "/" في نهاية اسم النطاق، ثم في النهاية انقر على "حفظ". 3. تثبيت حزمة Certbot يدور كل شيء نحن على وشك القيام به حول حزمة تسمى Certbot، فهي تساعد في تثبيت شهادات SSL وإعدادها وصيانتها. لذلك إن أول شيء علينا فعله بعد تسجيل الدخول إلى خادم الاستضافة هو إضافة مستودع Certbot حتى يتمكن نظام التشغيل Ubuntu من العثور على الحزمة عند تشغيل أوامر التثبيت، ولتنفيذ ذلك فقط أدخل الأمر التالي: sudo add-apt-repository ppa:certbot/certbot الآن نحن بحاجة إلى تحديث مكتبة مستودعات نظام التشغيل أوبنتو Ubuntu وذلك من خلال تشغيل الأمر التالي: sudo apt-get update بعد تنفيذ الخطوتين السابقتين، يمكنك الآن تثبيت حزمة Certbot وذلك من خلال تشغيل الأمر التالي: sudo apt-get install python-certbot-apache -y 4. إعداد حزمة Certbot حان الوقت الآن لإعداد حزمة Certbot، وهو أمر بسيط حقًا على نظام التشغيل أوبنتو فمن خلال اسم النطاق المسجل الذي ربطته بخادم الاستضافة، وفي حالتنا اسم النطاق هو "bedding.store.com"، نحن على استعداد لتثبيت شهادة الأمان SSL عن طريق معالج إعداد حزمة Certbot وذلك من خلال تشغيل الأمر التالي: sudo certbot --apache -d اكتب هنا اسم النطاق الآن بمجرد النقر على مفتاح Enter سيُطلب منك التالي: إدخال عنوان بريد إلكتروني لإرسال التنبيهات الهامة إليك من خلاله. التحقق من موافقتك على شروط الخدمة، وذلك بالنقر على مفتاح A للموافقة أو النقر على مفتاح C للرفض. طلب الانضمام إلى النشرة الإخبارية، فيمكنك النقر على مفتاح Y للقبول، أو النقر على مفتاح N للرفض. بعد ذلك سيسألك عما إذا كنت تريد تهيئة خادم Apache لإعادة توجيه جميع زيارات HTTP تلقائيًا إلى HTTPS أم لا. في الوضع الطبيعي سيكون الخيار "2" هو الخيار الأفضل بأن تجعل الخادم يفرض إعادة توجيه جميع الزيارات إلى HTTPS، ومع ذلك لا ننصحك بتفعيل هذا الخيار مع نظام ماجنتو لأنه افتراضيًا يفرض إعادة توجيه جميع الزيارات إلى HTTP، فينتهي بك الأمر مع حلقة مغلقة من إعادة التوجيه بين الخادم ونظام ماجنتو، وظهور رسالة "خطأ في إعادة التوجيه" بالمتصفح. لذلك ننصحك بتحديد الخيار "1" حتى لا يفرض الخادم إعادة توجيه الزيارات، وسوف نضبطها لاحقًا من خلال نظام ماجنتو، ومن المفترض أن تُعرض لك رسالة "تهنئة" على نجاحك في إعداد حزمة Certbot. 5. اختبار التجديد التلقائي لشهادة الأمان تأتي حزمة Certbot على نظامك مزودة بوظيفة cron أو مؤقت يعمل على تجديد شهاداتك تلقائيًا قبل انتهاء صلاحيتها، ولن تحتاج إلى تشغيل أوامر Certbot مرةً أخرى إلا إذا غيرت التكوين الخاص بك. ويمكنك اختبار التجديد التلقائي لشهاداتك عن طريق تشغيل هذا الأمر: sudo certbot renew --dry-run يؤدي هذا الأمر إلى إجراء بعض الاختبارات للتأكد من أن Certbot يعمل بشكل صحيح، مما يؤدي إلى ظهور رسالة "تهانينا" مرة أخرى، وفي حالة لم يكن الأمر كذلك فستنتهي صلاحية شهادة SSL بعد 90 يومًا. 6. إعداد نظام ماجنتو في هذه المرحلة نكون قد انتهينا من العمل على موجه سطر الأوامر، سجل الدخول إلى نظام ماجنتو ثم انتقل إلى القائمة "المتاجر" ثم اختر منها "الضبط"، ثم من النافذة التي ستظهر اختر منها "الويب" ثم انقر على الخيار "الروابط الأساسية مؤمن". أول شيء أريدك التحقق منه هو أن الحقل "عنوان URL الأساسي الآمن" والحقل "عنوان URL الآمن للارتباط الأساسي" يحتويان على بادئة HTTPS، لأن هذا هو عنوان URL الذي سيُستخدم بمجرد تمكين عناوين URL الآمنة. بعد ذلك انتقل إلى الأسفل قليلاً حتى تصل إلى الحقل "استخدم عناوين URL الآمنة في واجهة المتجر" والحقل "استخدم عناوين URL الآمنة في المسؤول" ثم حدد الخيار فيهما من "لا" إلى "نعم". الآن سيظهر لك حقلان جديدان، الحقل الأول "تفعيل أمان نقل HTTP الصارم" والحقل الثاني "ترقية الطلبات غير الآمنة"، حدد الخيار فيهما من "لا" إلى "نعم" حتى يفرض نظام ماجنتو إعادة توجيه جميع زيارات HTTP تلقائيًا إلى HTTPS. في النهاية احفظ الإعدادات، ثم امسح ذاكرة التخزين المؤقت. 7. التأكد من عمل شهادة الأمان الآن لكي تتأكد من أن حزمة Certbot قد ثبتت شهادة الأمان دون مشاكل، فقط اذهب إلى المتصفح ثم اكتب اسم النطاق الخاص بمتجرك الإلكتروني، سوف تلاحظ أن أن اسم النطاق أصبح يحتوي على بادئة HTTPS، بالإضافة إلى وجود رمز القفل مما يؤكد تثبيت شهادة SSL صالحة. بهذا نكون قد تعلمنا فيه كيفية تركيب شهادة أمان SSL مجانية على خادم الاستضافة في متجر إلكتروني يعمل بنظام ماجنتو Magento. اقرأ أيضًا المقال السابق: الإعدادات الأساسية لتكوين متجر إلكتروني بنظام Magento 2 الإعدادات الأساسيّة لمتجر ماجنتو – الجزء الأوّل كيفية تثبيت شهادة SSL من سلطة شهادات تجارية: المفاهيم الأساسية
×
×
  • أضف...