Destacanos en GitHub: ¡nos motiva mucho!
¡Aimeos es EL paquete de comercio electrónico Laravel profesional, completo y ultrarrápido! Puede instalarlo en su aplicación Laravel existente en 5 minutos y puede adaptar, ampliar, sobrescribir y personalizar cualquier cosa según sus necesidades.
Aimeos es un paquete de comercio electrónico con todas las funciones:
... y más funciones de Aimeos
Idiomas soportados:
Mira las demostraciones:
Si desea configurar una nueva aplicación o probar Aimeos, le recomendamos la distribución de la tienda Aimeos. Contiene todo lo necesario para un inicio rápido y obtendrá una tienda online completamente funcional en menos de 5 minutos:
Distribución tienda Aimeos
Si desea crear una aplicación de una sola página (SPA) o una aplicación web progresiva (PWA) usted mismo y no necesita la interfaz HTML de Aimeos, entonces la distribución sin cabeza de Aimeos es la opción correcta:
Distribución sin cabeza de Aimeos
Actualmente, los paquetes de Aimeos Laravel 2023.10 y posteriores son totalmente compatibles:
Si desea actualizar entre versiones principales, consulte la guía de actualización.
La distribución en tienda Aimeos requiere:
Si faltan las extensiones PHP requeridas, composer
le informará sobre las dependencias que faltan.
Si desea actualizar entre versiones principales, consulte la guía de actualización.
Asegúrese de haber creado la base de datos con anticipación y haber agregado la configuración al archivo .env
en el directorio de su aplicación. A veces, el uso del archivo .env genera problemas y obtendrá excepciones de que falló la conexión a la base de datos. En ese caso, agregue también las credenciales de la base de datos a la sección recurso/db de su archivo ./config/shop.php .
Si no tiene instalado al menos MySQL 5.7.8 o MariaDB 10.2.2, probablemente recibirá un error como
Specified key was too long; max key length is 767 bytes
Para evitar este problema, elimine las nuevas tablas, si se han creado alguna, y cambie la configuración del conjunto de caracteres/intercalación en ./config/database.php
a estos valores antes de instalar Aimeos nuevamente:
' connections ' => [
' mysql ' => [
// ...
' charset ' => ' utf8 ' ,
' collation ' => ' utf8_unicode_ci ' ,
// ...
]
]
Precaución: ¡Asegúrese también de que su servidor MySQL cree tablas InnoDB de forma predeterminada, ya que las tablas MyISAM no funcionarán y generarán un error de restricción de clave externa!
Si desea utilizar un servidor de base de datos que no sea MySQL, consulte el artículo sobre servidores de bases de datos compatibles y su configuración específica. Los compatibles son:
Asegúrese de utilizar uno de los servidores de bases de datos compatibles en su archivo .env
, por ejemplo:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=aimeos
DB_USERNAME=root
DB_PASSWORD=
Precaución: ¡ La base de datos SQLite configurada de forma predeterminada NO es compatible!
El paquete de la tienda en línea Aimeos Laravel es una biblioteca basada en compositores. Se puede instalar más fácilmente usando Composer 2.1+ en el directorio raíz de su aplicación Laravel existente:
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
Luego, agregue estas líneas al compositor.json de la aplicación esqueleto de 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 "
],
...
}
Luego, instale el paquete de la tienda Aimeos usando
php composer update -W
En el último paso, ahora debe ejecutar estos comandos artesanales para obtener una instalación de Aimeos que funcione o esté actualizada:
php artisan vendor:publish --tag=config --tag=public
php artisan migrate
php artisan aimeos:setup --option=setup/default/demo:1
En un entorno de producción o si no desea que se instalen los datos de demostración, omita la opción --option=setup/default/demo:1
.
Tienes que configurar uno de los kits de inicio de autenticación de Laravel. Laravel Breeze es el más fácil pero también puedes usar Jetstream.
composer require laravel/breeze
php artisan breeze:install
npm install && npm run build # if not executed automatically by the previous command
Laravel Breeze te hará algunas preguntas, la más importante es el tipo de pila que deseas utilizar. Selecciona "Blade" (es la forma más fácil) y usa los valores predeterminados para los demás.
También agrega una ruta para /profile
a ./routes/web.php
que puede sobrescribir la ruta aimeos_shop_account
. Para evitar una excepción por la falta de una ruta aimeos_shop_account
, cambie la URL de estas líneas del archivo ./routes/web.php
de /profile
a /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 ' );
});
Para obtener más información, siga la documentación de Laravel:
Como último paso, debe extender el método boot()
de su clase AppProvidersAppServiceProvider
y agregar las líneas para definir cómo se verifica la autorización para "admin" en 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 );
});
}
Pruebe si su configuración de autenticación funciona antes de continuar. Cree una cuenta de administrador para su aplicación Laravel para poder iniciar sesión en la interfaz de administración de Aimeos:
php artisan aimeos:account --super < email >
La dirección de correo electrónico es el nombre de usuario para iniciar sesión y la cuenta también funcionará para la interfaz. Para proteger la nueva cuenta, el comando le pedirá una contraseña. El mismo comando puede crear cuentas limitadas usando --admin
, --editor
o --api
en lugar de --super
(acceso a todo).
Para hacer referencia a las imágenes correctamente, debe adaptar su archivo .env
y configurar APP_URL
a su URL real, por ejemplo
APP_URL=http://127.0.0.1:8000
Precaución: ¡Asegúrese de que Laravel utilice el controlador de sesión file
en su archivo .env
! De lo contrario, el contenido de la cesta de la compra no se almacenará correctamente.
SESSION_DRIVER=file
Si su servidor web no puede escribir en su directorio ./public
, debe crear estos directorios:
mkdir public/aimeos public/vendor
chmod 777 public/aimeos public/vendor
En un entorno de producción, ¡debe ser más específico acerca de los permisos otorgados!
Luego, debería poder acceder a la página de lista de catálogos en su navegador. Para un inicio rápido, puede utilizar el servidor web integrado. Simplemente ejecute este comando en el directorio base de su aplicación:
php artisan serve
Apunte su navegador a la página de lista de la tienda usando:
Nota: La integración del paquete Aimeos agrega algunas rutas como /shop
o /admin
a su instalación de Laravel, ¡pero la página de inicio permanece intacta! Si también desea agregar Aimeos a la página de inicio, reemplace la ruta para "/" en ./routes/web.php
por esta línea:
Route:: group ([ ' middleware ' => [ ' web ' ]], function () {
Route:: get ( ' / ' , ' AimeosShopControllerCatalogController@homeAction ' )-> name ( ' aimeos_home ' );
});
Para configuraciones de múltiples proveedores, lea el artículo sobre múltiples tiendas.
Esto mostrará el componente de inicio del catálogo de Aimeos en la página de inicio y obtendrá una bonita página de inicio de la tienda que se verá así:
Si aún ha iniciado el servidor web PHP interno ( php artisan serve
), ahora debería abrir esta URL en su navegador:
http://127.0.0.1:8000/admin
Ingrese la dirección de correo electrónico y la contraseña del usuario recién creado y presione "Iniciar sesión". Si no es redirigido a la interfaz de administración (eso depende del código de autenticación que haya creado según la documentación de Laravel), apunte su navegador a la URL /admin
nuevamente.
Precaución: ¡Asegúrese de no haber iniciado sesión como usuario no administrador! En este caso, iniciar sesión no funcionará porque Laravel requiere que cierres sesión primero.
Para simplificar el desarrollo, debe configurarlo para que no utilice caché de contenido. Puedes hacer esto en el archivo config/shop.php
de tu aplicación Laravel agregando estas líneas en la parte inferior:
' madmin ' => [
' cache ' => [
' manager ' => [
' name ' => ' None ' ,
],
],
],
El paquete Aimeos Laravel tiene la licencia según los términos de la licencia MIT y está disponible de forma gratuita.