theme with multi-site does not work

Help for integrating the Laravel package
Forum rules
Always add your Laravel, Aimeos and PHP version as well as your environment (Linux/Mac/Win)
Spam and unrelated posts will be removed immediately!
mahmoud
Posts: 27
Joined: 27 Mar 2020, 22:01

theme with multi-site does not work

Post by mahmoud » 01 Jun 2021, 21:52

Hello,
windows 10: 64
PostgreSQL 9.6.15
Laravel Framework 8.37.0
PHP 7.4.16
"php": "^7.3|^8.0",
"aimeos/aimeos-laravel": "dev-master",

I modified the theme in my own extension everything works fine,
I switched to multi-site mode,
the theme of my own extension is no longer displayed, it displays the theme of aimeos extension. ai-client-html
codially

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

Re: theme with multi-site does not work

Post by aimeos » 03 Jun 2021, 08:52

In dev-master, we currently rework how different themes are included from extensions and how they can be selected in the backend. This isn't finished yet and if you need a stable version, then use 2021.04 instead until 2021.07 will be released.
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

mahmoud
Posts: 27
Joined: 27 Mar 2020, 22:01

Re: theme with multi-site does not work

Post by mahmoud » 25 Aug 2021, 22:39

Hi,
Now My project configration:

"php": "^7.3|^8.0",
"aimeos/ai-cms-grapesjs": "2021.07.4",
"aimeos/aimeos-laravel": "~2021.07",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^7.0.1",
"laravel/framework": "^8.12",

Now all my style changes in the templates extension are lost;
it displays the default aimeos themes.
Thank you.

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

Re: theme with multi-site does not work

Post by aimeos » 26 Aug 2021, 05:58

Please read this article how to create themes for Laravel in 2021.07+:
https://aimeos.org/docs/latest/laravel/themes/
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

mahmoud
Posts: 27
Joined: 27 Mar 2020, 22:01

Re: theme with multi-site does not work

Post by mahmoud » 27 Aug 2021, 03:46

Thank you very much for your answer,
I followed the steps it displays:

Code: Select all

 "repositories": [{
        "type": "composer",
        "url": "https://packages.aimeos.org/aimeoscom",
        
        "devotheme1": {
            "type": "path",
            "url": "packages/devotheme1"
        },
        "devotheme2": {
            "type": "path",
            "url": "packages/devotheme2"
        },
        "devotheme3": {
            "type": "path",
            "url": "packages/devotheme3"
        },
        "devotheme4": {
            "type": "path",
            "url": "packages/devotheme4"
        }
    }],
composer req aimeos-themes/devotheme1

Code: Select all

[InvalidArgumentException]                                                                                                                                            
  Could not find a matching version of package aimeos-themes/devotheme1. Check the package spelling, your version constraint and that the package is available in a s   
  tability which matches your minimum-stability (dev).         

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

Re: theme with multi-site does not work

Post by aimeos » 27 Aug 2021, 06:40

Which files does your ./packages/devotheme1/ directory contain and can you post the ./packages/devotheme1/composer.json file?
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

mahmoud
Posts: 27
Joined: 27 Mar 2020, 22:01

Re: theme with multi-site does not work

Post by mahmoud » 27 Aug 2021, 13:25

Code: Select all

{
	"name": "aimeos-themes/devotheme1",
	"description": "Aimeos devotheme1 extension",
	"keywords": ["aimeos", "extension"],
	"type": "aimeos-extension",
	"license": "LGPL-3.0",
	"prefer-stable": true,
	"minimum-stability": "dev",
	"require": {
		"php": "~7.1||~8.0",
		"aimeos/aimeos-laravel": "~2021.07"
	},
	"autoload": {
		"psr-4": {
			"Aimeos\\MW\\": "lib/mwlib/src/MW/",
			"Aimeos\\MShop\\": "lib/mshoplib/src/MShop/",
			"Aimeos\\MAdmin\\": "lib/mshoplib/src/MAdmin/",
			"Aimeos\\Controller\\Common\\": "controller/common/src/Controller/Common/",
			"Aimeos\\Controller\\Frontend\\": "controller/frontend/src/Controller/Frontend/",
			"Aimeos\\Controller\\Jobs\\": "controller/jobs/src/Controller/Jobs/",
			"Aimeos\\Admin\\Jsonadm\\": "admin/jsonadm/src/Admin/Jsonadm/",
			"Aimeos\\Admin\\JQAdm\\": "admin/jqadm/src/Admin/JQAdm/",
			"Aimeos\\Client\\Html\\": "client/html/src/Client/Html/",
			"Aimeos\\Client\\Jsonapi\\": "client/jsonapi/src/Client/Jsonapi/"
		},
		"classmap": [
			"client/html/src",
			"client/jsonapi/src",
			"admin/jqadm/src",
			"admin/jsonadm/src",
			"controller/common/src",
			"controller/frontend/src",
			"controller/jobs/src",
			"lib/custom/src",
			"ExtensionServiceProvider.php"
		]
	},
    "extra": {
        "laravel": {
            "providers": [
                "Aimeos\\devotheme\\ExtensionServiceProvider"
            ]
        }
    }
}
aimeos.png

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

Re: theme with multi-site does not work

Post by aimeos » 27 Aug 2021, 14:17

Your "repositories" section is wrong, it must be:

