Home
Softono
a

aimeos

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
7

Software by aimeos

Aimeos
Open Source

Aimeos

:star: Star us on GitHub — it motivates us a lot! 😀 Aimeos - THE Laravel ecommerce platform Aimeos is THE ultra-fast, cloud-native and API-first e-commerce platform! You can install it within 5 minutes and can adapt, extend, overwrite and customize anything to your needs. Block/tier pricing out of the box Extension for customer/group based prices Discount and voucher support Flexible basket rule system Full-featured admin backend Beautiful admin dashboard Configurable product data sets Completly modular structure Extremely configurable and extensible Extension for market places with millions of vendors Fully SEO optimized including rich snippets Translated to 30+ languages AI-based text translation Optimized for smart phones and tablets Secure and reviewed implementation High quality source code ... and more Aimeos features Supported languages:             Check out the demos: Aimeos frontend demo Aimeos admin demo Headless distribution To build a single page application (SPA) respectively a progressive web application (PWA), the Aimeos headless distribution is the right choice with API-only and JWT authentication pre-configured: :star: Aimeos headless distribution Integrate into existing applications You already have an existing Laravel application and want to add a shop to your web site? Install the Aimeos composer package for Laravel and add e-commerce to your existing application in minutes: :star: Aimeos Laravel package Standalone application Requirements Installation Frontend Backend Customize Multi-language Multi-routing Multi-vendor License Links Requirements The Aimeos shop distribution requires: Linux/Unix, WAMP/XAMP or MacOS environment PHP >= 8.2 MySQL >= 5.7.8, MariaDB >= 10.2.2, PostgreSQL 9.6+, SQL Server 2019+ Web server (Apache, Nginx or integrated PHP web server for testing) If required PHP extensions are missing, will tell you about the missing dependencies. If you want to upgrade between major versions, please have a look into the upgrade guide! Installation To install the Aimeos shop application, you need composer 2.2+. On the CLI, execute this command for a complete installation including a working setup: You will be asked for the parameters of your database and mail server as well as an e-mail and password used for creating the administration account. In a local environment, you can use the integrated PHP web server to test your new Aimeos installation. Simply execute the following command to start the web server: Note: In an hosting environment, the document root of your virtual host must point to the /.../myshop/public/ directory and you have to change the setting in your file to your domain without port, e.g.: Frontend After the installation, you can test the Aimeos shop frontend by calling the URL of your VHost in your browser. If you use the integrated PHP web server, you should browse this URL: ![Aimeos frontend]( Backend The Aimeos administration interface will be available at in your VHost. When using the integrated PHP web server, call this URL: ![Aimeos admin backend]( Customize Laravel and the Aimeos e-commerce package are extremely flexible and highly customizable. A lot of documentation for the Laravel framework and the Aimeos e-commerce framework exists. If you have questions about Aimeos, don't hesitate to ask in our Aimeos forum. For more details about Aimeos Laravel integration, please have a look at its repository. Multi-language For shops which offers multiple languages, just add this line to your file: Then, the language will be added to the routes automatically. You can set up the available languages in the "Locale > Locale" panel of the Aimeos admin backend. Multi-routing If you want to have all category, product and page URLs as top level URLs like , and , then you can enable the Aimeos multi-routing feature in your file: Caution: This will affect performance as it requires additional database queries for each request! Multi-vendor To enable multi-vendor features, add this settings to the file: If you want to allow vendors to register themselves as sellers, set this option in the file too: By default, newly registered sellers have administrator privileges in the backend for their own site. For a more limited access to the backend, you can change the permission level to "editor" in the file: You can change the permissions associated to "admin" or "editor" by adding your own version of the JQAdm resource configuration to the "admin" section of your file. License The Aimeos shop system is licensed under the terms of the MIT and LGPLv3 license and is available for free. Links Web site Documentation Forum Issue tracker Composer packages Source code

E-commerce Platforms
5.4K Github Stars
aimeos-laravel
Open Source

aimeos-laravel

<a href="https://aimeos.org/"> <img src="https://aimeos.org/fileadmin/template/icons/logo.png" alt="Aimeos logo" title="Aimeos" align="right" height="60" /> </a> # Aimeos Laravel ecommerce package [![Total Downloads](https://poser.pugx.org/aimeos/aimeos-laravel/d/total.svg)](https://packagist.org/packages/aimeos/aimeos-laravel) [![Build Status](https://circleci.com/gh/aimeos/aimeos-laravel.svg?style=shield)](https://circleci.com/gh/aimeos/aimeos-laravel) [![Coverage Status](https://coveralls.io/repos/aimeos/aimeos-laravel/badge.svg?branch=master&service=github)](https://coveralls.io/github/aimeos/aimeos-laravel?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/aimeos/aimeos-laravel/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/aimeos/aimeos-laravel/?branch=master) [![License](https://poser.pugx.org/aimeos/aimeos/license.svg)](https://packagist.org/packages/aimeos/aimeos) :star: Star us on GitHub — it motivates us a lot! 😀 [Aimeos](https://aimeos.org/Laravel) is THE professional, full-featured and ultra fast Laravel ecommerce package! You can install it in your existing Laravel application within 5 minutes and can adapt, extend, overwrite and customize anything to your needs. [![Aimeos Laravel demo](https://aimeos.org/fileadmin/aimeos.org/images/aimeos-github.png)](https://laravel.demo.aimeos.org/) ## Features Aimeos is a full-featured e-commerce package: * Multi vendor, multi channel and multi warehouse * From one to 1,000,000,000+ items * Extremly fast down to 20ms * For multi-tentant e-commerce SaaS solutions with unlimited vendors * Bundles, vouchers, virtual, configurable, custom and event products * Subscriptions with recurring payments * 100+ payment gateways * Full RTL support (frontend and backend) * Block/tier pricing out of the box * Extension for customer/group based prices * Discount and voucher support * Flexible basket rule system * Full-featured admin backend * Beautiful admin dashboard * Configurable product data sets * JSON REST API based on jsonapi.org * GraphQL API for administration * Completly modular structure * Extremely configurable and extensible * Extension for market places with millions of vendors * Fully SEO optimized including rich snippets * Translated to 30+ languages * AI-based text translation * Optimized for smart phones and tablets * Secure and reviewed implementation * High quality source code ... and [more Aimeos features](https://aimeos.org/features) Supported languages: <p align="center" style="display: inline;"> <a href="https://www.transifex.com/aimeos/"><img src="https://flagicons.lipis.dev/flags/4x3/us.svg" title="English" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/de/"><img src="https://flagicons.lipis.dev/flags/4x3/de.svg" title="German" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/fr/"><img src="https://flagicons.lipis.dev/flags/4x3/fr.svg" title="French" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/es/"><img src="https://flagicons.lipis.dev/flags/4x3/es.svg" title="Spanish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/nl/"><img src="https://flagicons.lipis.dev/flags/4x3/nl.svg" title="Dutch" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/it/"><img src="https://flagicons.lipis.dev/flags/4x3/it.svg" title="Italian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/pt/"><img src="https://flagicons.lipis.dev/flags/4x3/pt.svg" title="Portuguese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/da/"><img src="https://flagicons.lipis.dev/flags/4x3/dk.svg" title="Danish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/fi/"><img src="https://flagicons.lipis.dev/flags/4x3/fi.svg" title="Finnish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sv/"><img src="https://flagicons.lipis.dev/flags/4x3/sv.svg" title="Swedish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/no/"><img src="https://flagicons.lipis.dev/flags/4x3/no.svg" title="Norwegian" width="24"></a> &nbsp;&nbsp;&nbsp; <a href="https://www.transifex.com/aimeos/dashboard/all_projects/pl/"><img src="https://flagicons.lipis.dev/flags/4x3/pl.svg" title="Polish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/hu/"><img src="https://flagicons.lipis.dev/flags/4x3/hu.svg" title="Hungarian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ru/"><img src="https://flagicons.lipis.dev/flags/4x3/ru.svg" title="Russian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/uk/"><img src="https://flagicons.lipis.dev/flags/4x3/ua.svg" title="Ukrainian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/hr/"><img src="https://flagicons.lipis.dev/flags/4x3/hr.svg" title="Croatian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sl/"><img src="https://flagicons.lipis.dev/flags/4x3/si.svg" title="Slovenian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ro/"><img src="https://flagicons.lipis.dev/flags/4x3/ro.svg" title="Romanian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/cs/"><img src="https://flagicons.lipis.dev/flags/4x3/cz.svg" title="Czech" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sr/"><img src="https://flagicons.lipis.dev/flags/4x3/sr.svg" title="Serbian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sk/"><img src="https://flagicons.lipis.dev/flags/4x3/sk.svg" title="Slovak" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/et/"><img src="https://flagicons.lipis.dev/flags/4x3/et.svg" title="Estonian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/lv/"><img src="https://flagicons.lipis.dev/flags/4x3/lv.svg" title="Latvian" width="24"></a> &nbsp;&nbsp;&nbsp; <a href="https://www.transifex.com/aimeos/dashboard/all_projects/tr/"><img src="https://flagicons.lipis.dev/flags/4x3/tr.svg" title="Turkish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ar/"><img src="https://flagicons.lipis.dev/flags/4x3/sa.svg" title="Arabic" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/fa/"><img src="https://flagicons.lipis.dev/flags/4x3/ir.svg" title="Persian" width="24"></a> &nbsp;&nbsp;&nbsp; <a href="https://www.transifex.com/aimeos/dashboard/all_projects/zh/"><img src="https://flagicons.lipis.dev/flags/4x3/cn.svg" title="Chinese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ja/"><img src="https://flagicons.lipis.dev/flags/4x3/jp.svg" title="Japanese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/id/"><img src="https://flagicons.lipis.dev/flags/4x3/id.svg" title="Indonesian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/vi/"><img src="https://flagicons.lipis.dev/flags/4x3/vi.svg" title="Vietnamese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/my/"><img src="https://flagicons.lipis.dev/flags/4x3/my.svg" title="Burmese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ko/"><img src="https://flagicons.lipis.dev/flags/4x3/kr.svg" title="Korean" width="24"></a> </p> Check out the demos: * [Aimeos frontend demo](https://laravel.demo.aimeos.org) * [Aimeos admin demo](https://admin.demo.aimeos.org) ## Alternatives ### Full shop application If you want to set up a new application or test Aimeos, we recommend the Aimeos shop distribution. It contains everything for a quick start and you will get a fully working online shop in less than 5 minutes: :star: [Aimeos shop distribution](https://github.com/aimeos/aimeos) ### Headless distribution If you want to build a single page application (SPA) respectively a progressive web application (PWA) yourself and don't need the Aimeos HTML frontend, then the Aimeos headless distribution is the right choice: :star: [Aimeos headless distribution](https://github.com/aimeos/aimeos-headless) ## Table of content - [Supported versions](#supported-versions) - [Requirements](#requirements) - [Database](#database) - [Installation](#installation) - [Authentication](#authentication) - [Setup](#setup) - [Test](#test) - [Hints](#hints) - [License](#license) - [Links](#links) ## Supported versions Currently, the Aimeos Laravel packages **2024.10 and later** are fully supported: - LTS release: 2025.10+ (Laravel 10.x, 11.x and 12.x) - old LTS release: 2024.10+ (Laravel 10.x and 11.x) If you want to upgrade between major versions, please have a look into the [upgrade guide](https://aimeos.org/docs/latest/laravel/setup/#upgrade)! ## Requirements The Aimeos shop distribution requires: - Linux/Unix, WAMP/XAMP or MacOS environment - PHP >= 8.1 - MySQL >= 5.7.8, MariaDB >= 10.2.2, PostgreSQL 9.6+, SQL Server 2019+ - Web server (Apache, Nginx or integrated PHP web server for testing) If required PHP extensions are missing, `composer` will tell you about the missing dependencies. If you want to upgrade between major versions, please have a look into the [upgrade guide](https://aimeos.org/docs/latest/laravel/setup/#upgrade)! ## Database Make sure that you've **created the database** in advance and added the configuration to the `.env` file in your application directory. Sometimes, using the .env file makes problems and you will get exceptions that the connection to the database failed. In that case, add the database credentials to the **resource/db section of your ./config/shop.php** file too! If you don't have at least MySQL 5.7.8 or MariaDB 10.2.2 installed, you will probably get an error like ``` Specified key was too long; max key length is 767 bytes ``` To circumvent this problem, drop the new tables if there have been any created and change the charset/collation setting in `./config/database.php` to these values before installing Aimeos again: ```php 'connections' => [ 'mysql' => [ // ... 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', // ... ] ] ``` **Caution:** Also make sure that your MySQL server creates *InnoDB* tables by default as *MyISAM* tables won't work and will result in an foreign key constraint error! If you want to use a database server other than MySQL, please have a look into the article about [supported database servers](https://aimeos.org/docs/latest/infrastructure/databases/) and their specific configuration. Supported are: * MySQL, MariaDB (fully) * PostgreSQL (fully) * SQL Server (fully) Make sure, you use one of the supported database servers in your `.env` file, e.g.: ``` DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=aimeos DB_USERNAME=root DB_PASSWORD= ``` **Caution:** The SQLite database configured by default is **NOT supported!** ## Installation The Aimeos Laravel online shop package is a composer based library. It can be installed easiest by using [Composer 2.1+](https://getcomposer.org) in the root directory of your existing Laravel application: ``` wget https://getcomposer.org/download/latest-stable/composer.phar -O composer ``` Then, add these lines to the composer.json of the **Laravel skeleton application**: ```json "prefer-stable": true, "minimum-stability": "dev", "require": { "aimeos/aimeos-laravel": "~2025.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" ], ... } ``` Afterward, install the Aimeos shop package using `php composer update -W` In the last step, you must now execute these artisan commands to get a working or updated Aimeos installation: ```bash php artisan vendor:publish --tag=config --tag=public php artisan migrate php artisan aimeos:setup --option=setup/default/demo:1 ``` In a production environment or if you don't want that the demo data gets installed, leave out the `--option=setup/default/demo:1` option. ## Authentication You have to set up one of Laravel's authentication starter kits. Laravel Breeze is the easiest one but you can also use Jetstream. ```bash composer require laravel/breeze php artisan breeze:install npm install && npm run build # if not executed automatically by the previous command ``` Laravel Breeze will ask you a few questions, the most important one is the type of stack you want to use. Select "Blade" (it's the easiest way) and use the default values for the others. It also adds a route for `/profile` to `./routes/web.php` which may overwrite the `aimeos_shop_account` route. To avoid an exception about a missing `aimeos_shop_account` route, change the URL for these lines from `./routes/web.php` file from `/profile` to `/profile/me`: ```php 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'); }); ``` For more information, please follow the Laravel documentation: * [Laravel 12.x](https://laravel.com/docs/12.x/authentication) * [Laravel 11.x](https://laravel.com/docs/11.x/authentication) * [Laravel 10.x](https://laravel.com/docs/10.x/authentication) ### Configure authentication As a last step, you need to extend the `boot()` method of your `App\Providers\AppServiceProvider` class and add the lines to define how authorization for "admin" is checked in `app/Providers/AppServiceProvider.php`: ```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( '\Aimeos\Shop\Base\Support' )->checkUserGroup( $user, $roles ); }); } ``` ### Create account Test if your authentication setup works before you continue. Create an admin account for your Laravel application so you will be able to log into the Aimeos admin interface: ```bash php artisan aimeos:account --super <email> ``` The e-mail address is the user name for login and the account will work for the frontend too. To protect the new account, the command will ask you for a password. The same command can create limited accounts by using `--admin`, `--editor` or `--api` instead of `--super` (access to everything). ## Setup To reference images correctly, you have to adapt your `.env` file and set the `APP_URL` to your real URL, e.g. ``` APP_URL=http://127.0.0.1:8000 ``` **Caution:** Make sure, Laravel uses the `file` session driver in your `.env` file! Otherwise, the shopping basket content won't get stored correctly! ``` SESSION_DRIVER=file ``` If your `./public` directory isn't writable by your web server, you have to create these directories: ``` mkdir public/aimeos public/vendor chmod 777 public/aimeos public/vendor ``` In a production environment, you should be more specific about the granted permissions! ## Test Then, you should be able to call the catalog list page in your browser. For a quick start, you can use the integrated web server. Simply execute this command in the base directory of your application: ``` php artisan serve ``` ### Frontend Point your browser to the list page of the shop using: http://127.0.0.1:8000/shop/search **Note:** Integrating the Aimeos package adds some routes like `/shop` or `/admin` to your Laravel installation but the **home page stays untouched!** If you want to add Aimeos to the home page as well, replace the route for "/" in `./routes/web.php` by this line: ```php Route::group(['middleware' => ['web']], function () { Route::get('/', '\Aimeos\Shop\Controller\CatalogController@homeAction')->name('aimeos_home'); }); ``` For multi-vendor setups, read the article about [multiple shops](https://aimeos.org/docs/latest/laravel/customize/#multiple-shops). This will display the Aimeos catalog home component on the home page you you get a nice looking shop home page which will look like this: [![Aimeos frontend](https://aimeos.org/fileadmin/aimeos.org/images/aimeos-frontend.jpg?2021.07)](http://127.0.0.1:8000/) ### Backend If you've still started the internal PHP web server (`php artisan serve`) you should now open this URL in your browser: http://127.0.0.1:8000/admin Enter the e-mail address and the password of the newly created user and press "Login". If you don't get redirected to the admin interface (that depends on the authentication code you've created according to the Laravel documentation), point your browser to the `/admin` URL again. **Caution:** Make sure that you aren't already logged in as a non-admin user! In this case, login won't work because Laravel requires you to log out first. [![Aimeos backend](https://aimeos.org/fileadmin/aimeos.org/images/aimeos-backend.png)](http://127.0.0.1:8000/admin) ## Hints To simplify development, you should configure to use no content cache. You can do this in the `config/shop.php` file of your Laravel application by adding these lines at the bottom: ```php 'madmin' => [ 'cache' => [ 'manager' => [ 'name' => 'None', ], ], ], ``` ## License The Aimeos Laravel package is licensed under the terms of the MIT license and is available for free. ## Links * [Web site](https://aimeos.org/Laravel) * [Documentation](https://aimeos.org/docs/Laravel) * [Forum](https://aimeos.org/help/laravel-package-f18/) * [Issue tracker](https://github.com/aimeos/aimeos-laravel/issues) * [Composer packages](https://packagist.org/packages/aimeos/aimeos-laravel) * [Source code](https://github.com/aimeos/aimeos-laravel)

ERP & Business E-commerce Platforms
8.6K Github Stars
aimeos-typo3
Open Source

aimeos-typo3

<a href="https://aimeos.org/"> <img src="https://aimeos.org/fileadmin/template/icons/logo.png" alt="Aimeos logo" title="Aimeos" align="right" height="60" /> </a> # Aimeos TYPO3 extension [![Total Downloads](https://poser.pugx.org/aimeos/aimeos-typo3/d/total.svg)](https://packagist.org/packages/aimeos/aimeos-typo3) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/aimeos/aimeos-typo3/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/aimeos/aimeos-typo3/?branch=master) [![License](https://poser.pugx.org/aimeos/aimeos-typo3/license.svg)](https://packagist.org/packages/aimeos/aimeos-typo3) :star: Star us on GitHub — it motivates us a lot! [Aimeos](https://aimeos.org/TYPO3) is THE professional, full-featured and high performance e-commerce extension for TYPO3! You can install it in your existing TYPO3 web site within 5 minutes and can adapt, extend, overwrite and customize anything to your needs. ![aimeos-frontend](https://user-images.githubusercontent.com/8647429/212348410-55cbaa00-722a-4a30-8b57-da9e173e0675.jpg) ## Table Of Contents - [Installation](#installation) - [Composer](#composer) - [DDev or Colima](#ddev) - [TER](#ter-extension) - [TYPO3 setup](#typo3-setup) - [Database setup](#database-setup) - [Security](#security) - [Page setup](#page-setup) - [Download the Aimeos Page Tree file](#download-the-aimeos-page-tree-file) - [Go to the Import View](#go-to-the-import-view) - [Upload the page tree file](#upload-the-page-tree-file) - [Go to the import view](#go-to-the-import-view) - [Import the page tree](#import-the-page-tree) - [SEO-friendly URLs](#seo-friendly-urls) - [License](#license) - [Links](#links) ## Installation This document is for the latest Aimeos TYPO3 **25.10 release and later**. - Stable release: 26.04 (TYPO3 13/14 LTS) - LTS release: 25.10 (TYPO3 12/13 LTS) ### Composer **Note:** composer 2.2+ is required! The latest TYPO3 version can be installed via composer. This is especially useful, if you want to create new TYPO3 installations automatically or play with the latest code. You need to install the composer package first, if it isn't already available: ```bash php -r "readfile('https://getcomposer.org/installer');" | php -- --filename=composer ``` To install the TYPO3 base distribution first, execute this command: ```bash composer create-project typo3/cms-base-distribution myshop # or install a specific TYPO3 version: composer create-project "typo3/cms-base-distribution:^13" myshop ``` It will install TYPO3 into the `./myshop/` directory. Change into the directory and install TYPO3 using: ```bash ./vendor/bin/typo3 setup ``` Open the TYPO3 URL in your browser and follow the setup steps. Afterwards, install the Aimeos extension using: ```bash composer req -W aimeos/aimeos-typo3:~25.10 ``` If composer complains that one or more packages can't be installed because the required minimum stability isn't met, add this to your `composer.json`: ```json "minimum-stability": "dev", "prefer-stable": true, ``` If you want a more or less working installation out of the box for new installations, you can install the Bootstrap package too: ```bash composer req bk2k/bootstrap-package ``` ***Note***: Remember to create a root page and a root template, which includes the Bootstrap package templates! (See also below.) Finally, depending on your TYPO3 version, run the following commands from your installation directory: ```bash php ./vendor/bin/typo3 extension:setup php ./vendor/bin/typo3 aimeos:setup --option=setup/default/demo:1 ``` If you don't want to add the Aimeos demo data, you should remove `--option=setup/default/demo:1` from the Aimeos setup command. If you experience any errors with the database, please check the [Database Setup](#database-setup) section below. ### DDev *Note:* Installation instructions for TYPO3 with `ddev` or `Colima` can be found here: [TYPO3 with ddev or colima](https://ddev.readthedocs.io/en/latest/users/quickstart/) ### TER Extension If you want to install Aimeos into a traditionally installed TYPO3 ("legacy installation"), the [Aimeos extension from the TER](https://typo3.org/extensions/repository/view/aimeos) is recommended. You can download and install it directly from the Extension Manager of your TYPO3 instance. * Log into the TYPO3 backend * Click on "Admin Tools::Extensions" in the left navigation * Click the icon with the little plus sign left from the Aimeos list entry ![Install Aimeos TYPO3 extension](https://user-images.githubusercontent.com/213803/211545083-d0820b63-26f2-453e-877f-ecd5ec128713.jpg) Afterwards, you have to execute the update script of the extension to create the required database structure: * Click on "Admin Tools::Upgrade" * Click "Run Upgrade Wizard" in the "Upgrade Wizard" tile * Click "Execute" ![Execute update script](https://user-images.githubusercontent.com/213803/211545122-8fd94abd-78b2-47ad-ad3c-1ef1b9c052b4.jpg) #### Aimeos Distribution For new TYPO3 installations, there is a 1-click [Aimeos distribution](https://typo3.org/extensions/repository/view/aimeos_dist) available, too. Choose the Aimeos distribution from the list of available distributions in the Extension Manager and you will get a completely set up shop system including demo data for a quick start. ## TYPO3 Setup ### Security Since **TYPO3 9.5.14+** implements **SameSite cookie handling** and restricts when browsers send cookies to your site. This is a problem when customers are redirected from external payment provider domain. Then, there's no session available on the confirmation page. To circumvent that problem, you need to set the configuration option `cookieSameSite` to `None` in your `./typo3conf/LocalConfiguration.php` or `./config/system/settings.php`: ```php 'FE' => [ 'cookieSameSite' => 'None' ] ``` ## Site Setup TYPO3 10+ requires a site configuration which you have to add in "Site Management" > "Sites" available in the left navigation. When creating a root page (a page with a globe icon), a basic site configuration is automatically created (see below at [Go to the Import View](#go-to-the-import-view)). ## Page Setup ### Download the Aimeos Page Tree file The page setup for an Aimeos web shop is easy, if you import the example page tree for TYPO3 10/11. You can download the version you need from here: * [25.10+ page tree](https://aimeos.org/fileadmin/download/Aimeos-pages_2026.04.xml) and later * [24.10 page tree](https://aimeos.org/fileadmin/download/Aimeos-pages_2024.10-2.t3d) **Note:** The Aimeos layout expects [Bootstrap](https://getbootstrap.com) providing the grid layout! In order to upload and install the file, follow the following steps: ### Go to the Import View **Note:** It is recommended to import the Aimeos page tree to a page that is defined as "root page". To create a root page, simply create a new page and, in the "Edit page properties", activate the "Use as Root Page" option under "Behaviour". The icon of the root page will change to a globe. This will also create a basic site configuration. Don't forget to also create a typoscript root template and include the bootstrap templates with it! ![Create a root page](https://user-images.githubusercontent.com/213803/211549273-1d3883dd-710c-4e27-8dbb-3de6e45680d7.jpg) * In "Web::Page", right-click on the root page (the one with the globe) * Click on "More options..." * Click on "Import" ![Go to the import view](https://user-images.githubusercontent.com/213803/211550212-df6daa73-74cd-459e-8d25-a56c413c175d.jpg) ### Upload the page tree file * In the page import dialog * Select the "Upload" tab (2nd one) * Click on the "Select" dialog * Choose the T3D file you've downloaded * Press the "Upload files" button ![Upload the page tree file](https://user-images.githubusercontent.com/8647429/212347778-17238e05-7494-4413-adb3-a54b2b524e05.png) ### Import the page tree * In Import / Export view * Select the uploaded file from the drop-down menu * Click on the "Preview" button * The pages that will be imported are shown below * Click on the "Import" button that has appeared * Confirm to import the pages ![Import the uploaded page tree file](https://user-images.githubusercontent.com/8647429/212348040-c3e10b60-5579-4d1b-becc-72548826c6db.png) Now you have a new page "Shop" in your page tree including all required sub-pages. ### SEO-friendly URLs TYPO3 9.5 and later can create SEO friendly URLs if you add the rules to the site config: [https://aimeos.org/docs/latest/typo3/setup/#seo-urls](https://aimeos.org/docs/latest/typo3/setup/#seo-urls) ## License The Aimeos TYPO3 extension is licensed under the terms of the GPL Open Source license and is available for free. ## Links * [Web site](https://aimeos.org/integrations/typo3-shop-extension/) * [Documentation](https://aimeos.org/docs/TYPO3) * [Forum](https://aimeos.org/help/typo3-extension-f16/) * [Issue tracker](https://github.com/aimeos/aimeos-typo3/issues) * [Source code](https://github.com/aimeos/aimeos-typo3)

CMS Plugins & Extensions Marketplace & Multi-vendor
1.5K Github Stars
aimeos-core
Open Source

aimeos-core

<a href="https://aimeos.org"> <img src="https://aimeos.org/fileadmin/template/icons/logo.png" alt="Aimeos logo" title="Aimeos" align="right" height="60" /> </a> # Aimeos core - high performance e-commerce [![Total Downloads](https://poser.pugx.org/aimeos/aimeos-core/d/total.svg)](https://packagist.org/packages/aimeos/aimeos-core) [![Build Status](https://circleci.com/gh/aimeos/aimeos-core.svg?style=shield)](https://circleci.com/gh/aimeos/aimeos-core) [![Coverage Status](https://coveralls.io/repos/aimeos/aimeos-core/badge.svg?branch=master)](https://coveralls.io/r/aimeos/aimeos-core?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/aimeos/aimeos-core/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/aimeos/aimeos-core/?branch=master) [![License](https://poser.pugx.org/aimeos/aimeos-core/license.svg)](https://packagist.org/packages/aimeos/aimeos-core) :star: Star us on GitHub — it helps! [![Aimeos demo](https://aimeos.org/fileadmin/aimeos.org/images/aimeos-github.png)](https://demo.aimeos.org) ## What is Aimeos core? Aimeos is an Open Source <a href="https://aimeos.org/tips/ecommerce-framework/">e-commerce framework</a> for online shops consisting of the e-commerce library, the administration interface and different front-ends. It's a modular stack that offers an unmatched combination of flexibility and speed. Contrary to other shop systems, Aimeos is no monolithic application. Instead, you have the choice between several user front-ends and you can adapt them to your needs or write one of your own one. ## Who uses Aimeos? Whether you (or your customer if you are a developer seeking for a solution) would like to run a high performance online shop, wish to publish a product catalog online or would like to create your own portal – you design your own individual sales channel with Aimeos. It's is suited for medium to large size businesses which needs a seamless integration into existing systems, like content management, customer relationship management or enterprise resource planning systems. Additionally, Aimeos perfectly fits as base for portals or market places. ## Links * [Web site](https://aimeos.org) * [Documentation](https://aimeos.org/docs/) * [Forum](https://aimeos.org/help/) * [Issue tracker](https://github.com/aimeos/aimeos-core/issues) * [Composer packages](https://packagist.org/packages/aimeos/aimeos-core) * [Source code](https://github.com/aimeos/aimeos-core) * [Translate](https://www.transifex.com/projects/p/aimeos-core/) ## License Aimeos is licensed under the terms of the LGPLv3 Open Source license and is available for free.

E-commerce Platforms Marketplace & Multi-vendor
4.5K Github Stars
aimeos-headless
Open Source

aimeos-headless

<a href="https://aimeos.org/"> <img src="https://aimeos.org/fileadmin/template/icons/logo.png" alt="Aimeos logo" title="Aimeos" align="right" height="60" /> </a> # Aimeos headless distribution :star: Star us on GitHub — it motivates a lot! [Aimeos](https://aimeos.org/Laravel) is THE ultra-fast, cloud-native and API-first headless ecommerce for Laravel! You can adapt, extend, overwrite and customize anything to your needs. ## Features Aimeos is a full-featured e-commerce package: * JSON REST API based on jsonapi.org * GraphQL API for administration * Perfect fit for AWS, Google, Azure and Kubernetes based clouds * Multi vendor, multi channel and multi warehouse * From one to 1,000,000,000+ items * Extremly fast down to 20ms * For multi-tentant e-commerce SaaS solutions with unlimited vendors * Bundles, vouchers, virtual, configurable, custom and event products * Subscriptions with recurring payments * Block/tier pricing out of the box * Extension for customer/group based prices * Discount and voucher support * Flexible basket rule system * Full-featured admin backend * Beautiful admin dashboard * Configurable product data sets * Completly modular structure * Extremely configurable and extensible * Extension for market places with millions of vendors * Translated to 30+ languages * Full RTL support * AI-based text translation * Secure and reviewed implementation * High quality source code ... and [more Aimeos features](https://aimeos.org/features) Supported languages: <p align="center" style="display: inline;"> <a href="https://www.transifex.com/aimeos/"><img src="https://flagicons.lipis.dev/flags/4x3/us.svg" title="English" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/de/"><img src="https://flagicons.lipis.dev/flags/4x3/de.svg" title="German" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/fr/"><img src="https://flagicons.lipis.dev/flags/4x3/fr.svg" title="French" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/es/"><img src="https://flagicons.lipis.dev/flags/4x3/es.svg" title="Spanish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/nl/"><img src="https://flagicons.lipis.dev/flags/4x3/nl.svg" title="Dutch" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/it/"><img src="https://flagicons.lipis.dev/flags/4x3/it.svg" title="Italian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/pt/"><img src="https://flagicons.lipis.dev/flags/4x3/pt.svg" title="Portuguese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/da/"><img src="https://flagicons.lipis.dev/flags/4x3/dk.svg" title="Danish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/fi/"><img src="https://flagicons.lipis.dev/flags/4x3/fi.svg" title="Finnish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sv/"><img src="https://flagicons.lipis.dev/flags/4x3/sv.svg" title="Swedish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/no/"><img src="https://flagicons.lipis.dev/flags/4x3/no.svg" title="Norwegian" width="24"></a> &nbsp;&nbsp;&nbsp; <a href="https://www.transifex.com/aimeos/dashboard/all_projects/pl/"><img src="https://flagicons.lipis.dev/flags/4x3/pl.svg" title="Polish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/hu/"><img src="https://flagicons.lipis.dev/flags/4x3/hu.svg" title="Hungarian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ru/"><img src="https://flagicons.lipis.dev/flags/4x3/ru.svg" title="Russian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/uk/"><img src="https://flagicons.lipis.dev/flags/4x3/ua.svg" title="Ukrainian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/hr/"><img src="https://flagicons.lipis.dev/flags/4x3/hr.svg" title="Croatian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sl/"><img src="https://flagicons.lipis.dev/flags/4x3/sl.svg" title="Slovenian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ro/"><img src="https://flagicons.lipis.dev/flags/4x3/ro.svg" title="Romanian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/cs/"><img src="https://flagicons.lipis.dev/flags/4x3/cz.svg" title="Czech" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sr/"><img src="https://flagicons.lipis.dev/flags/4x3/sr.svg" title="Serbian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/sk/"><img src="https://flagicons.lipis.dev/flags/4x3/sk.svg" title="Slovak" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/et/"><img src="https://flagicons.lipis.dev/flags/4x3/et.svg" title="Estonian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/lv/"><img src="https://flagicons.lipis.dev/flags/4x3/lv.svg" title="Latvian" width="24"></a> &nbsp;&nbsp;&nbsp; <a href="https://www.transifex.com/aimeos/dashboard/all_projects/tr/"><img src="https://flagicons.lipis.dev/flags/4x3/tr.svg" title="Turkish" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ar/"><img src="https://flagicons.lipis.dev/flags/4x3/sa.svg" title="Arabic" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/fa/"><img src="https://flagicons.lipis.dev/flags/4x3/ir.svg" title="Persian" width="24"></a> &nbsp;&nbsp;&nbsp; <a href="https://www.transifex.com/aimeos/dashboard/all_projects/zh/"><img src="https://flagicons.lipis.dev/flags/4x3/cn.svg" title="Chinese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ja/"><img src="https://flagicons.lipis.dev/flags/4x3/jp.svg" title="Japanese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/id/"><img src="https://flagicons.lipis.dev/flags/4x3/id.svg" title="Indonesian" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/vi/"><img src="https://flagicons.lipis.dev/flags/4x3/vi.svg" title="Vietnamese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/my/"><img src="https://flagicons.lipis.dev/flags/4x3/my.svg" title="Burmese" width="24"></a> <a href="https://www.transifex.com/aimeos/dashboard/all_projects/ko/"><img src="https://flagicons.lipis.dev/flags/4x3/kr.svg" title="Korean" width="24"></a> </p> Check out the demos: * [Aimeos frontend demo](https://laravel.demo.aimeos.org) * [Aimeos admin demo](https://admin.demo.aimeos.org) ## Alternatives ### Integrate into existing applications You already have an existing Laravel application and want to add a shop to your web site? Install the Aimeos composer package for Laravel and add e-commerce to your existing application in minutes: :star: [Aimeos Laravel package](https://github.com/aimeos/aimeos-laravel) ### Full shop application If you want to set up a new application or test Aimeos, we recommend the Aimeos shop distribution. It contains everything for a quick start and you will get a fully working online shop in less than 5 minutes: :star: [Aimeos shop distribution](https://github.com/aimeos/aimeos) ## Table of content - [Requirements](#requirements) - [Installation](#installation) - [Frontend](#frontend) - [Backend](#backend) - [Customize](#customize) - [Multi-vendor](#multi-vendor) - [License](#license) - [Links](#links) ## Requirements The Aimeos headless distribution requires: - AWS, Google, Azure or Kubernetes cloud, Linux/Unix, WAMP/XAMP or MacOS environment - PHP >= 8.2 - MySQL >= 5.7.8, MariaDB >= 10.2.2, PostgreSQL 9.6+, SQL Server 2019+ - Web server (Apache, Nginx or integrated PHP web server for testing) If required PHP extensions are missing, `composer` will tell you about the missing dependencies. If you want to upgrade between major versions, please have a look into the [upgrade guide](https://aimeos.org/docs/latest/laravel/setup/#upgrade)! ## Installation To install the Aimeos shop application, you need [composer 2.2+](https://getcomposer.org). On the CLI, execute this command for a complete installation including a working setup: ``` wget https://getcomposer.org/download/latest-stable/composer.phar -O composer php composer create-project aimeos/aimeos-headless headless ``` You will be asked for the parameters of your database and mail server as well as an e-mail and password used for creating the administration account. In a local environment, you can use the integrated PHP web server to test your new Aimeos installation. Simply execute the following command to start the web server: ``` cd headless php artisan serve ``` **Note:** In an hosting environment, the document root of your virtual host must point to the **/.../headless/public/** directory and you have to change the `APP_URL` setting in your `.env` file to your domain without port, e.g.: ``` APP_URL=http://myhostingdomain.com ``` ## JSON REST API After the installation, you can test the Aimeos JSON REST API by calling the URL of your VHost in your browser. If you use the integrated PHP web server, you should browse this URL: [http://127.0.0.1:8000/jsonapi](http://127.0.0.1:8000/jsonapi) Learn how to use the [JSON REST API](https://aimeos.org/docs/latest/frontend/jsonapi/) ### Authenticate To authenticate using e-mail and password, send a POST request: ```bash curl -X POST "http://127.0.0.1:8000/api/login?email=me@localhost&password=test" ``` If the authentication was successful, the API will return with a response like this: ```json {"access_token":"eyJ0eXAiOiJKV...","token_type":"bearer","expires_in":3600} ``` Use this access token in all further requests as HTTP header: ```bash curl -X POST "http://127.0.0.1:8000/api/me" -H "Authorization: Bearer eyJ0eXAiOiJKV..." ``` ## Backend The Aimeos administration interface will be available at `/admin` in your VHost. When using the integrated PHP web server, call this URL: [http://127.0.0.1:8000/admin](http://127.0.0.1:8000/admin) [![Aimeos admin backend](https://aimeos.org/fileadmin/aimeos.org/images/aimeos-backend.png?2021.04)](http://admin.demo.aimeos.org/) ## Cloud filesystems To use cloud storage like AWS S3 compatible object storages, adapt the `resource/fs` sections in the `./config/shop.php` file and configure the filesystem like this: ``` composer req ai-filesystem league/flysystem-aws-s3-v3 ``` ```php 'fs' => [ 'adapter' => 'FlyAwsS3', 'credentials' => [ 'key' => 'your-key', 'secret' => 'your-secret', ], 'region' => 'your-region', 'version' => 'latest|api-version', 'bucket' => 'your-bucket-name', 'prefix' => 'your-prefix', // optional 'baseurl' => 's3-domain-and-path' ], ``` For Azure Blob storage use: ``` composer req ai-filesystem league/flysystem-azure-blob-storage ``` ```php 'fs' => [ 'adapter' => 'FlyAzure', 'endpoint' => 'DefaultEndpointsProtocol=https;AccountName=your-account;AccountKey=your-api-key', 'container' => 'your-container', 'prefix' => 'your-prefix', // optional 'baseurl' => 'azure-domain-and-path' ], ``` And for Google Cloud storage: ``` composer req ai-filesystem league/flysystem-google-cloud-storage ``` ```php 'fs' => [ 'adapter' => 'FlyGoogleCloud', 'keyFile' => json_decode(file_get_contents('/path/to/keyfile.json'), true), // alternative 'keyFilePath' => '/path/to/keyfile.json', // alternative 'projectId' => 'myProject', // alternative 'prefix' => 'your-prefix' // optional 'baseurl' => 'gcloud-domain-and-path' ], ``` ## Customize Laravel and the Aimeos headless ecommerce distribution are extremely flexible and highly customizable. A lot of documentation for the [Laravel framework](https://laravel.com) and the [Aimeos ecommerce framework](https://aimeos.org/docs/latest/) exists. If you have questions about Aimeos, don't hesitate to ask in our [Aimeos forum](https://aimeos.org/help/). ## License The Aimeos shop system is licensed under the terms of the MIT and LGPLv3 license and is available for free. ## Links * [Web site](https://aimeos.org/Laravel) * [Documentation](https://aimeos.org/docs/latest/) * [Forum](https://aimeos.org/help/) * [Issue tracker](https://github.com/aimeos/aimeos-headless/issues) * [Composer packages](https://packagist.org/packages/aimeos/aimeos-headless) * [Source code](https://github.com/aimeos/aimeos-headless)

E-commerce Platforms Marketplace & Multi-vendor
2.5K Github Stars
aimeos-symfony
Open Source

aimeos-symfony

<a href="https://aimeos.org/"> <img src="https://aimeos.org/fileadmin/template/icons/logo.png" alt="Aimeos logo" title="Aimeos" align="right" height="60" /> </a> # Aimeos Symfony bundle [![Total Downloads](https://poser.pugx.org/aimeos/aimeos-symfony/d/total.svg)](https://packagist.org/packages/aimeos/aimeos-symfony) [![Build Status](https://travis-ci.org/aimeos/aimeos-symfony.svg?branch=master)](https://travis-ci.org/aimeos/aimeos-symfony) [![Coverage Status](https://coveralls.io/repos/aimeos/aimeos-symfony/badge.svg?branch=master)](https://coveralls.io/r/aimeos/aimeos-symfony?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/aimeos/aimeos-symfony/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/aimeos/aimeos-symfony/?branch=master) :star: Star us on GitHub — it helps! [Aimeos](https://aimeos.org/Symfony) is THE professional, full-featured and ultra fast e-commerce package for Symfony! You can install it in your existing Symfony application within 5 minutes and can adapt, extend, overwrite and customize anything to your needs. [![Aimeos Symfony demo](https://aimeos.org/fileadmin/aimeos.org/images/aimeos-github.png)](http://symfony.demo.aimeos.org/) ## Table of content - [Installation](#installation) - [Composer](#composer) - [Admin](#admin) - [Hints](#hints) - [License](#license) - [Links](#links) ## Installation This document is for the latest **Aimeos 2023.10** and **Symfony 6.3+**. If you want to **upgrade between major versions**, please have a look into the [upgrade guide](https://aimeos.org/docs/Symfony/Upgrade)! The Aimeos Symfony e-commerce bundle is a composer based library that can be installed easiest by using [Composer](https://getcomposer.org). If you don't have an existing Symfony application, you can create a skeleton application using ``` composer create-project symfony/website-skeleton:~4.4 myshop cd myshop ``` These settings need to be added to the `./config/packages/fos_user.yaml` file: ```yaml fos_user: db_driver: orm user_class: Aimeos\ShopBundle\Entity\FosUser firewall_name: aimeos_myaccount from_email: address: "[email protected]" sender_name: "Test shop" service: mailer: 'fos_user.mailer.noop' ``` The Aimeos components have to be configured as well to get authentication working correctly. You need to take care of three things: Using the correct customer manager implementation and password encryption method as well as the right path for the storages. All must be appended at the end of the `./config/packages/aimeos_shop.yaml`: ```yaml aimeos_shop: resource: fs: baseurl: "https://yourdomain.com/" basedir: "%kernel.project_dir%/public" fs-admin: basedir: "%kernel.project_dir%/public/uploads" mshop: customer: manager: name: FosUser password: name: Bcrypt ``` To configure the Aimeos routing, create the file `./config/routes/aimeos_shop.yaml` with these lines: ```yaml aimeos_shop: resource: "@AimeosShopBundle/config/routing.yaml" ``` The same applies for the FosUser bundle. Create the file `./config/routes/fos_user.yaml` containing: ```yaml fos_user: resource: "@FOSUserBundle/Resources/config/routing/all.xml" ``` Make sure that the database is set up and it is configured in your `./config/packages/doctrine.yaml`: ```yaml parameters: env(DATABASE_URL): '' database_host: <your host/ip> database_port: <your port> database_name: <your database> database_user: <db username> database_password: <db password> ``` Also, you have to configure your database credentials in the `.env` file: `DATABASE_URL=mysql://db_user:[email protected]:3306/db_name` If you want to use a database server other than MySQL, please have a look into the article about [supported database servers](https://aimeos.org/docs/latest/infrastructure/databases/) and their specific configuration. If you don't use Sendmail but SMTP for sending e-mails, you have to adapt the `MAILER_URL` configuration in your `.env` file, e.g.: `MAILER_URL=smtp://smtp.mailtrap.io:2525?encryption=tls&auth_mode=login&username=...&password=...` ## Composer Then add these lines to your `composer.json` of your Symfony project: ```json "prefer-stable": true, "minimum-stability": "dev", "require": { "aimeos/aimeos-symfony": "~2023.10", "friendsofsymfony/user-bundle": "^3.2", ... }, "scripts": { "post-install-cmd": [ "Aimeos\\ShopBundle\\Composer\\ScriptHandler::installBundle", "Aimeos\\ShopBundle\\Composer\\ScriptHandler::setupDatabase", ... ], "post-update-cmd": [ "Aimeos\\ShopBundle\\Composer\\ScriptHandler::installBundle", "Aimeos\\ShopBundle\\Composer\\ScriptHandler::setupDatabase", ... ] } ``` Afterwards, install the Aimeos shop bundle using `composer update` In a production environment or if you don't want that the demo data gets installed, use the --no-dev option: `SYMFONY_ENV=prod composer update --no-dev` If you get an exception that the `SensioGeneratorBundle` isn't found, follow the steps described in the [Aimeos Symfony forum post](https://aimeos.org/help/symfony-bundle-f17/symfony-env-prod-composer-update-no-dev-t1488.html#p6384) Start the PHP web server in the base directory of your application to do some quick tests: ```php -S 127.0.0.1:8000 -t public``` Then, you should be able to call the catalog list page in your browser using ```http://127.0.0.1:8000/shop``` ## Login and Admin Setting up the administration interface is a matter of configuring the Symfony firewall to restrict access to the admin URLs. Setting up the security configuration is the most complex part. The firewall setup in `./config/packages/security.yaml` should look like this one: ```yaml security: providers: aimeos: entity: { class: Aimeos\ShopBundle\Entity\FosUser, property: username } password_hashers: Aimeos\ShopBundle\Entity\FosUser: bcrypt firewalls: aimeos_admin: pattern: ^/admin provider: aimeos form_login: login_path: /admin check_path: /admin_check aimeos_myaccount: pattern: ^/ form_login: provider: aimeos csrf_token_manager: security.csrf.token_manager logout: true access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/profile, roles: ROLE_USER } - { path: ^/admin/.+, roles: [ROLE_ADMIN, ROLE_SUPER_ADMIN] } ``` **Caution:** The order of the configuration settings in this file is important! These settings will protect the ```/admin/*``` URLs from unauthorized access from someone without admin privileges. The `/profile` URL is protected by the FOS user bundle as well, which also offers user registration. As last step, you have to create an admin account using the Symfony command line: ```bash ./bin/console aimeos:account --admin [email protected] ``` The e-mail address is the user name for login and the account will work for the frontend too. To protect the new account, the command will ask you for a password. The same command can create limited accounts by using "--editor" instead of "--admin". If you use "--super" the account will have access to all sites. If the PHP web server is still running (`php -S 127.0.0.1:8000 -t public`), you should be able to call the admin login page in your browser using ```http://127.0.0.1:8000/admin``` and authenticating with your e-mail and the password which has been asked for by the `aimeos:account` command. ## Hints To simplify development, you should configure to use no content cache. You can do this by adding these lines to `./config/packages/aimeos_shop.yaml`: ```yaml aimeos_shop: madmin: cache: manager: name: None ``` ## License The Aimeos Symfony bundle is licensed under the terms of the MIT license and is available for free. ## Links * [Web site](https://aimeos.org/Symfony) * [Documentation](https://aimeos.org/docs/latest/symfony/) * [Forum](https://aimeos.org/help/symfony-bundle-f17/) * [Issue tracker](https://github.com/aimeos/aimeos-symfony/issues) * [Composer packages](https://packagist.org/packages/aimeos/aimeos-symfony) * [Source code](https://github.com/aimeos/aimeos-symfony)

CSS Frameworks & UI Kits E-commerce Platforms Marketplace & Multi-vendor
1.5K Github Stars
aimeos-docs
Open Source

aimeos-docs

# Aimeos Documentation Everyone is invited to improve the documentation! :-) ## How to contribute Just fork the repository, edit and add files, commit your changes and create a pull request: ![Fork Aimeos docs](https://aimeos.org/fileadmin/user_upload/aimeos-docs-repo.png) ## Local setup (optional) Read on, if you want to know, how to edit the documentation locally using Git and preview your changes on your local machine. ### Setting up a git workflow - Create a free github account, if you do not already have one - Go to `https://github.com/aimeos/aimeos-docs` and fork the repo (click on the "Fork" button on the top right, see image above) - In your terminal, clone the forked repo to a destination of your choice with: ```bash > git clone https://github.com/[YOUR-GITHUB-ACCOUNT]/aimeos-docs.git ``` This creates a folder called *aimeos-docs*. - Change into your newly created local *aimeos-docs* folder and add upstream links to be able to always keep your local clone up-to-date: ```bash > cd aimeos-doc > git remote add upstream git://github.com/aimeos/aimeos-docs.git ``` You can verify your git configuration using `git remote -v`: ```bash > git remote -v origin https://github.com/<YOUR_GITHUB_REPO>/aimeos-docs.git (fetch) origin https://github.com/<YOUR_GITHUB_REPO>/aimeos-docs.git (push) upstream git://github.com/aimeos/aimeos-docs.git (fetch) upstream git://github.com/aimeos/aimeos-docs.git (push) ``` Keep your local clone and your fork up-to-date with: ```bash > git fetch upstream > git merge upstream/master master > git push ``` Optional: ```bash > git rebase upstream/master ``` - For each change you would like to commit, create and checkout a new branch, e.g.: ```bash > git checkout -b <name-of-your-current-commit-branch> ``` - Edit the mardown files you wish to contribute to, add a comment and push them to your fork: ```bash > git add <the-file-you-just-edited>.md > git commit -m '<describe briefly, what you changed>' > git push -u origin <name-of-your-current-commit-branch> ``` - Go to your *aimeos-docs* fork in your github account and create a [pull request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request ). - Once your are finished with your commit, don't forget to switch back to the master branch in your local clone: ``` BASH > git checkout master ``` - Once your commit is merged, you can delete your local and remote branches again with: ```bash > git branch --delete <branch_name> > git push origin --delete <branch_name> ``` Then update your local clone and your github fork again with: ```bash > git fetch upstream > git merge upstream/master master > git push ``` ### Build and live reload your local clone (optional) Contributing to *aimeos-docs* does not require anything else but editing the markdown files. However, if you would like to run a local version of the generated docs, you need Python 3. This enables the local generation of the complete *aimeos-docs* as well as running a local development server that reloads automatically as soon as changes to the repository files are detected. #### Install Python 3 Please refer to sources on the internet for explanations on how to install Python 3 on your operating system. One such resource would be [Real Python: Installing Python](https://realpython.com/installing-python/). #### Install mkdocs and required dependencies *aimeos-docs* uses [mkdocs](https://www.mkdocs.org/) to create static html files from markdown files. Install `mkdocs` and the dependencies required by *aimeos-docs* with `pip`: ```bash pip install mkdocs mkdocs-material pip install plugins/ ``` #### Start the local server Run `mkdocs serve` to start a local server on `http://127.0.0.1:8000`. Now, whenever you make changes to any file, the server will automatically reload and display your edited version. #### Build the docs To build the *aimeos-docs* locally, use `mkdocs build`. You can now open the documentation in your browser from the newly generated `<your-aimeos-docs-clone-folder>/docs`´s index.html. #### Troubleshooting Due to some configuration limits, `mkdocs serve` will tell you that it couldn't find `versions.js`. Also, `mkdocs serve` as well as `mkdocs build` might warn about an unknown `analytics` configuration attribute. You can safely ignore these warnings.

Documentation
1K Github Stars