Raised: $0
0% of monthly goal Help us cross the finish line!
Goal: $12,000
Raised: $0 Goal: $12,000
0% of monthly goal Help us cross the finish line!
Sponsor DDEV

If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.

add-on registry tests last commit release

ddev-oxid

ddev-oxid is a DDEV add-on designed to streamline the installation and configuration of the OXID eShop within a DDEV environment. It automates common setup tasks, making it easier and faster for developers to get a fully configured OXID eShop up and running locally.

Why use ddev-oxid?

Requirements

Quick start

In an empty project directory:

ddev config --project-type=php --php-version=8.3
ddev add-on get dazi-web/ddev-oxid
ddev restart
ddev install-oxid

ddev install-oxid guides you through the rest:

  1. Pick OXID 7 (default) or 6.
  2. Pick a version. Only versions that fit the PHP version of the project are listed, the newest is recommended (just press Enter).
  3. Choose the quick installation (demo data, an admin user with a generated password, default theme) or answer the individual questions.

At the end you get the shop URL, the admin URL and the login. The checks run before the first question: a non-empty htdocs, a missing ddev restart (wrong docroot) or a PHP version that does not fit are reported right away.

Which PHP version to use: OXID 7.5 needs PHP 8.3, 7.2 to 7.4 need 8.2 or newer, 7.1 needs 8.1, 7.0 needs 8.0. OXID 6.5 runs on PHP 7.4 to 8.1.

Non-interactive installation

--quick (or -y) accepts all defaults without any question: OXID 7 unless --major is given, the newest stable version that fits the project’s PHP version, demo data, an admin user [email protected] with a generated password, the default theme. Every flag overrides its default:

ddev install-oxid --quick
ddev install-oxid --major=7 --version=dev-b-7.4-ce --language=de --demo-data \
  --admin-email=[email protected] --admin-password=secret --theme=apex

Flags: --quick / -y, --major (6 or 7), --version (e.g. dev-b-7.4-ce), --edition (ce default, pe, ee), --language (OXID 7), --demo-data / --no-demo-data, --admin-email, --admin-password (or env OXID_ADMIN_PASSWORD), --no-admin, --license-key, --theme, --shop-url.

Tested with

Installation and all commands were tested with OXID CE 7.4 (PHP 8.2) and OXID CE 6.5 (PHP 7.4) on DDEV 1.25. The minimum PHP versions for the other OXID releases are taken from the OXID requirements and have not been tried out, and the PE and EE editions have not been tested.

Note: --admin-password and ddev oxid-admin pass the password as a command line argument, so it is visible in the process list inside the container while the command runs. This is fine for local development.

Commands

Command Description
ddev install-oxid Install and configure OXID eShop 6 or 7
ddev oxid-cc Clear the cache (source/tmp)
ddev oxid-views Regenerate the database views
ddev oxid-console <args> Run vendor/bin/oe-console
ddev oxid-module activate\|deactivate <id> Activate or deactivate a module
ddev oxid-theme <id> Activate a theme
ddev oxid-admin <email> <password> Create an admin user
ddev oxid-log [tail-args] Follow source/log/oxideshop.log (default: last 50 lines, live)
ddev oxid-reset [--demo-data] [-y] Drop the database and run the shop setup again
ddev oxid-version Show PHP and OXID package versions
ddev oxid-migrate Run database migrations
ddev oxid-update composer update, migrations, views, cache clear
ddev oxid-dev on\|off Switch iDebug in config.inc.php
ddev oxid-module-create <vendor> <id> Scaffold a module in source/modules
ddev oxid-open [shop\|admin] Open shop or admin in the browser (host command)
ddev oxid-db-dump [name] Export the DB to .ddev/db-dumps with a timestamp (host command)
ddev oxid-db-import [file] Import a dump, default: the newest (host command)

Tips

OXID 6 and OXID 7

ddev install-oxid asks for the major version (or takes --major=6|7). The versions differ, and the add-on handles that:

  OXID 6.x OXID 7.x
PHP 7.4 to 8.1 (ddev config --php-version=7.4) 8.0+, 7.5 needs 8.3
Shop setup done by the add-on (DB import, config, views); no oe:setup:shop oe:setup:shop
Theme flow by default, switch in the admin; ddev oxid-theme is not available apex by default, ddev oxid-theme works
Admin user ddev oxid-admin sets the credentials of the existing admin creates a new admin user
--language ignored (German and English are included) used
Composer security blocking is switched off for install and oxid-update, because the old dependencies have known advisories normal

After an OXID 6 installation, the setup directory is removed for security. The two SQL files needed by ddev oxid-reset are kept outside the web root in .ddev/oxid/legacy-sql.

Commands that do not exist in the installed version say so instead of failing with a stack trace. OXID 6 is no longer maintained, use it for legacy projects only.

If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.