Code: Select all

    "repositories": [{
        "type": "composer",
        "url": "https://packages.aimeos.org/aimeoscom",
    },
    "devotheme1": {
            "type": "path",
            "url": "packages/devotheme1"
    },
    "devotheme2": {
            "type": "path",
            "url": "packages/devotheme2"
    },
    "devotheme3": {
            "type": "path",
            "url": "packages/devotheme3"
    },
    "devotheme4": {
            "type": "path",
            "url": "packages/devotheme4"
    }],
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

mahmoud
Posts: 27
Joined: 27 Mar 2020, 22:01

Re: theme with multi-site does not work

Post by mahmoud » 27 Aug 2021, 21:08

I think I didn't explain it well.
In my laravel application i have 4 themes (devotheme1,devotheme2,devotheme3,devotheme4) in packages folder.
...
├── packages
│└── devotheme1
│ └─composer.json
│└── devotheme2
│ └─composer.json
│└── devotheme3
│ └─composer.json
│└── devotheme4
│ └─ composer.json

the 4 themes are generated by laravel theme 2021.x extension (https://aimeos.org/extensions)

The laravel application composer.json

Code: Select all

{
    "name": "aimeos/aimeos",
    "description": "Aimeos shop system",
    "keywords": ["Aimeos", "e-commerce", "shop", "laravel", "distribution"],
    "license": "MIT",
    "type": "project",
    "prefer-stable": true,
    "minimum-stability": "dev",
    "repositories": [{
        "type": "composer",
        "url": "https://packages.aimeos.org/aimeoscom",
        
        "devotheme1": {
            "type": "path",
            "url": "packages/devotheme1"
        },
        "devotheme2": {
            "type": "path",
            "url": "packages/devotheme2"
        },
        "devotheme3": {
            "type": "path",
            "url": "packages/devotheme3"
        },
        "devotheme4": {
            "type": "path",
            "url": "packages/devotheme4"
        }
    }],
    "require": {
        "php": "^7.2||^8.0",
        "composer-runtime-api": "^2.1",
        "aimeos/aimeos-laravel": "2021.07.*",
        "aimeos/ai-cms-grapesjs": "2021.07.*",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "^6.20.12",
        "laravel/tinker": "^1.0",
        "laravel/ui": "^1.0"
    },
    "require-dev": {
        "facade/ignition": "^1.4",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^3.0",
        "phpunit/phpunit": "^8.0||^9.0"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi",
            "App\\Composer::configure",
            "@php artisan migrate",
            "App\\Composer::setup",
            "App\\Composer::account",
            "App\\Composer::success"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=public --force"
        ]
    }
}
The devotheme1 theme generated composer.json

Code: Select all

{
	"name": "aimeos-themes/devotheme1",
	"description": "Aimeos devotheme1 extension",
	"keywords": ["aimeos", "extension"],
	"type": "aimeos-extension",
	"license": "LGPL-3.0",
	"prefer-stable": true,
	"minimum-stability": "dev",
	
	"require": {
		"php": "~7.1||~8.0",
		"aimeos/aimeos-laravel": "~2021.07"
	},
	"autoload": {
		"psr-4": {
			"Aimeos\\MW\\": "lib/mwlib/src/MW/",
			"Aimeos\\MShop\\": "lib/mshoplib/src/MShop/",
			"Aimeos\\MAdmin\\": "lib/mshoplib/src/MAdmin/",
			"Aimeos\\Controller\\Common\\": "controller/common/src/Controller/Common/",
			"Aimeos\\Controller\\Frontend\\": "controller/frontend/src/Controller/Frontend/",
			"Aimeos\\Controller\\Jobs\\": "controller/jobs/src/Controller/Jobs/",
			"Aimeos\\Admin\\Jsonadm\\": "admin/jsonadm/src/Admin/Jsonadm/",
			"Aimeos\\Admin\\JQAdm\\": "admin/jqadm/src/Admin/JQAdm/",
			"Aimeos\\Client\\Html\\": "client/html/src/Client/Html/",
			"Aimeos\\Client\\Jsonapi\\": "client/jsonapi/src/Client/Jsonapi/"
		},
		"classmap": [
			"client/html/src",
			"client/jsonapi/src",
			"admin/jqadm/src",
			"admin/jsonadm/src",
			"controller/common/src",
			"controller/frontend/src",
			"controller/jobs/src",
			"lib/custom/src",
			"ExtensionServiceProvider.php"
		]
	},
    "extra": {
        "laravel": {
            "providers": [
                "Aimeos\\devotheme\\ExtensionServiceProvider"
            ]
        }
    }
}
Now when i do

Code: Select all

composer req aimeos-themes/devotheme1 
display

Code: Select all

[size=85][InvalidArgumentException]                                                                                                                                            
  Could not find a matching version of package aimeos-themes/devotheme1. Check the package spelling, your version constraint and that the package is available in a s   
  tability which matches your minimum-stability (dev).                                                                                                                  
                                                                                                                                                                        

require [--dev] [--dry-run] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--fixed] [--no-suggest] [--no-progress] [--no-update] [--no-install] [--no-scripts] [--update-no-dev] [-w|--update-with-dependencies] [-W|--update-with-all-dependencies] [--with-dependencies] [--with-all-dependencies] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--] [<packages>]...[/size]

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

Re: theme with multi-site does not work

Post by aimeos » 29 Aug 2021, 14:11

The "repositories" section of your root composer.json is invalid. Replace your section with the lines we've listed above.
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

Post Reply