Bintangi kami di GitHub — ini sangat memotivasi kami!
Aimeos adalah paket ecommerce Laravel yang profesional, berfitur lengkap, dan sangat cepat! Anda dapat menginstalnya di aplikasi Laravel yang ada dalam waktu 5 menit dan dapat mengadaptasi, memperluas, menimpa, dan menyesuaikan apa pun sesuai kebutuhan Anda.
Aimeos adalah paket e-commerce berfitur lengkap:
... dan lebih banyak fitur Aimeos
Bahasa yang didukung:
Lihat demonya:
Jika Anda ingin menyiapkan aplikasi baru atau menguji Aimeos, kami merekomendasikan distribusi toko Aimeos. Ini berisi segalanya untuk memulai dengan cepat dan Anda akan mendapatkan toko online yang berfungsi penuh dalam waktu kurang dari 5 menit:
Distribusi toko Aimeos
Jika Anda ingin membangun sendiri aplikasi satu halaman (SPA) dan aplikasi web progresif (PWA) dan tidak memerlukan frontend HTML Aimeos, maka distribusi headless Aimeos adalah pilihan yang tepat:
Distribusi tanpa kepala Aimeos
Saat ini, paket Aimeos Laravel 2023.10 dan yang lebih baru didukung penuh:
Jika Anda ingin melakukan upgrade antar versi utama, silakan lihat panduan upgrade!
Distribusi toko Aimeos membutuhkan:
Jika ekstensi PHP yang diperlukan tidak ada, composer
akan memberi tahu Anda tentang dependensi yang hilang.
Jika Anda ingin melakukan upgrade antar versi utama, silakan lihat panduan upgrade!
Pastikan Anda telah membuat database terlebih dahulu dan menambahkan konfigurasi ke file .env
di direktori aplikasi Anda. Terkadang, penggunaan file .env menimbulkan masalah dan Anda akan mendapatkan pengecualian bahwa koneksi ke database gagal. Dalam hal ini, tambahkan juga kredensial database ke bagian resource/db pada file ./config/shop.php Anda !
Jika Anda belum menginstal setidaknya MySQL 5.7.8 atau MariaDB 10.2.2, Anda mungkin akan mendapatkan kesalahan seperti
Specified key was too long; max key length is 767 bytes
Untuk menghindari masalah ini, hapus tabel baru jika sudah ada yang dibuat dan ubah pengaturan charset/collation di ./config/database.php
ke nilai berikut sebelum menginstal Aimeos lagi:
' connections ' => [
' mysql ' => [
// ...
' charset ' => ' utf8 ' ,
' collation ' => ' utf8_unicode_ci ' ,
// ...
]
]
Perhatian: Pastikan juga server MySQL Anda membuat tabel InnoDB secara default karena tabel MyISAM tidak akan berfungsi dan akan mengakibatkan kesalahan batasan kunci asing!
Jika Anda ingin menggunakan server database selain MySQL, silakan lihat artikel tentang server database yang didukung dan konfigurasi spesifiknya. Yang didukung adalah:
Pastikan, Anda menggunakan salah satu server database yang didukung di file .env
Anda, misalnya:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=aimeos
DB_USERNAME=root
DB_PASSWORD=
Perhatian: Database SQLite yang dikonfigurasi secara default TIDAK didukung!
Paket toko online Aimeos Laravel adalah perpustakaan berbasis komposer. Ini dapat diinstal paling mudah dengan menggunakan Composer 2.1+ di direktori root aplikasi Laravel Anda yang sudah ada:
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
Kemudian, tambahkan baris berikut ke composer.json dari aplikasi kerangka 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 "
],
...
}
Setelah itu, instal paket toko Aimeos menggunakan
php composer update -W
Pada langkah terakhir, Anda sekarang harus menjalankan perintah artisan ini untuk mendapatkan instalasi Aimeos yang berfungsi atau diperbarui:
php artisan vendor:publish --tag=config --tag=public
php artisan migrate
php artisan aimeos:setup --option=setup/default/demo:1
Dalam lingkungan produksi atau jika Anda tidak ingin data demo diinstal, tinggalkan opsi --option=setup/default/demo:1
.
Anda harus menyiapkan salah satu starter kit otentikasi Laravel. Laravel Breeze adalah yang paling mudah tetapi Anda juga bisa menggunakan Jetstream.
composer require laravel/breeze
php artisan breeze:install
npm install && npm run build # if not executed automatically by the previous command
Laravel Breeze akan menanyakan beberapa pertanyaan kepada Anda, yang paling penting adalah jenis tumpukan yang ingin Anda gunakan. Pilih "Blade" (ini cara termudah) dan gunakan nilai default untuk yang lain.
Itu juga menambahkan rute untuk /profile
ke ./routes/web.php
yang mungkin menimpa rute aimeos_shop_account
. Untuk menghindari pengecualian tentang rute aimeos_shop_account
yang hilang, ubah URL untuk baris berikut dari file ./routes/web.php
dari /profile
ke /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 ' );
});
Untuk informasi lebih lanjut, silakan ikuti dokumentasi Laravel:
Sebagai langkah terakhir, Anda perlu memperluas metode boot()
kelas AppProvidersAppServiceProvider
Anda dan menambahkan baris untuk menentukan bagaimana otorisasi untuk "admin" diperiksa di 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 );
});
}
Uji apakah pengaturan autentikasi Anda berfungsi sebelum Anda melanjutkan. Buat akun admin untuk aplikasi Laravel Anda sehingga Anda dapat masuk ke antarmuka admin Aimeos:
php artisan aimeos:account --super < email >
Alamat email adalah nama pengguna untuk login dan akun juga dapat digunakan untuk frontend. Untuk melindungi akun baru, perintah akan meminta Anda memasukkan kata sandi. Perintah yang sama dapat membuat akun terbatas dengan menggunakan --admin
, --editor
atau --api
alih-alih --super
(akses ke semuanya).
Untuk mereferensikan gambar dengan benar, Anda harus menyesuaikan file .env
dan mengatur APP_URL
ke URL asli Anda, misalnya
APP_URL=http://127.0.0.1:8000
Perhatian: Pastikan, Laravel menggunakan file
session driver di file .env
Anda! Jika tidak, isi keranjang belanja tidak akan disimpan dengan benar!
SESSION_DRIVER=file
Jika direktori ./public
Anda tidak dapat ditulis oleh server web, Anda harus membuat direktori berikut:
mkdir public/aimeos public/vendor
chmod 777 public/aimeos public/vendor
Dalam lingkungan produksi, Anda harus lebih spesifik tentang izin yang diberikan!
Kemudian, Anda seharusnya dapat memanggil halaman daftar katalog di browser Anda. Untuk memulai dengan cepat, Anda dapat menggunakan server web terintegrasi. Cukup jalankan perintah ini di direktori dasar aplikasi Anda:
php artisan serve
Arahkan browser Anda ke halaman daftar toko menggunakan:
Catatan: Mengintegrasikan paket Aimeos menambahkan beberapa rute seperti /shop
atau /admin
ke instalasi Laravel Anda tetapi halaman beranda tetap tidak tersentuh! Jika Anda ingin menambahkan Aimeos ke halaman beranda juga, ganti rute untuk "/" di ./routes/web.php
dengan baris ini:
Route:: group ([ ' middleware ' => [ ' web ' ]], function () {
Route:: get ( ' / ' , ' AimeosShopControllerCatalogController@homeAction ' )-> name ( ' aimeos_home ' );
});
Untuk pengaturan multi-vendor, baca artikel tentang beberapa toko.
Ini akan menampilkan komponen beranda katalog Aimeos di halaman beranda. Anda akan mendapatkan halaman beranda toko yang tampak bagus yang akan terlihat seperti ini:
Jika Anda masih memulai server web PHP internal ( php artisan serve
), sekarang Anda harus membuka URL ini di browser Anda:
http://127.0.0.1:8000/admin
Masukkan alamat email dan kata sandi pengguna yang baru dibuat dan tekan "Masuk". Jika Anda tidak dialihkan ke antarmuka admin (itu tergantung pada kode otentikasi yang Anda buat sesuai dengan dokumentasi Laravel), arahkan browser Anda ke URL /admin
lagi.
Perhatian: Pastikan Anda belum masuk sebagai pengguna non-admin! Dalam hal ini, login tidak akan berfungsi karena Laravel mengharuskan Anda untuk logout terlebih dahulu.
Untuk menyederhanakan pengembangan, Anda harus mengonfigurasi agar tidak menggunakan cache konten. Anda dapat melakukan ini di file config/shop.php
aplikasi Laravel Anda dengan menambahkan baris berikut di bagian bawah:
' madmin ' => [
' cache ' => [
' manager ' => [
' name ' => ' None ' ,
],
],
],
Paket Aimeos Laravel dilisensikan berdasarkan ketentuan lisensi MIT dan tersedia secara gratis.