what is the difference between extension and theme?

How to configure and adapt Aimeos based shops as developer
Forum rules
Always add your Aimeos and PHP version as well as your environment (Linux/Mac/Win)
Spam and unrelated posts will be removed immediately!
kuro
Posts: 9
Joined: 10 Oct 2023, 08:54

what is the difference between extension and theme?

Post by kuro » 19 Oct 2023, 03:07

what is the difference between extension and theme?
i made an extension named rosen(Aimeos 2023.x extension),and a theme named rosentheme(Laravel theme 2023.x extension),
they have two different cmd:

Code: Select all

composer req aimeos-extensions/rosen
composer req aimeos-themes/rosentheme

but when i make a change to
\myshop\packages\rosentheme\themes\client\html\rosentheme\aimeos.css or \myshop\packages\rosen\themes\client\html\rosen\aimeos.css ,
both of them not work :

Code: Select all

  2023-10-19 10:42:52 /vendor/shop/themes/default/app.js?v=1 .................................................... ~ 0s
  2023-10-19 10:42:52 /vendor/shop/themes/default/aimeos.js?v=1 ................................................. ~ 0s
  2023-10-19 10:42:52 /vendor/shop/themes/rosentheme/locale-select.js?v=1 ....................................... ~ 0s
  2023-10-19 10:42:52 /vendor/shop/themes/rosentheme/catalog-home.js?v=1 ........................................ ~ 0s
  2023-10-19 10:42:52 /vendor/shop/themes/rosentheme/cms-page.js?v=1 ............................................ ~ 0s
  2023-10-19 10:42:52 /vendor/shop/themes/rosentheme/catalog-filter.js?v=1 ...................................... ~ 0s
  2023-10-19 10:42:52 /vendor/shop/themes/rosentheme/slider.js?v=1 .............................................. ~ 0s
  2023-10-19 10:42:52 /vendor/shop/themes/rosentheme/catalog-lists.js?v=1 ....................................... ~ 0s
i tried

Code: Select all

php artisan aimeos:clear
php artisan cache:clear
still the same problem.
what is the difference between extension and theme?
which one should i use?
i need to chage some
css(for header),
templates\client\html\catalog\detail(for product details),
vendor\aimeos\aimeos-core\config\controller.php(for img not render to too small) and \myshop\resources\views\vendor\shop\base.blade.php(for nav and foot views).
also, how can i remove the installed rosen and rosentheme?
(i used to change aimeos directly,and want to move to the recommend way)

