Starn Sie uns auf GitHub – das motiviert uns sehr!
Aimeos ist DAS professionelle, voll ausgestattete und ultraschnelle Laravel-E-Commerce-Paket! Sie können es innerhalb von 5 Minuten in Ihrer bestehenden Laravel-Anwendung installieren und alles an Ihre Bedürfnisse anpassen, erweitern, überschreiben und anpassen.
Aimeos ist ein E-Commerce-Paket mit vollem Funktionsumfang:
... und weitere Aimeos-Funktionen
Unterstützte Sprachen:
Schauen Sie sich die Demos an:
Wenn Sie eine neue Anwendung einrichten oder Aimeos testen möchten, empfehlen wir Ihnen den Aimeos-Shop-Vertrieb. Es enthält alles für einen schnellen Start und Sie erhalten in weniger als 5 Minuten einen voll funktionsfähigen Online-Shop:
Aimeos-Shop-Vertrieb
Wenn Sie eine Single Page Application (SPA) bzw. eine Progressive Web Application (PWA) selbst erstellen möchten und das Aimeos HTML-Frontend nicht benötigen, dann ist die Headless-Distribution von Aimeos die richtige Wahl:
Headless-Verteilung von Aimeos
Derzeit werden die Aimeos Laravel-Pakete 2023.10 und höher vollständig unterstützt:
Wenn Sie zwischen Hauptversionen upgraden möchten, werfen Sie bitte einen Blick in die Upgrade-Anleitung!
Für den Aimeos-Shop-Vertrieb ist Folgendes erforderlich:
Wenn erforderliche PHP-Erweiterungen fehlen, informiert Sie composer
über die fehlenden Abhängigkeiten.
Wenn Sie zwischen Hauptversionen upgraden möchten, werfen Sie bitte einen Blick in die Upgrade-Anleitung!
Stellen Sie sicher, dass Sie die Datenbank im Voraus erstellt und die Konfiguration zur .env
Datei in Ihrem Anwendungsverzeichnis hinzugefügt haben. Manchmal führt die Verwendung der .env-Datei zu Problemen und Sie erhalten Ausnahmen, dass die Verbindung zur Datenbank fehlgeschlagen ist. Fügen Sie in diesem Fall auch die Datenbankanmeldeinformationen zum Abschnitt „resource/db“ Ihrer Datei ./config/shop.php hinzu!
Wenn Sie nicht mindestens MySQL 5.7.8 oder MariaDB 10.2.2 installiert haben, erhalten Sie wahrscheinlich eine Fehlermeldung wie
Specified key was too long; max key length is 767 bytes
Um dieses Problem zu umgehen, löschen Sie die neuen Tabellen, sofern welche erstellt wurden, und ändern Sie die Zeichensatz-/Sortierungseinstellung in ./config/database.php
auf diese Werte, bevor Sie Aimeos erneut installieren:
' connections ' => [
' mysql ' => [
// ...
' charset ' => ' utf8 ' ,
' collation ' => ' utf8_unicode_ci ' ,
// ...
]
]
Achtung: Stellen Sie außerdem sicher, dass Ihr MySQL-Server standardmäßig InnoDB -Tabellen erstellt, da MyISAM -Tabellen nicht funktionieren und zu einem Fremdschlüsseleinschränkungsfehler führen!
Wenn Sie einen anderen Datenbankserver als MySQL verwenden möchten, lesen Sie bitte den Artikel über unterstützte Datenbankserver und deren spezifische Konfiguration. Unterstützt werden:
Stellen Sie sicher, dass Sie einen der unterstützten Datenbankserver in Ihrer .env
Datei verwenden, z. B.:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=aimeos
DB_USERNAME=root
DB_PASSWORD=
Achtung: Die standardmäßig konfigurierte SQLite-Datenbank wird NICHT unterstützt!
Das Aimeos Laravel Online-Shop-Paket ist eine Composer-basierte Bibliothek. Die Installation erfolgt am einfachsten mit Composer 2.1+ im Stammverzeichnis Ihrer vorhandenen Laravel-Anwendung:
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
Fügen Sie dann diese Zeilen zur Composer.json der Laravel-Skelettanwendung hinzu:
"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 "
],
...
}
Anschließend installieren Sie das Aimeos-Shop-Paket mit
php composer update -W
Im letzten Schritt müssen Sie nun diese Handwerkerbefehle ausführen, um eine funktionierende oder aktualisierte Aimeos-Installation zu erhalten:
php artisan vendor:publish --tag=config --tag=public
php artisan migrate
php artisan aimeos:setup --option=setup/default/demo:1
In einer Produktionsumgebung oder wenn Sie nicht möchten, dass die Demodaten installiert werden, lassen Sie die Option --option=setup/default/demo:1
weg.
Sie müssen eines der Authentifizierungs-Starterkits von Laravel einrichten. Laravel Breeze ist am einfachsten, Sie können aber auch Jetstream verwenden.
composer require laravel/breeze
php artisan breeze:install
npm install && npm run build # if not executed automatically by the previous command
Laravel Breeze wird Ihnen ein paar Fragen stellen, die wichtigste ist die Art des Stacks, den Sie verwenden möchten. Wählen Sie „Blade“ (das ist der einfachste Weg) und verwenden Sie die Standardwerte für die anderen.
Außerdem wird eine Route für /profile
zu ./routes/web.php
hinzugefügt, die möglicherweise die Route aimeos_shop_account
überschreibt. Um eine Ausnahme wegen einer fehlenden Route aimeos_shop_account
zu vermeiden, ändern Sie die URL für diese Zeilen aus der Datei ./routes/web.php
von /profile
in /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 ' );
});
Weitere Informationen finden Sie in der Laravel-Dokumentation:
Als letzten Schritt müssen Sie die boot()
Methode Ihrer AppProvidersAppServiceProvider
Klasse erweitern und die Zeilen hinzufügen, um zu definieren, wie die Autorisierung für „admin“ in app/Providers/AppServiceProvider.php
überprüft wird:
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 );
});
}
Testen Sie, ob Ihre Authentifizierungseinrichtung funktioniert, bevor Sie fortfahren. Erstellen Sie ein Administratorkonto für Ihre Laravel-Anwendung, damit Sie sich bei der Aimeos-Administratoroberfläche anmelden können:
php artisan aimeos:account --super < email >
Die E-Mail-Adresse ist der Benutzername für die Anmeldung und das Konto funktioniert auch für das Frontend. Um das neue Konto zu schützen, werden Sie vom Befehl nach einem Passwort gefragt. Derselbe Befehl kann eingeschränkte Konten erstellen, indem er --admin
, --editor
oder --api
anstelle von --super
(Zugriff auf alles) verwendet.
Um Bilder korrekt zu referenzieren, müssen Sie Ihre .env
Datei anpassen und die APP_URL
auf Ihre echte URL setzen, z. B
APP_URL=http://127.0.0.1:8000
Achtung: Stellen Sie sicher, dass Laravel den file
in Ihrer .env
Datei verwendet! Andernfalls wird der Warenkorbinhalt nicht korrekt gespeichert!
SESSION_DRIVER=file
Wenn Ihr Webserver nicht auf Ihr ./public
schreiben kann, müssen Sie diese Verzeichnisse erstellen:
mkdir public/aimeos public/vendor
chmod 777 public/aimeos public/vendor
In einer Produktionsumgebung sollten Sie die gewährten Berechtigungen genauer angeben!
Anschließend sollten Sie die Kataloglistenseite in Ihrem Browser aufrufen können. Für einen schnellen Einstieg können Sie den integrierten Webserver nutzen. Führen Sie einfach diesen Befehl im Basisverzeichnis Ihrer Anwendung aus:
php artisan serve
Richten Sie Ihren Browser auf die Listenseite des Shops, indem Sie Folgendes verwenden:
Hinweis: Durch die Integration des Aimeos-Pakets werden Ihrer Laravel-Installation einige Routen wie /shop
oder /admin
hinzugefügt, die Startseite bleibt jedoch unberührt! Wenn Sie Aimeos auch zur Startseite hinzufügen möchten, ersetzen Sie die Route für „/“ in ./routes/web.php
durch diese Zeile:
Route:: group ([ ' middleware ' => [ ' web ' ]], function () {
Route:: get ( ' / ' , ' AimeosShopControllerCatalogController@homeAction ' )-> name ( ' aimeos_home ' );
});
Für Multi-Vendor-Setups lesen Sie den Artikel über mehrere Shops.
Dadurch wird die Home-Komponente des Aimeos-Katalogs auf der Homepage angezeigt. Sie erhalten eine gut aussehende Shop-Homepage, die wie folgt aussieht:
Wenn Sie den internen PHP-Webserver ( php artisan serve
) noch gestartet haben, sollten Sie nun diese URL in Ihrem Browser öffnen:
http://127.0.0.1:8000/admin
Geben Sie die E-Mail-Adresse und das Passwort des neu angelegten Benutzers ein und klicken Sie auf „Anmelden“. Wenn Sie nicht zur Admin-Oberfläche weitergeleitet werden (das hängt vom Authentifizierungscode ab, den Sie gemäß der Laravel-Dokumentation erstellt haben), verweisen Sie Ihren Browser erneut auf die URL /admin
.
Achtung: Stellen Sie sicher, dass Sie nicht bereits als Nicht-Admin-Benutzer angemeldet sind! In diesem Fall funktioniert die Anmeldung nicht, da Sie sich bei Laravel zunächst abmelden müssen.
Um die Entwicklung zu vereinfachen, sollten Sie so konfigurieren, dass kein Inhaltscache verwendet wird. Sie können dies in der Datei config/shop.php
Ihrer Laravel-Anwendung tun, indem Sie unten diese Zeilen hinzufügen:
' madmin ' => [
' cache ' => [
' manager ' => [
' name ' => ' None ' ,
],
],
],
Das Aimeos Laravel-Paket unterliegt den Bedingungen der MIT-Lizenz und ist kostenlos erhältlich.