التركيبة البرمجية الأساسية لنظام ماجنتو

متابعي مدونة مينا كودرز الأعزاء، لكي تبدأ رحلة تطوير المتاجر الالكترونية باستخدام نظام ماجنتو فإن أول خطوة عليك فعلها هي الإلمام بتركيبة نظام الماجنتو البرمجية وفهمها لتتمكن من بدء رحلة التطوير بشكل سليم أو يكون لديك حس معرفي بالنظام ككل.

سنقوم بشرح التركيبية الاساسيه بشكل مختصر ولكن عزيزي المتابع إقرا بعناية

قبل أن تبدأ:

قبل أن تبدأ رحلة التطوير من الواجب عليك أن تعرف التالي:
لغة البرمجة المستخدمة لبرمجة نظام ماجنتو وهي لغة php
إطار العمل المستخدم في برمجة نظام ماجنتو هو إطار Zend

بعد أن تعرفنا على أساس النظام دعنا نتعرف على

التركيبة الأساسية للنظام من ناحية المجلدات والملفات.

عند تحميلك لأي إصدار من ماجنتو 2 ستلاحظ المجلدات التالية، وإليك نبذة مختصرة عن كل مجلد.

App -1 وهو المجلد الذي يحتوي على ملفات القوالب -الثيمات- أو ملفات الموديولات -الإضافات- وغيرها

ويندرج تحت هذا المجلد 4 مجلدات كالتالي:

  • Code هذا المجلد يندرج أسفله ملفات الموديولات -الإضافات-، اسفله أيضاً نقوم بانشاء الموديولات الخاصة بنا.
  • Design هذا المجلد يندرج أسفله ملفات القوالب -الثيمات-، أو يمكنك أيضاً بإمكاننا انشاء قالبنا الخاص فيه.
  • Etc هذا المجلد يحتوى على ملف الاتصال بقاعدة البيانات php أوملف يحتوى على الموديولات المنصبة على النظام config.php
  • I18n هذا المجلد نقوم أسفله بإدراج ملفات اللغات مثلاً حزمة اللغة العربية أو حزمة لغة خاصة بنا.

2- Bin يحتوي بداخله على الملف الذي نقوم باستخدامه لتنفيذ أوامر الماجنتو.

3- Dev هذا المجلد يحتوى على سكربتات الفحص الخاصة بالماجنتو.

4- Lib يحتوي هذا المجلد على ملفات مكتبة الماجنتو.

5- Pub يحتوي هذا المجلد على الملفات الستاتيكية لمتجر الماجنتو إضافةً الى مكتبة الصور.

Static -6 يحتوي على الملفات الستاتيكية للقوالب والتي قمنا بتوليدها باستخدام أمر deploy في ماجنتو.

7- Media هذا المجلد يحتوي على مكتبة الصور (صور المنتجات، أو صور التصنيفات، او صور أخرى قمنا برفعها من خلال لوحة الماجنتو)

Errors -8 هذا المجلد يحتوي على سجلات الأخطاء.

Var -9 يحتوي هذا المجلد على كافة الملفات المؤقتة.

Cache -10 يحتوى على ملفات الكاش الخاصة بصفحات المتجر الأمامية.

Log -11 يحتوي على سجلات الأخطاء الخاصة بنظام ماجنتو.

Report -12 يحتوي على ملفات الأخطاء التي تظهر في صفحة خطأ رمز 503 او ملفات أخطاء الapi.

Session -13 يحتوي على ملفات جلسات العملاء والأعضاء.

View_preprocessed -14 يحتوى على ملفات الثيم التي تم توليدها بشكل مؤقت.

Generation -15 في نسخ ماجنتو 1 يحتوى على ملفات الphp التي تم توليدها وفي نسخ ماجنتو 2.2 تم نقله الى مجلد خارجي اسمه generated

Vendor -16 يحتوى على ملفات إطار العمل الأساسية للماجنتو، أيضاً يوجد به بعض الموديولات التي تم تنزيلها باستخدام composer

Generated -17 نفس مجلد generation الموجود داخل مجلد var ويوجد في نسخ ماجنتو 2 فأعلى.

التركيبة البرمجية لموديولات -إضافات- الماجنتو

وفقاً لما شرحنا بالأعلى فإن ملفات الموديولات يتم اضافتها في مجلد code الموجود داخل مجلد app