aimeos - 2023.x(https://github.com/aimeos/aimeos)
php8.2.4
Nginx ,MariaDB

User avatar
aimeos
Administrator
Posts: 7895
Joined: 01 Jan 1970, 00:00

Re: what is the difference between extension and theme?

Post by aimeos » 19 Oct 2023, 07:45

An Aimeos extension should be used if you don't want to create your own theme but need to overwrite only templates and/or add custom classes.

Aimeos theme extensions are required if you want to create a custom theme and they already contain the same structure and code of an Aimeos extension, so you don't need both. The theme of an Aimeos theme extension needs to be configured in the Settings panel of the admin backend.

In your HTML, there seems to be a mix of default and rosentheme CSS/JS files for an unknown reason. What's the output of "composer show"?

You can remove the Aimeos extension and theme by removing them from your composer.json, run "composer up" and delete the directores in ./packages/ and ./public/shop/themes/

Warning to everybody:
You will burn in (developers) hell if you are changing files in the ./vendor directory!
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

kuro
Posts: 9
Joined: 10 Oct 2023, 08:54

Re: what is the difference between extension and theme?

Post by kuro » 19 Oct 2023, 09:01

shoul i remove these lines from D:\myshop\composer.json to uninstall theme and extensions?

Code: Select all

    "repositories": [{
        "type": "composer",
        "url": "https://packages.aimeos.org/aimeoscom"
    }, {
        "type": "path",
        "url": "packages/*"
    }],
then,run "composer up" and delete the directores in ./packages/ and ./public/shop/themes/
the output of "composer show"

Code: Select all

PS D:\myshop> composer show
aimeos-extensions/rosen            dev-main              Aimeos rosen extension
aimeos-themes/rosentheme           dev-main              Aimeos rosentheme theme
aimeos/ai-admin-graphql            2023.10.1             Aimeos Admin GraphQL API extension
aimeos/ai-admin-jqadm              2023.10.3             Aimeos VueJS+Bootstrap admin backend
aimeos/ai-admin-jsonadm            2023.10.1             Aimeos JSON admin API for backend
aimeos/ai-client-html              2023.10.3             Aimeos standard HTML frontend
aimeos/ai-client-jsonapi           2023.10.2             Aimeos frontend JSON REST API
aimeos/ai-cms-grapesjs             2023.10.2             Aimeos GrapesJS CMS extension
aimeos/ai-controller-frontend      2023.10.2             Aimeos business controller logic for frontend
aimeos/ai-controller-jobs          2023.10.2             Aimeos job controllers for long running tasks
aimeos/ai-laravel                  2023.10.1             Laravel adapter for Aimeos e-commerce integration
aimeos/aimeos-base                 2023.10.2             Aimeos base layer for abstracting from host environments
aimeos/aimeos-core                 2023.10.2             Full-featured e-commerce components for high performance ...
aimeos/aimeos-laravel              2023.10.x-dev e09f6da Professional, full-featured and high performance Laravel ...
aimeos/macro                       1.0.0                 Dynamically extend objects by custom methods
aimeos/map                         3.5.0                 Easy and elegant handling of PHP arrays as array-like col...
aimeos/upscheme                    0.8.8                 Database schema upgrades made easy
brick/math                         0.11.0                Arbitrary-precision arithmetic library
dflydev/dot-access-data            v3.0.2                Given a deep data structure, access data by dot notation.
doctrine/cache                     2.2.0                 PHP Doctrine Cache library is a popular cache implementat...
doctrine/dbal                      3.7.1                 Powerful PHP database abstraction layer (DBAL) with many ...
doctrine/deprecations              v1.1.1                A small layer on top of trigger_error(E_USER_DEPRECATED) ...
doctrine/event-manager             2.0.0                 The Doctrine Event Manager is a simple PHP event system t...
doctrine/inflector                 2.0.8                 PHP Doctrine Inflector is a small library that can perfor...
doctrine/lexer                     3.0.0                 PHP Doctrine Lexer parser library that can be used in Top...
dragonmantank/cron-expression      v3.3.3                CRON for PHP: Calculate the next or previous run date and...
egulias/email-validator            4.0.1                 A library for validating emails against several RFCs
enshrined/svg-sanitize             0.15.4                An SVG sanitizer for PHP
fakerphp/faker                     v1.23.0               Faker is a PHP library that generates fake data for you.
filp/whoops                        2.15.3                php error handling for cool kids
fruitcake/php-cors                 v1.2.0                Cross-origin resource sharing library for the Symfony Htt...
graham-campbell/result-type        v1.1.1                An Implementation Of The Result Type
guzzlehttp/guzzle                  7.8.0                 Guzzle is a PHP HTTP client library
guzzlehttp/promises                2.0.1                 Guzzle promises library
guzzlehttp/psr7                    2.6.1                 PSR-7 message implementation that also provides common ut...
guzzlehttp/uri-template            v1.0.2                A polyfill class for uri_template of PHP
hamcrest/hamcrest-php              v2.0.1                This is the PHP port of Hamcrest Matchers
laminas/laminas-diactoros          3.2.0                 PSR HTTP Message implementations
laravel/breeze                     v1.24.1               Minimal Laravel authentication scaffolding with Blade and...
laravel/framework                  v10.27.0              The Laravel Framework.
laravel/pint                       v1.13.3               An opinionated code formatter for PHP.
laravel/prompts                    v0.1.10
laravel/sail                       v1.24.1               Docker files for running a basic Laravel application.
laravel/sanctum                    v3.3.0                Laravel Sanctum provides a featherweight authentication s...
laravel/serializable-closure       v1.3.1                Laravel Serializable Closure provides an easy and secure ...
laravel/tinker                     v2.8.2                Powerful REPL for the Laravel framework.
league/commonmark                  2.4.1                 Highly-extensible PHP Markdown parser which fully support...
league/config                      v1.2.0                Define configuration arrays with strict schemas and acces...
league/flysystem                   3.17.0                File storage abstraction for PHP
league/flysystem-local             3.16.0                Local filesystem adapter for Flysystem.
league/mime-type-detection         1.13.0                Mime-type detection for Flysystem
mockery/mockery                    1.6.6                 Mockery is a simple yet flexible PHP mock object framework
monolog/monolog                    3.4.0                 Sends your logs to files, sockets, inboxes, databases and...
myclabs/deep-copy                  1.11.1                Create deep copies (clones) of your objects
nesbot/carbon                      2.70.0                An API extension for DateTime that supports 281 different...
nette/schema                       v1.2.4                📐 Nette Schema: validating data structures against a g...
nette/utils                        v4.0.2                🛠  Nette Utils: lightweight utilities for string & arr...
nikic/php-parser                   v4.17.1               A PHP parser written in PHP
nunomaduro/collision               v7.10.0               Cli error handling for console/command-line PHP applicati...
nunomaduro/termwind                v1.15.1               Its like Tailwind CSS, but for the console.
nyholm/psr7                        1.8.0                 A fast PHP7 implementation of PSR-7
phar-io/manifest                   2.0.3                 Component for reading phar.io manifest information from a...
phar-io/version                    3.2.1                 Library for handling version information and constraints
phpoption/phpoption                1.9.1                 Option Type for PHP
phpunit/php-code-coverage          10.1.7                Library that provides collection, processing, and renderi...
phpunit/php-file-iterator          4.1.0                 FilterIterator implementation that filters files based on...
phpunit/php-invoker                4.0.0                 Invoke callables with a timeout
phpunit/php-text-template          3.0.1                 Simple template engine.
phpunit/php-timer                  6.0.0                 Utility class for timing
phpunit/phpunit                    10.4.1                The PHP Unit Testing framework.
psr/cache                          3.0.0                 Common interface for caching libraries
psr/clock                          1.0.0                 Common interface for reading the clock.
psr/container                      2.0.2                 Common Container Interface (PHP FIG PSR-11)
psr/event-dispatcher               1.0.0                 Standard interfaces for event handling.
psr/http-client                    1.0.3                 Common interface for HTTP clients
psr/http-factory                   1.0.2                 Common interfaces for PSR-7 HTTP message factories
psr/http-message                   1.1                   Common interface for HTTP messages
psr/log                            3.0.0                 Common interface for logging libraries
psr/simple-cache                   3.0.0                 Common interfaces for simple caching
psy/psysh                          v0.11.22              An interactive shell for modern PHP.
ralouphie/getallheaders            3.0.3                 A polyfill for getallheaders.
ramsey/collection                  2.0.0                 A PHP library for representing and manipulating collections.
ramsey/uuid                        4.7.4                 A PHP library for generating and working with universally...
sebastian/cli-parser               2.0.0                 Library for parsing CLI options
sebastian/code-unit                2.0.0                 Collection of value objects that represent the PHP code u...
sebastian/code-unit-reverse-lookup 3.0.0                 Looks up which function or method a line of code belongs to
sebastian/comparator               5.0.1                 Provides the functionality to compare PHP values for equa...
sebastian/complexity               3.1.0                 Library for calculating the complexity of PHP code units
sebastian/diff                     5.0.3                 Diff implementation
sebastian/environment              6.0.1                 Provides functionality to handle HHVM/PHP environments
sebastian/exporter                 5.1.1                 Provides the functionality to export PHP variables for vi...
sebastian/global-state             6.0.1                 Snapshotting of global state
sebastian/lines-of-code            2.0.1                 Library for counting the lines of code in PHP source code
sebastian/object-enumerator        5.0.0                 Traverses array structures and object graphs to enumerate...
sebastian/object-reflector         3.0.0                 Allows reflection of object attributes, including inherit...
sebastian/recursion-context        5.0.0                 Provides functionality to recursively process PHP variables
sebastian/type                     4.0.0                 Collection of value objects that represent the types of t...
sebastian/version                  4.0.1                 Library that helps with managing the version number of Gi...
spatie/backtrace                   1.5.3                 A better backtrace
spatie/flare-client-php            1.4.3                 Send PHP errors to Flare
spatie/ignition                    1.11.2                A beautiful error page for PHP applications.
spatie/laravel-ignition            2.3.0                 A beautiful error page for Laravel applications.
symfony/console                    v6.3.4                Eases the creation of beautiful and testable command line...
symfony/css-selector               v6.3.2                Converts CSS selectors to XPath expressions
symfony/deprecation-contracts      v3.3.0                A generic function and convention to trigger deprecation ...
symfony/error-handler              v6.3.5                Provides tools to manage errors and ease debugging PHP code
symfony/event-dispatcher           v6.3.2                Provides tools that allow your application components to ...
symfony/event-dispatcher-contracts v3.3.0                Generic abstractions related to dispatching event
symfony/finder                     v6.3.3                Finds files and directories via an intuitive fluent inter...
symfony/http-foundation            v6.3.5                Defines an object-oriented layer for the HTTP specification
symfony/http-kernel                v6.3.5                Provides a structured process for converting a Request in...
symfony/mailer                     v6.3.5                Helps sending emails
symfony/mime                       v6.3.5                Allows manipulating MIME messages
symfony/polyfill-ctype             v1.28.0               Symfony polyfill for ctype functions
symfony/polyfill-intl-grapheme     v1.28.0               Symfony polyfill for intl's grapheme_* functions
symfony/polyfill-intl-idn          v1.28.0               Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 ...
symfony/polyfill-intl-normalizer   v1.28.0               Symfony polyfill for intl's Normalizer class and related ...
symfony/polyfill-mbstring          v1.28.0               Symfony polyfill for the Mbstring extension
symfony/polyfill-php72             v1.28.0               Symfony polyfill backporting some PHP 7.2+ features to lo...
symfony/polyfill-php80             v1.28.0               Symfony polyfill backporting some PHP 8.0+ features to lo...
symfony/polyfill-php83             v1.28.0               Symfony polyfill backporting some PHP 8.3+ features to lo...
symfony/polyfill-uuid              v1.28.0               Symfony polyfill for uuid functions
symfony/process                    v6.3.4                Executes commands in sub-processes
symfony/psr-http-message-bridge    v2.3.1                PSR HTTP message bridge
symfony/routing                    v6.3.5                Maps an HTTP request to a set of configuration variables
symfony/service-contracts          v3.3.0                Generic abstractions related to writing services
symfony/string                     v6.3.5                Provides an object-oriented API to strings and deals with...
symfony/translation                v6.3.3                Provides tools to internationalize your application
symfony/translation-contracts      v3.3.0                Generic abstractions related to translation
symfony/uid                        v6.3.0                Provides an object-oriented API to generate and represent...
symfony/var-dumper                 v6.3.5                Provides mechanisms for walking through any arbitrary PHP...
symfony/yaml                       v6.3.3                Loads and dumps YAML files
tecnickcom/tcpdf                   6.6.5                 TCPDF is a PHP class for generating PDF documents and bar...
theseer/tokenizer                  1.2.1                 A small library for converting tokenized PHP source code ...
tijsverkoyen/css-to-inline-styles  2.2.6                 CssToInlineStyles is a class that enables you to convert ...
vlucas/phpdotenv                   v5.5.0                Loads environment variables from `.env` to `getenv()`, `$...
voku/portable-ascii                2.0.1                 Portable ASCII library - performance optimized (ascii) st...
webmozart/assert                   1.11.0                Assertions to validate method input/output with nice erro...
webonyx/graphql-php                v15.7.0               A PHP port of GraphQL reference implementation

User avatar
aimeos
Administrator
Posts: 7895
Joined: 01 Jan 1970, 00:00

Re: what is the difference between extension and theme?

Post by aimeos » 19 Oct 2023, 09:04

kuro wrote: 19 Oct 2023, 09:01 shoul i remove these lines from D:\myshop\composer.json to uninstall theme and extensions?

Code: Select all

    "repositories": [{
        "type": "composer",
        "url": "https://packages.aimeos.org/aimeoscom"
    }, {
        "type": "path",
        "url": "packages/*"
    }],
No, these lines are still required but the lines in the "require" section must be removed if you want to delete your extensions:

Code: Select all

"aimeos-extensions/rosen": "dev-main",
"aimeos-themes/rosentheme": "dev-main",
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

kuro
Posts: 9
Joined: 10 Oct 2023, 08:54

Re: what is the difference between extension and theme?

Post by kuro » 20 Oct 2023, 00:56

thank you,
but why the default files still used?

User avatar
aimeos
Administrator
Posts: 7895
Joined: 01 Jan 1970, 00:00

Re: what is the difference between extension and theme?

Post by aimeos » 23 Oct 2023, 08:06

Is that also the case if you delete all entries in the madmin_cache table?
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

Post Reply