قم بتمييزنا بنجمة على GitHub - فهذا يحفزنا كثيرًا!
Aimeos هي حزمة التجارة الإلكترونية Laravel الاحترافية، كاملة المواصفات والسريعة للغاية! يمكنك تثبيته في تطبيق Laravel الموجود لديك في غضون 5 دقائق ويمكنك تعديل أي شيء وتوسيعه واستبداله وتخصيصه حسب احتياجاتك.
Aimeos عبارة عن حزمة تجارة إلكترونية كاملة المواصفات:
... والمزيد من ميزات Aimeos
اللغات المدعومة:
تحقق من العروض التوضيحية:
إذا كنت ترغب في إعداد تطبيق جديد أو اختبار Aimeos، نوصي بتوزيع متجر Aimeos. فهو يحتوي على كل شيء لبداية سريعة وستحصل على متجر إلكتروني يعمل بكامل طاقته في أقل من 5 دقائق:
توزيع متجر ايميوس
إذا كنت ترغب في إنشاء تطبيق صفحة واحدة (SPA) على التوالي تطبيق ويب تقدمي (PWA) بنفسك ولا تحتاج إلى واجهة Aimeos HTML الأمامية، فإن توزيع Aimeos بدون رأس هو الخيار الصحيح:
توزيع Aimeos مقطوعة الرأس
حاليًا، حزم Aimeos Laravel 2023.10 والإصدارات الأحدث مدعومة بالكامل:
إذا كنت ترغب في الترقية بين الإصدارات الرئيسية، يرجى إلقاء نظرة على دليل الترقية!
يتطلب توزيع متجر Aimeos ما يلي:
إذا كانت ملحقات PHP المطلوبة مفقودة، فسيخبرك composer
بالتبعيات المفقودة.
إذا كنت ترغب في الترقية بين الإصدارات الرئيسية، يرجى إلقاء نظرة على دليل الترقية!
تأكد من أنك قمت بإنشاء قاعدة البيانات مسبقًا وإضافة التكوين إلى ملف .env
في دليل التطبيق الخاص بك. في بعض الأحيان، يؤدي استخدام ملف .env إلى حدوث مشكلات وستحصل على استثناءات بسبب فشل الاتصال بقاعدة البيانات. في هذه الحالة، أضف بيانات اعتماد قاعدة البيانات إلى قسم Resources/db في ملف ./config/shop.php الخاص بك أيضًا!
إذا لم يكن لديك MySQL 5.7.8 أو MariaDB 10.2.2 مثبتًا على الأقل، فمن المحتمل أن تحصل على خطأ مثل
Specified key was too long; max key length is 767 bytes
للتحايل على هذه المشكلة، قم بإسقاط الجداول الجديدة إذا تم إنشاء أي منها وقم بتغيير إعداد مجموعة الأحرف/الترتيب في ./config/database.php
إلى هذه القيم قبل تثبيت Aimeos مرة أخرى:
' connections ' => [
' mysql ' => [
// ...
' charset ' => ' utf8 ' ,
' collation ' => ' utf8_unicode_ci ' ,
// ...
]
]
تنبيه: تأكد أيضًا من أن خادم MySQL الخاص بك يقوم بإنشاء جداول InnoDB افتراضيًا لأن جداول MyISAM لن تعمل وستؤدي إلى خطأ في قيد المفتاح الخارجي!
إذا كنت تريد استخدام خادم قاعدة بيانات آخر غير MySQL، فيرجى إلقاء نظرة على المقالة حول خوادم قواعد البيانات المدعومة وتكوينها المحدد. المدعومة هي:
تأكد من استخدام أحد خوادم قواعد البيانات المدعومة في ملف .env
الخاص بك، على سبيل المثال:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=aimeos
DB_USERNAME=root
DB_PASSWORD=
تنبيه: قاعدة بيانات SQLite التي تم تكوينها افتراضيًا غير مدعومة!
حزمة متجر Aimeos Laravel عبر الإنترنت عبارة عن مكتبة قائمة على الملحنين. يمكن تثبيته بسهولة باستخدام Composer 2.1+ في الدليل الجذر لتطبيق Laravel الموجود لديك:
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
ثم قم بإضافة هذه السطور إلى Composer.json لتطبيق Laravel الهيكلي :
"prefer-stable" : true ,
"minimum-stability" : " dev " ,
"require" : {
"aimeos/aimeos-laravel" : " ~2024.10 " ,
...
},
"scripts" : {
"post-update-cmd" : [
" @php artisan vendor:publish --tag=laravel-assets --ansi --force " ,
" @php artisan vendor:publish --tag=public --ansi " ,
" \ Aimeos \ Shop \ Composer::join "
],
...
}
بعد ذلك، قم بتثبيت حزمة متجر Aimeos باستخدام
php composer update -W
في الخطوة الأخيرة، يجب عليك الآن تنفيذ هذه الأوامر الحرفية للحصول على تثبيت Aimeos فعال أو محدث:
php artisan vendor:publish --tag=config --tag=public
php artisan migrate
php artisan aimeos:setup --option=setup/default/demo:1
في بيئة الإنتاج أو إذا كنت لا تريد تثبيت البيانات التجريبية، فاترك الخيار --option=setup/default/demo:1
.
يتعين عليك إعداد إحدى مجموعات أدوات المصادقة الخاصة بـ Laravel. Laravel Breeze هو الأسهل ولكن يمكنك أيضًا استخدام Jetstream.
composer require laravel/breeze
php artisan breeze:install
npm install && npm run build # if not executed automatically by the previous command
سوف يطرح عليك Laravel Breeze بعض الأسئلة، أهمها هو نوع المكدس الذي تريد استخدامه. حدد "Blade" (إنها الطريقة الأسهل) واستخدم القيم الافتراضية للآخرين.
كما أنه يضيف مسارًا لـ /profile
إلى ./routes/web.php
والذي قد يحل محل مسار aimeos_shop_account
. لتجنب حدوث استثناء بشأن مسار aimeos_shop_account
المفقود، قم بتغيير عنوان URL لهذه السطور من ملف ./routes/web.php
من /profile
إلى /profile/me
:
Route:: middleware ( ' auth ' )-> group ( function () {
Route:: get ( ' /profile/me ' , [ProfileController::class, ' edit ' ])-> name ( ' profile.edit ' );
Route:: patch ( ' /profile/me ' , [ProfileController::class, ' update ' ])-> name ( ' profile.update ' );
Route:: delete ( ' /profile/me ' , [ProfileController::class, ' destroy ' ])-> name ( ' profile.destroy ' );
});
لمزيد من المعلومات، يرجى اتباع وثائق Laravel:
كخطوة أخيرة، تحتاج إلى توسيع طريقة boot()
لفئة AppProvidersAppServiceProvider
وإضافة السطور لتحديد كيفية التحقق من ترخيص "admin" في app/Providers/AppServiceProvider.php
:
public function boot ()
{
// Keep the lines before
Illuminate Support Facades Gate:: define ( ' admin ' , function ( $ user , $ class , $ roles ) {
if ( isset ( $ user -> superuser ) && $ user -> superuser ) {
return true ;
}
return app ( ' AimeosShopBaseSupport ' )-> checkUserGroup ( $ user , $ roles );
});
}
اختبر ما إذا كان إعداد المصادقة الخاص بك يعمل قبل المتابعة. قم بإنشاء حساب مسؤول لتطبيق Laravel الخاص بك حتى تتمكن من تسجيل الدخول إلى واجهة إدارة Aimeos:
php artisan aimeos:account --super < email >
عنوان البريد الإلكتروني هو اسم المستخدم لتسجيل الدخول وسيعمل الحساب للواجهة الأمامية أيضًا. لحماية الحساب الجديد، سيطلب منك الأمر كلمة مرور. يمكن لنفس الأمر إنشاء حسابات محدودة باستخدام --admin
أو --editor
أو --api
بدلاً من --super
(الوصول إلى كل شيء).
للإشارة إلى الصور بشكل صحيح، يجب عليك تكييف ملف .env
الخاص بك وتعيين APP_URL
على عنوان URL الحقيقي الخاص بك، على سبيل المثال
APP_URL=http://127.0.0.1:8000
تحذير: تأكد من أن Laravel يستخدم برنامج تشغيل جلسة file
في ملف .env
الخاص بك! وإلا فلن يتم تخزين محتوى سلة التسوق بشكل صحيح!
SESSION_DRIVER=file
إذا كان دليلك ./public
غير قابل للكتابة بواسطة خادم الويب الخاص بك، فيجب عليك إنشاء هذه الدلائل:
mkdir public/aimeos public/vendor
chmod 777 public/aimeos public/vendor
في بيئة الإنتاج، يجب أن تكون أكثر تحديدًا بشأن الأذونات الممنوحة!
بعد ذلك، يجب أن تكون قادرًا على الاتصال بصفحة قائمة الكتالوج في متصفحك. لبداية سريعة، يمكنك استخدام خادم الويب المدمج. ما عليك سوى تنفيذ هذا الأمر في الدليل الأساسي لتطبيقك:
php artisan serve
قم بتوجيه متصفحك إلى صفحة قائمة المتجر باستخدام:
ملاحظة: يؤدي دمج حزمة Aimeos إلى إضافة بعض المسارات مثل /shop
أو /admin
إلى تثبيت Laravel الخاص بك ولكن الصفحة الرئيسية تظل كما هي! إذا كنت تريد إضافة Aimeos إلى الصفحة الرئيسية أيضًا، فاستبدل المسار لـ "/" في ./routes/web.php
بهذا السطر:
Route:: group ([ ' middleware ' => [ ' web ' ]], function () {
Route:: get ( ' / ' , ' AimeosShopControllerCatalogController@homeAction ' )-> name ( ' aimeos_home ' );
});
بالنسبة لإعدادات البائعين المتعددين، اقرأ المقالة حول المتاجر المتعددة.
سيؤدي هذا إلى عرض المكون الرئيسي لكتالوج Aimeos على الصفحة الرئيسية، وستحصل على صفحة رئيسية جميلة المظهر للمتجر والتي ستبدو كما يلي:
إذا كنت لا تزال تقوم بتشغيل خادم الويب PHP الداخلي ( php artisan serve
) فيجب عليك الآن فتح عنوان URL هذا في متصفحك:
http://127.0.0.1:8000/admin
أدخل عنوان البريد الإلكتروني وكلمة المرور للمستخدم الذي تم إنشاؤه حديثًا واضغط على "تسجيل الدخول". إذا لم تتم إعادة توجيهك إلى واجهة المسؤول (يعتمد ذلك على رمز المصادقة الذي قمت بإنشائه وفقًا لوثائق Laravel)، فقم بتوجيه متصفحك إلى عنوان URL /admin
مرة أخرى.
تنبيه: تأكد من أنك لم تقم بتسجيل الدخول بالفعل كمستخدم غير إداري! في هذه الحالة، لن يعمل تسجيل الدخول لأن Laravel يتطلب منك تسجيل الخروج أولاً.
لتبسيط عملية التطوير، يجب عليك التهيئة بحيث لا تستخدم ذاكرة تخزين مؤقت للمحتوى. يمكنك القيام بذلك في ملف config/shop.php
الخاص بتطبيق Laravel الخاص بك عن طريق إضافة هذه الأسطر في الأسفل:
' madmin ' => [
' cache ' => [
' manager ' => [
' name ' => ' None ' ,
],
],
],
حزمة Aimeos Laravel مرخصة بموجب شروط ترخيص MIT وهي متاحة مجانًا.