PHPackages                             symedit/theme-bundle - 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. [Framework](/categories/framework)
4. /
5. symedit/theme-bundle

ActiveSymfony-bundle[Framework](/categories/framework)

symedit/theme-bundle
====================

Theming for Symfony2

v0.11(10y ago)113PHP

Since May 1Pushed 9y ago1 watchersCompare

[ Source](https://github.com/symedit/ThemeBundle)[ Packagist](https://packagist.org/packages/symedit/theme-bundle)[ RSS](/packages/symedit-theme-bundle/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (20)Used By (0)

SymEdit Theme Bundle
====================

[](#symedit-theme-bundle)

```
symedit_theme:
    theme_directory: %kernel.root_dir%/../themes
    public_directory: themes
    active_theme: default
    templates:
        bundles: [AcmeDemoBundle]
```

The theme bundle will load templates from the `{theme\_directory}/{active\_theme}/templates folder. It also will allow you to use local assetic files. Themes are comprised of a simple YAML definition (in theme.yml):

```
name: default
parent: base
title: Default Theme
description: Default Theme for all websites
stylesheets:
    filters: [cssrewrite]
    inputs:
       - 'bundles/acmedemo/bootstrap/css/bootstrap.min.css'
       - 'bundles/acmedemo/css/font-awesome.min.css'
       - '@AcmeDemoBundle/Resources/less/site.less'
       - 'css/site.less' # Taken from /{active_theme}/css/site.less
javascripts:
    # Same as stylesheets
    inputs: []
```

You will now use your css in your templates like so:

```
{% stylesheets '@theme_css' %}

{% endstylesheets %}
```

You can always include other stylesheets there as well, the @theme\_css is mostly to be able to access local assets inside your theme. Any bundle assets from other bundles can be intermixed:

```
{% stylesheets
    '@theme_css'
    '@AcmeDemoBundle/Resources/less/site.less' %}

{% endstylesheets %}
```

This same applies for javascripts as well and you can get it through assetic by `@theme_js`.

Parent Themes
-------------

[](#parent-themes)

You can set your theme to have a parent (should be the slug of the theme, and themes are located in %theme\_dir%/{theme\_name}/theme.yml). If your theme has a parent, then those templates are second in line to be used. After that are the overrides. If you use an override like "Framework" then templates being referenced like: @Framework/template.html.twig will instead use your theme directories to find a template. Likewise, if you use @Theme/template.html and it only existed in the @Framework namespace, it would still work.

When using a parent theme, you can also store your assets in any theme you'd like, or have them split up. It will start with your current theme and move up through all parents trying to locate the resource, so assets in your current theme take precedence. This helps if you have lots of similar themes so you can store shared assets in a "base" theme.

Templates
---------

[](#templates)

All your template includes and `extends` should use the @Theme namespace:

```
{% extends '@Theme/Page/base.html.twig' %}

{% block content %}
    {% include '@Theme/Includes/content.html.twig' %}
{% endblock %}
```

### Parent Templates

[](#parent-templates)

You can also use the `@Parent` namespace to access parent templates. This allows you to easily override any part of a parent template without Twig trying to reference itself. If you're editing `@Theme/Page/base.html.twig` and a parent theme has the same template, you can extend it by using `@Parent/Page/base.html.twig`. It will search all parents starting with the most immediate until it finds one.

**This should only be used in themes that don't, or won't have any children! If you extend a theme that uses `@Parent` references, the theme itself becomes the parent and will end up referencing itself.**

Forms
-----

[](#forms)

You can select a template using the `template` form type:

```
$builder->add('page_template', 'template');
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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

Every ~31 days

Recently: every ~93 days

Total

19

Last Release

3846d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1325995?v=4)[Craig Blanchette](/maintainers/isometriks)[@isometriks](https://github.com/isometriks)

---

Top Contributors

[![isometriks](https://avatars.githubusercontent.com/u/1325995?v=4)](https://github.com/isometriks "isometriks (68 commits)")

### Embed Badge

![Health badge](/badges/symedit-theme-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/symedit-theme-bundle/health.svg)](https://phpackages.com/packages/symedit-theme-bundle)
```

###  Alternatives

[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)

PHPackages © 2026

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