ติดดาวเราบน GitHub — มันสร้างแรงบันดาลใจให้เรามาก!
Aimeos เป็นแพ็คเกจอีคอมเมิร์ซ Laravel ระดับมืออาชีพที่มีคุณสมบัติครบถ้วนและรวดเร็วเป็นพิเศษ! คุณสามารถติดตั้งลงในแอปพลิเคชัน Laravel ที่คุณมีอยู่ได้ภายใน 5 นาที และสามารถปรับเปลี่ยน ขยาย เขียนทับ และปรับแต่งอะไรก็ได้ตามความต้องการของคุณ
Aimeos เป็นแพ็คเกจอีคอมเมิร์ซที่มีคุณสมบัติครบถ้วน:
... และคุณสมบัติอื่นๆ ของ Aimeos
ภาษาที่รองรับ:
ตรวจสอบการสาธิต:
หากคุณต้องการตั้งค่าแอปพลิเคชันใหม่หรือทดสอบ Aimeos เราขอแนะนำร้านค้าตัวแทนจำหน่ายของ Aimeos มันมีทุกสิ่งสำหรับการเริ่มต้นอย่างรวดเร็ว และคุณจะได้ร้านค้าออนไลน์ที่ใช้งานได้เต็มรูปแบบภายในเวลาไม่ถึง 5 นาที:
จัดจำหน่ายร้าน Aimeos
หากคุณต้องการสร้างแอปพลิเคชันหน้าเดียว (SPA) ตามลำดับเป็นโปรเกรสซีฟเว็บแอปพลิเคชัน (PWA) ด้วยตัวเอง และไม่ต้องการส่วนหน้า Aimeos HTML การกระจายแบบไม่มีส่วนหัวของ Aimeos คือตัวเลือกที่เหมาะสม:
Aimeos การกระจายหัวขาด
ปัจจุบัน แพ็คเกจ Aimeos Laravel 2023.10 และใหม่กว่า ได้รับการรองรับโดยสมบูรณ์:
หากคุณต้องการอัปเกรดระหว่างเวอร์ชันหลัก โปรดดูคู่มือการอัปเกรด!
การกระจายสินค้าในร้าน Aimeos ต้องการ:
หากไม่มีส่วนขยาย PHP ที่จำเป็น composer
จะแจ้งให้คุณทราบเกี่ยวกับการพึ่งพาที่ขาดหายไป
หากคุณต้องการอัปเกรดระหว่างเวอร์ชันหลัก โปรดดูคู่มือการอัปเกรด!
ตรวจสอบให้แน่ใจว่าคุณได้ สร้างฐานข้อมูล ล่วงหน้าและเพิ่มการกำหนดค่าลงในไฟล์ .env
ในไดเร็กทอรีแอปพลิเคชันของคุณ บางครั้ง การใช้ไฟล์ .env อาจทำให้เกิดปัญหา และคุณจะได้รับข้อยกเว้นว่าการเชื่อมต่อกับฐานข้อมูลล้มเหลว ในกรณีนั้น ให้เพิ่มข้อมูลประจำตัวฐานข้อมูลไปยัง ส่วนทรัพยากร/ฐานข้อมูลของไฟล์ ./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
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) ให้ชี้เบราว์เซอร์ของคุณไปที่ /admin
URL อีกครั้ง
ข้อควรระวัง: ตรวจสอบให้แน่ใจว่าคุณยังไม่ได้เข้าสู่ระบบในฐานะผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ! ในกรณีนี้ การเข้าสู่ระบบจะไม่ทำงานเนื่องจาก Laravel ต้องการให้คุณออกจากระบบก่อน
เพื่อให้การพัฒนาง่ายขึ้น คุณควรกำหนดค่าให้ไม่ใช้แคชเนื้อหา คุณสามารถทำได้ในไฟล์ config/shop.php
ของแอปพลิเคชัน Laravel ของคุณโดยเพิ่มบรรทัดเหล่านี้ที่ด้านล่าง:
' madmin ' => [
' cache ' => [
' manager ' => [
' name ' => ' None ' ,
],
],
],
แพ็คเกจ Aimeos Laravel ได้รับอนุญาตภายใต้เงื่อนไขของใบอนุญาต MIT และให้บริการฟรี