أيضاً من الممكن ان تكون الموديولات داخل مجلد vendor اذا تم تنزيلها باستخدام composer
الموديول نفسه يحتوي على مجلد أساسي وأسفله مجلد فرعي وأسفل المجلد الفرعي توجد ملفات الموديول مقسمة على مجلدات معينة.

حيث أن طريقة كتابة اسم الموديول تتم وفق التالي Vendor_ModuleName أو
حيث Vendor هو اسم المجلد الأساسي للموديول -بامكانك تسميته كما ترغب في حال كنت تنشئ موديول جديد-

في شرحنا هذا سنعتمد أن اسم المجلد الأساسي للموديول هو Magar واسم المجلد الفرعي All
ويكون اسم الموديول Magar_All

وللدخول الي ملفات الموديول يكون المسار كالتالي app > code > Magar > All

الان لنأتي الى المجلدات والملفات الموجودة داخل مجلد الموديول All

  • Etc مجلد أساسي يجب ان يكون موجود في الموديول، أو يحتوي على ملفات اعدادات الموديول.
  • Block مجلد يحتوى على ملفات البلوك وتكون بصيغة php
  • Model مجلد يحتوى على ملفات الموديل وتكون بصيغة php
  • Controller مجلد يحتوى على ملفات الكونترولز وتكون بصيغة php
  • Helper يحتوي على ملفات مساعدة تكون بصيغة php
  • Console يحتوي على ملفات php بداخلها كلاسات نستخدمها في تنفيذ أوامر الماجنتو bin/magento
  • Api يحتوى على ملفات الApi الخاصة بالموديول
  • Observer يحتوى على ملفات php للمراقبة.
  • I18n يحتوى على ملفات اللغات والترجمات الخاصة بالموديول.
  • Setup يحتوى على ملفات php لتنصيب متعلقات الموديول مثلاً انشاء جداول او إضافة حقول بداخل قاعدة البيانات.
  • Plugins يحتوي على ملفات الإضافات plugins وتكون بصيغة php.
  • Ui يحتوي على ملفات الcomponents مثل الازرار والحقول وغيرها وتكون بصيغة xml.
  • registeration.php ملف أساسي يتم من خلاله تعريف الموديول وتسجيله في نظام ماجنتو.
  • View مجلد يحتوي على ملفات css و html و phtml و js -ملفات التصميم-

التركيبة البرمجية لثيمات -قوالب- الماجنتو

كما شرحنا مسبقاً فإن قوالب الماجنتو يتم وضعها بداخل مجلد Design الموجود بداخل مجلد app
نفس طريقة تسمية الموديول يتم اتباعها في تسمية القالب Theme_ThemeName

حيث تتواجد ملفات الثيم أسفل مجلد ThemeName

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

  • لنفترض أن الموديول الأساسي الذي نرغب بإعادة تصميمه هو Magento_Catalog
  • نقوم بنسخ ملفات الموديول الأساسي او الملف الphtml الذي نرغب بإعادة تصميمه الى نفس المسار أسفل قالبنا ويكون المسار Theme/ThemeName/Magento_Catalog/view/tempaltes/name.phtml

أما بخصوص باقي الملفات التي يجب أن تتواجد في القالب فهي كالتالي:

  • Etc مجلد يحتوي على اعدادات الثيم ويكون اسمه بالغالب xml
  • Media في هذا المجلد نقوم بوضع الصور او الفيديوهات التي نستخدمها في قالبنا.
  • Web هذا المجلد يحتوي على ملفات التنسيق والخطوط css/js/fonts
  • xml هذا الملف يجب أن يكون موجود في ملفات القالب ويحتوي على اسم القالب أو القالب الأب له.
  • Reguirejs-config.js هذا الملف يحتوي على استدعاءات ملفات الjs الأساسية.
  • registeration.php هذا الملف يستخدم لتسجيل الثيم.

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

طريق التعلم ممتعه ولكن لابد ان يكون لديك شغف التعلم أو لديك حس معرفي بالمجال.

نرجو أن تكون الفكرة العامة لتركيبة نظام ماجنتو قد وصلتكم بالشكل الكافي, أو إن كان هناك استفسارات أخرى يرجى مراسلتنا عبر موقعنا الرسمي

سنتحدث قريباً عن كيفية انشاء موديول وكيفية انشاء قالب باذن الله.

أطيب التحيات نتمناها لكم.