Marque-nos no GitHub - isso nos motiva muito!
Aimeos é O pacote de comércio eletrônico Laravel profissional, completo e ultrarrápido! Você pode instalá-lo em seu aplicativo Laravel existente em 5 minutos e pode adaptar, estender, substituir e personalizar qualquer coisa de acordo com suas necessidades.
Aimeos é um pacote de comércio eletrônico completo:
... e mais recursos do Aimeos
Idiomas suportados:
Confira as demonstrações:
Se você deseja configurar um novo aplicativo ou testar o Aimeos, recomendamos a distribuição da loja Aimeos. Ele contém tudo para um início rápido e você terá uma loja online totalmente funcional em menos de 5 minutos:
Distribuição da loja Aimeos
Se você deseja construir um aplicativo de página única (SPA), respectivamente, um aplicativo da web progressivo (PWA) e não precisa do frontend HTML do Aimeos, a distribuição headless do Aimeos é a escolha certa:
Distribuição sem cabeça Aimeos
Atualmente, os pacotes Aimeos Laravel 2023.10 e posteriores são totalmente suportados:
Se você deseja atualizar entre versões principais, dê uma olhada no guia de atualização!
A distribuição da loja Aimeos requer:
Se as extensões PHP necessárias estiverem faltando, composer
informará sobre as dependências ausentes.
Se você deseja atualizar entre versões principais, dê uma olhada no guia de atualização!
Certifique-se de ter criado o banco de dados antecipadamente e adicionado a configuração ao arquivo .env
no diretório do seu aplicativo. Às vezes, usar o arquivo .env causa problemas e você receberá exceções de que a conexão com o banco de dados falhou. Nesse caso, adicione as credenciais do banco de dados à seção resource/db do seu arquivo ./config/shop.php também!
Se você não tiver pelo menos MySQL 5.7.8 ou MariaDB 10.2.2 instalado, provavelmente receberá um erro como
Specified key was too long; max key length is 767 bytes
Para contornar esse problema, elimine as novas tabelas, se houver alguma criada, e altere a configuração charset/collation em ./config/database.php
para estes valores antes de instalar o Aimeos novamente:
' connections ' => [
' mysql ' => [
// ...
' charset ' => ' utf8 ' ,
' collation ' => ' utf8_unicode_ci ' ,
// ...
]
]
Cuidado: Certifique-se também de que seu servidor MySQL crie tabelas InnoDB por padrão, pois as tabelas MyISAM não funcionarão e resultarão em um erro de restrição de chave estrangeira!
Se você quiser usar um servidor de banco de dados diferente do MySQL, dê uma olhada no artigo sobre servidores de banco de dados suportados e suas configurações específicas. São suportados:
Certifique-se de usar um dos servidores de banco de dados suportados em seu arquivo .env
, por exemplo:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=aimeos
DB_USERNAME=root
DB_PASSWORD=
Cuidado: O banco de dados SQLite configurado por padrão NÃO é suportado!
O pacote da loja online Aimeos Laravel é uma biblioteca baseada em compositor. Ele pode ser instalado mais facilmente usando o Composer 2.1+ no diretório raiz do seu aplicativo Laravel existente:
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
Em seguida, adicione estas linhas ao compositor.json da aplicação esqueleto do 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 "
],
...
}
Depois, instale o pacote da loja Aimeos usando
php composer update -W
Na última etapa, você deve agora executar estes comandos artesanais para obter uma instalação funcional ou atualizada do Aimeos:
php artisan vendor:publish --tag=config --tag=public
php artisan migrate
php artisan aimeos:setup --option=setup/default/demo:1
Em um ambiente de produção ou se você não quiser que os dados de demonstração sejam instalados, deixe de fora a opção --option=setup/default/demo:1
.
Você deve configurar um dos kits iniciais de autenticação do Laravel. Laravel Breeze é o mais fácil, mas você também pode usar Jetstream.
composer require laravel/breeze
php artisan breeze:install
npm install && npm run build # if not executed automatically by the previous command
O Laravel Breeze fará algumas perguntas, a mais importante é o tipo de pilha que você deseja usar. Selecione “Blade” (é a maneira mais fácil) e use os valores padrão para os demais.
Ele também adiciona uma rota para /profile
a ./routes/web.php
que pode substituir a rota aimeos_shop_account
. Para evitar uma exceção sobre uma rota aimeos_shop_account
ausente, altere o URL dessas linhas do arquivo ./routes/web.php
de /profile
para /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 mais informações, siga a documentação do Laravel:
Como último passo, você precisa estender o método boot()
da sua classe AppProvidersAppServiceProvider
e adicionar as linhas para definir como a autorização para "admin" é verificada em 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 );
});
}
Teste se sua configuração de autenticação funciona antes de continuar. Crie uma conta de administrador para seu aplicativo Laravel para poder fazer login na interface de administração do Aimeos:
php artisan aimeos:account --super < email >
O endereço de e-mail é o nome de usuário para login e a conta também funcionará para o frontend. Para proteger a nova conta, o comando solicitará uma senha. O mesmo comando pode criar contas limitadas usando --admin
, --editor
ou --api
em vez de --super
(acesso a tudo).
Para referenciar imagens corretamente, você deve adaptar seu arquivo .env
e definir APP_URL
para sua URL real, por exemplo
APP_URL=http://127.0.0.1:8000
Cuidado: Certifique-se de que o Laravel usa o driver de sessão file
em seu arquivo .env
! Caso contrário, o conteúdo do carrinho de compras não será armazenado corretamente!
SESSION_DRIVER=file
Se o seu diretório ./public
não puder ser gravado pelo seu servidor web, você deverá criar estes diretórios:
mkdir public/aimeos public/vendor
chmod 777 public/aimeos public/vendor
Em um ambiente de produção, você deve ser mais específico quanto às permissões concedidas!
Em seguida, você poderá chamar a página da lista de catálogos em seu navegador. Para um início rápido, você pode usar o servidor web integrado. Basta executar este comando no diretório base da sua aplicação:
php artisan serve
Aponte seu navegador para a página de lista da loja usando:
Nota: A integração do pacote Aimeos adiciona algumas rotas como /shop
ou /admin
à sua instalação do Laravel, mas a página inicial permanece intacta! Se você quiser adicionar Aimeos à página inicial também, substitua a rota por "/" em ./routes/web.php
por esta linha:
Route:: group ([ ' middleware ' => [ ' web ' ]], function () {
Route:: get ( ' / ' , ' AimeosShopControllerCatalogController@homeAction ' )-> name ( ' aimeos_home ' );
});
Para configurações de vários fornecedores, leia o artigo sobre várias lojas.
Isso exibirá o componente inicial do catálogo Aimeos na página inicial e você obterá uma página inicial da loja bonita, semelhante a esta:
Se você ainda iniciou o servidor web PHP interno ( php artisan serve
), você deve agora abrir esta URL em seu navegador:
http://127.0.0.1:8000/admin
Digite o endereço de e-mail e a senha do usuário recém-criado e pressione “Login”. Se você não for redirecionado para a interface administrativa (isso depende do código de autenticação que você criou de acordo com a documentação do Laravel), aponte seu navegador para a URL /admin
novamente.
Cuidado: certifique-se de que você ainda não esteja logado como usuário não administrador! Neste caso, o login não funcionará porque o Laravel exige que você efetue logout primeiro.
Para simplificar o desenvolvimento, você deve configurar para não usar cache de conteúdo. Você pode fazer isso no arquivo config/shop.php
da sua aplicação Laravel adicionando estas linhas na parte inferior:
' madmin ' => [
' cache ' => [
' manager ' => [
' name ' => ' None ' ,
],
],
],
O pacote Aimeos Laravel é licenciado sob os termos da licença MIT e está disponível gratuitamente.