GitHub에 별표를 남겨주세요. 우리에게 많은 동기를 부여해줍니다!
Aimeos는 전문적이고 모든 기능을 갖춘 초고속 Laravel 전자상거래 패키지입니다! 5분 이내에 기존 Laravel 애플리케이션에 설치할 수 있으며 필요에 따라 무엇이든 조정, 확장, 덮어쓰기 및 사용자 정의할 수 있습니다.
Aimeos는 모든 기능을 갖춘 전자상거래 패키지입니다:
... 그리고 더 많은 Aimeos 기능
지원되는 언어:
데모를 확인하세요:
새로운 애플리케이션을 설정하거나 Aimeos를 테스트하고 싶다면 Aimeos 상점 배포를 권장합니다. 여기에는 빠른 시작을 위한 모든 것이 포함되어 있으며 5분 이내에 완벽하게 작동하는 온라인 상점을 얻을 수 있습니다.
아이메오스 매장 유통
단일 페이지 애플리케이션(SPA)과 프로그레시브 웹 애플리케이션(PWA)을 직접 구축하고 Aimeos HTML 프런트엔드가 필요하지 않은 경우 Aimeos 헤드리스 배포판이 올바른 선택입니다.
Aimeos 헤드리스 배포
현재 Aimeos Laravel 패키지 2023.10 이상이 완전히 지원됩니다.
주요 버전 간 업그레이드를 원하시면 업그레이드 가이드를 살펴보세요!
Aimeos 상점 배포에는 다음이 필요합니다.
필수 PHP 확장이 누락된 경우 composer
누락된 종속성에 대해 알려줍니다.
주요 버전 간 업그레이드를 원하시면 업그레이드 가이드를 살펴보세요!
미리 데이터베이스를 생성 하고 애플리케이션 디렉터리의 .env
파일에 구성을 추가했는지 확인하세요. 때때로 .env 파일을 사용하면 문제가 발생하고 데이터베이스 연결에 실패했다는 예외가 발생합니다. 이 경우 ./config/shop.php 파일의 resources/db 섹션 에도 데이터베이스 자격 증명을 추가하세요!
MySQL 5.7.8 또는 MariaDB 10.2.2 이상이 설치되어 있지 않으면 다음과 같은 오류가 발생할 수 있습니다.
Specified key was too long; max key length is 767 bytes
이 문제를 피하려면, 생성된 새 테이블을 삭제하고 Aimeos를 다시 설치하기 전에 ./config/database.php
의 charset/collation 설정을 다음 값으로 변경하십시오.
' connections ' => [
' mysql ' => [
// ...
' charset ' => ' utf8 ' ,
' collation ' => ' utf8_unicode_ci ' ,
// ...
]
]
주의: 또한 MyISAM 테이블이 작동하지 않고 외래 키 제약 조건 오류가 발생하므로 MySQL 서버가 기본적으로 InnoDB 테이블을 생성하는지 확인하세요!
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 온라인 상점 패키지는 작곡가 기반 라이브러리입니다. 기존 Laravel 애플리케이션의 루트 디렉터리에 Composer 2.1+를 사용하면 가장 쉽게 설치할 수 있습니다.
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
그런 다음 Laravel 스켈레톤 애플리케이션 의 작곡가.json에 다음 줄을 추가하세요.
"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 설치를 얻으려면 다음 artisan 명령을 실행해야 합니다.
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"(가장 쉬운 방법)를 선택하고 다른 항목에는 기본값을 사용합니다.
또한 aimeos_shop_account
경로를 덮어쓸 수 있는 /profile
에 대한 경로를 ./routes/web.php
에 추가합니다. aimeos_shop_account
경로 누락에 대한 예외를 피하려면 ./routes/web.php
파일에서 다음 줄의 URL을 /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 설명서를 참조하세요.
마지막 단계로 AppProvidersAppServiceProvider
클래스의 boot()
메서드를 확장하고 app/Providers/AppServiceProvider.php
에서 "admin"에 대한 인증을 확인하는 방법을 정의하는 행을 추가해야 합니다.
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 );
});
}
계속하기 전에 인증 설정이 작동하는지 테스트하십시오. Aimeos 관리 인터페이스에 로그인할 수 있도록 Laravel 애플리케이션에 대한 관리자 계정을 만드세요:
php artisan aimeos:account --super < email >
이메일 주소는 로그인을 위한 사용자 이름이며 계정은 프런트엔드에서도 작동합니다. 새 계정을 보호하기 위해 명령에서 비밀번호를 묻는 메시지가 표시됩니다. 동일한 명령으로 --super
(모든 것에 대한 액세스) 대신 --admin
, --editor
또는 --api
사용하여 제한된 계정을 생성할 수 있습니다.
이미지를 올바르게 참조하려면 .env
파일을 조정하고 APP_URL
실제 URL로 설정해야 합니다. 예:
APP_URL=http://127.0.0.1:8000
주의: Laravel이 .env
파일의 file
세션 드라이버를 사용하는지 확인하세요! 그렇지 않으면 장바구니 내용이 올바르게 저장되지 않습니다!
SESSION_DRIVER=file
웹 서버에서 ./public
디렉터리에 쓸 수 없는 경우 다음 디렉터리를 만들어야 합니다.
mkdir public/aimeos public/vendor
chmod 777 public/aimeos public/vendor
프로덕션 환경에서는 부여된 권한에 대해 더 구체적으로 설명해야 합니다!
그러면 브라우저에서 카탈로그 목록 페이지를 호출할 수 있습니다. 빠른 시작을 위해 통합 웹 서버를 사용할 수 있습니다. 애플리케이션의 기본 디렉터리에서 다음 명령을 실행하기만 하면 됩니다.
php artisan serve
다음을 사용하여 브라우저에서 상점 목록 페이지를 가리키도록 하세요.
참고: Aimeos 패키지를 통합하면 Laravel 설치에 /shop
또는 /admin
같은 일부 경로가 추가되지만 홈 페이지는 그대로 유지됩니다! 홈 페이지에도 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/관리자
새로 생성된 사용자의 이메일 주소와 비밀번호를 입력하고 "로그인"을 누르세요. 관리 인터페이스(Laravel 문서에 따라 생성한 인증 코드에 따라 다름)로 리디렉션되지 않으면 브라우저에서 /admin
URL을 다시 지정하세요.
주의: 아직 관리자가 아닌 사용자로 로그인하지 않았는지 확인하세요! 이 경우 Laravel에서는 먼저 로그아웃을 요구하므로 로그인이 작동하지 않습니다.
개발을 단순화하려면 콘텐츠 캐시를 사용하지 않도록 구성해야 합니다. Laravel 애플리케이션의 config/shop.php
파일 하단에 다음 줄을 추가하여 이 작업을 수행할 수 있습니다.
' madmin ' => [
' cache ' => [
' manager ' => [
' name ' => ' None ' ,
],
],
],
Aimeos Laravel 패키지는 MIT 라이선스 조건에 따라 라이선스가 부여되며 무료로 사용할 수 있습니다.