FroshTools
FroshTools copied to clipboard
A collection of useful tools for Shopware 6
Frosh Tools
This plugin contains some utility functions for managing a Shopware 6 shop.
The current feature set consists of:
- System Status
- Checks PHP Version, MySQL, Queue is working etc.
- Checks for performance optimizations and links documentation
- Cache manager
- Lists App and Http Cache and all folders in var/cache
- Clear specific caches
- Compile theme
- Scheduled Task Manager
- Shows all Scheduled Tasks and can execute one specific
- Edit interval and next execution
- Register Scheduled Tasks
- Queue Manager
- Shows the amount of messages in the queue
- Reset queue
- Log viewer
- Shows the entries of /var/log/*.log files
- Task Logging
- Can be enabled with env
FROSH_TOOLS_TASK_LOGGING=1in.env. This will create a log invar/log/task_logging-xx.log- Set
FROSH_TOOLS_TASK_LOGGING_INFO=1in.envto log all tasks
- Set
- Can be enabled with env
- Shopware file checker
- Checks if core files have been changed
- State Machine Visualisation
- basic view of order, transaction and delivery states
- Override system config by config files
- Overwrite any system config value with static or environment values
Installation
Git
- Clone this repository into custom/plugins of your Shopware 6 installation
- Install composer dependencies
shopware-cli extension prepare custom/plugins/FroshTools - Build the assets with
shopware-cli extension build custom/plugins/FroshTools
Packagist
composer require frosh/tools
Store (Bearer token required from packages.shopware.com)
composer require store.shopware.com/froshtools
Commands
frosh:env:list - Listing of all environment variables
bin/console frosh:env:list
Lists as json output:
bin/console frosh:env:list --json
frosh:env:get - Get environment variables
bin/console frosh:env:get APP_URL
http://localhost
bin/console frosh:env:get APP_URL --key-value
APP_URL=http://localhost
bin/console frosh:env:get APP_URL --json
{
"APP_URL": "http:\/\/localhost"
}
frosh:env:set - Set environment variables
bin/console frosh:env:set VARIABLE VALUE
frosh:env:del - Delete environment variables
bin/console frosh:env:del VARIABLE
frosh:dev:robots-txt - For testshops - add/change robots.txt to stop crawlers
bin/console frosh:dev:robots-txt
frosh:dev:robots-txt -r - For testshops - revert changes in robots.txt
bin/console frosh:dev:robots-txt -r
frosh:plugin:update - update plugins with available updates at once
bin/console frosh:plugin:update
frosh:composer-plugin:update - update plugins managed by composer
bin/console frosh:composer-plugin:update
frosh:user:change:password - updates user password
bin/console frosh:user:change:password <username> [<password>]
frosh:monitor - Monitor your scheduled tasks and queue with this command and get notified via email.
bin/console frosh:monitor <sales-channel-id>
Suppress files from being restorable in FileChecker
# config/packages/frosh_tools.yaml
frosh_tools:
file_checker:
exclude_files:
- vendor/shopware/core/FirstFile.php
- vendor/shopware/core/SecondFile.php
Override system_config with config files
# config/packages/frosh_tools.yaml
frosh_tools:
system_config:
default:
core.listing.allowBuyInListing: true
The key default is the sales channel scope, default is null which is the global scope. You can specify a specific salesChannelId to overwrite the value
# config/packages/frosh_tools.yaml
frosh_tools:
system_config:
default:
core.listing.allowBuyInListing: true
# Disable it for the specific sales channel
0188da12724970b9b4a708298259b171:
core.listing.allowBuyInListing: false
As it is a normal Symfony config, you can of course use also environment variables
# config/packages/frosh_tools.yaml
frosh_tools:
system_config:
default:
core.listing.allowBuyInListing: '%env(bool:ALLOW_BUY_IN_LISTING)%'
# .env.local
ALLOW_BUY_IN_LISTING=true
Screenshots
