PHPackages                             o3-shop/o3-child - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. o3-shop/o3-child

ActiveO3shop-theme

o3-shop/o3-child
================

This is a child theme

1.0.0(3w ago)01↑2900%1GPL-3.0-onlyPHP

Since Jun 5Pushed todayCompare

[ Source](https://github.com/o3-shop/o3-child)[ Packagist](https://packagist.org/packages/o3-shop/o3-child)[ Docs](https://www.o3-shop.com/)[ RSS](/packages/o3-shop-o3-child/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (2)Used By (0)

o3-shop Childtheme
------------------

[](#o3-shop-childtheme)

### Shopversion

[](#shopversion)

o3-shop

### general information

[](#general-information)

This o3-shop child theme can be used for update-safe adjustments to the o3-shop theme.

The folder structure already exists, so you just have to copy the files you want to change from o3-shop into the corresponding folder. If the child theme is activated, the files it contains are primarily used by the o3 shop.

Don't copy all the files into the child theme, just the ones you want to customize! The o3-shop takes the files that are not in the child theme from the original o3 theme.

### Installation (short version)

[](#installation-short-version)

`composer require o3-shop/o3-child`

### Installation (long version)

[](#installation-long-version)

Create a connection to the server on which your o3-shop eShop is located via SSH client. Go to your o3-shop project directory, where the composer.json file and the source and vendor folders are located. Run the following command there: `composer require o3-shop/o3-child`

### Activate child theme

[](#activate-child-theme)

In the admin area under *Extensions → Themes → o3-child\_ChildTheme* click the *Activate* button. Then clear the cache and off you go!

The "parent theme" may need to be updated to the current version!

### Development

[](#development)

**Use this method if:** You want to customize the theme or develop new features.

RequirementMinimum VersionNotesNode.jsv22.13.0[Download](https://nodejs.org/)npm10.xIncluded with Node.jsGulp CLI3.0.0[Download](https://gulpjs.com/)#### Copy build files for existing theme

[](#copy-build-files-for-existing-theme)

```
cp -r /vendor/o3-shop/o3-theme/build /source/Application/views/o3-child
cp -r /vendor/o3-shop/o3-theme/package.json /source/Application/views/o3-child
```

Available gulp tasks (run from the theme root):

CommandWhat it doesWhen`gulp`Production build: minified JS/CSS, PurgeCSS pruning, asset optimizationbefore shipping`gulp dev`Watcher: rebuilds JS on `build/js/**` change, rebuilds CSS on `build/scss/**` change, clears the shop's Smarty `tmp/` on `**/*.tpl` and translation-file changesday-to-dayWhile running `gulp dev`, keep the shop in dev mode (theme settings → disable production mode) so the browser serves the un-minified assets and source maps.

There's a small in-frontend **mode-tool** widget that surfaces which mode the shop is currently in; enable it from the theme settings to avoid the "why isn't my change showing up?" tax.

---

### PurgeCSS safelist

[](#purgecss-safelist)

Production builds run PurgeCSS over the compiled CSS and drop any class that isn't seen in the templates / JS. Classes constructed dynamically slip through:

```
{* dynamic class — PurgeCSS doesn't see "grid-view" or "line-view" anywhere literal *}

```

Add those to the safelist in `gulpfile.js` (the PurgeCSS config block, around line 81):

```
safelist: [
    'grid-view',
    'line-view',
    /^custom-/,   // patterns work too
]
```

---

### Where to put new SCSS / JS

[](#where-to-put-new-scss--js)

#### JavaScript

[](#javascript)

- **Main bundle** — `build/js/main.bundle.js`. `import` new modules here to ship them in the main page bundle.
- **Standalone widgets** — `build/js/widgets/`. Loaded explicitly from templates:

    ```
    [{oxscript include="js/widgets/checkagb.js" priority=10}]
    ```

JavaScript shipped by modules can also be folded into `main.bundle.js`; the file's header comments give worked examples.

#### SCSS

[](#scss)

- **Main bundle** — `build/scss/main.bundle.scss`. `@import` your partials here to include them globally.

Same pattern for module SCSS: examples in the bundle file's comments.

---

### jQuery

[](#jquery)

The theme targets Bootstrap 5, which uses vanilla JS rather than jQuery, so the global jQuery is not loaded by default.

If a third-party module genuinely needs jQuery, enable it from the theme settings (same version the legacy wave theme used). Build-time deprecation warnings around jQuery are harmless and will disappear once Bootstrap moves past its current compat shims.

---

### PayPal compatibility

[](#paypal-compatibility)

The PayPal module's template checks the active theme literal:

```
[{if $oViewConf->getActiveTheme()=='flow'}]
```

If you're integrating PayPal with o3-theme, change `'flow'` to `'o3-theme'` in that template. (Tracked separately as something the module should handle itself.)

---

### Issues

[](#issues)

Report bugs and feature requests on the umbrella project tracker:

Tag with the project name **O3 Theme** so triage finds them. Issues that are clearly theme-internal (build, SCSS, JS bundling) can also go straight on this repo's tracker: .

### License

[](#license)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see .

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance98

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 Bus Factor1

Top contributor holds 83.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

22d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/53b105106ade5f151851db1839b344f7be04f17d881c49ca0f4da0867d5b2d82?d=identicon)[o3-shop](/maintainers/o3-shop)

---

Top Contributors

[![swinde](https://avatars.githubusercontent.com/u/3349884?v=4)](https://github.com/swinde "swinde (15 commits)")[![ralftrapp](https://avatars.githubusercontent.com/u/74130839?v=4)](https://github.com/ralftrapp "ralftrapp (3 commits)")

---

Tags

themeseshopO3-Shop

### Embed Badge

![Health badge](/badges/o3-shop-o3-child/health.svg)

```
[![Health](https://phpackages.com/badges/o3-shop-o3-child/health.svg)](https://phpackages.com/packages/o3-shop-o3-child)
```

###  Alternatives

[oxid-esales/twig-admin-theme

This is a Twig version of the Admin Theme for OXID eShop.

16546.2k5](/packages/oxid-esales-twig-admin-theme)[oxid-esales/apex-theme

APEX Theme

19131.4k9](/packages/oxid-esales-apex-theme)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
