Installation
composer require masando/edemy-design-bundle
Ensure eDemyFramework is installed as a dependency (check composer.json for masando/edemy-framework).
Enable the Bundle
Add to config/bundles.php:
Masando\eDemyDesignBundle\eDemyDesignBundle::class => ['all' => true],
First Use Case Load a default design template:
{% block stylesheets %}
{{ parent() }}
{{ edemy_design('default') }}
{% endblock %}
Verify the bundle’s assets (CSS/JS) are registered in app/config/design.php.
Dynamic Design Switching
// In a Controller
$this->get('edemy_design')->setTheme('admin');
Useful for multi-tenant or role-based designs.
Asset Integration
Override default assets via app/config/design.php:
'themes' => [
'default' => [
'css' => ['css/main.css', 'css/override.css'],
'js' => ['js/app.js'],
],
],
Twig Extensions Extend Twig templates with design-specific blocks:
{% block edemy_header %}
<header class="custom-header">{{ parent() }}</header>
{% endblock %}
{{ form_row(form.field, {'attr': {'class': 'edemy-form-control'}}) }}
Missing Framework Dependency
Class 'eDemyFramework' not found.masando/edemy-framework explicitly.Asset Path Conflicts
public/ permissions and design.php paths are correct.Twig Block Overrides
{{ parent() }} may break inherited layouts.$this->get('edemy_design')->getActiveTheme(); // Debug current theme
php bin/console cache:clear
After modifying design.php.Custom Themes
Create a new theme directory in src/Masando/eDemyDesignBundle/Resources/themes/ and update design.php:
'themes' => [
'custom' => [
'path' => '@eDemyDesignBundle/Resources/themes/custom',
],
],
Hook into Design Events Listen for theme changes via Symfony events (if supported):
// config/services.yaml
Masando\eDemyDesignBundle\EventListener\ThemeListener:
tags:
- { name: kernel.event_listener, event: edemy.design.theme_changed, method: onThemeChange }
How can I help you explore Laravel packages today?