PHPackages                             brunschgi/terrific-core-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. brunschgi/terrific-core-bundle

ActiveSymfony-bundle

brunschgi/terrific-core-bundle
==============================

Enables development of frontends based on the terrific concept

v1.0.1(13y ago)5702[1 issues](https://github.com/brunschgi/TerrificCoreBundle/issues)MITJavaScript

Since Oct 12Pushed 9y ago1 watchersCompare

[ Source](https://github.com/brunschgi/TerrificCoreBundle)[ Packagist](https://packagist.org/packages/brunschgi/terrific-core-bundle)[ RSS](/packages/brunschgi-terrific-core-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (6)Versions (3)Used By (0)

TerrificCoreBundle
==================

[](#terrificcorebundle)

The **TerrificCore** bundle makes it easy to develop frontends based on the [Terrific Concept](http://terrifically.org). It provides you a good starting point and useful features (eg. additional assetic filters) to streamline your frontend development.

The TerrificCore bundle has no dependencies but works best in combination with the [TerrificComposerBundle](https://github.com/brunschgi/TerrificComposerBundle). For installation of the TerrificComposerBundle, please follow the instructions [there](https://github.com/brunschgi/TerrificComposerBundle).

Installation
------------

[](#installation)

TerrificCoreBundle can be conveniently installed via Composer. Just add the following to your composer.json file:

```
// composer.json
{
    // ...
    require: {
        // ...
        "brunschgi/terrific-core-bundle": "dev-master"
    }
}

```

Note: Please replace dev-master in the snippet above with the latest stable branch, for example 1.0.\*. Please check the tags on Github for which versions are available. Then, you can install the new dependencies by running Composer’s update command from the directory where your composer.json file is located:

```
php composer.phar update

```

Now, Composer will automatically download all required files, and install them for you. All that is left to do is to update your AppKernel.php file, and register the new bundle:

```
// in AppKernel::registerBundles()
public function registerBundles()
{
    return array(
        // ...
        new Terrific\CoreBundle\TerrificCoreBundle(),
    );
}

```

Enable the new terrificrewrite filter in `app/config/config.yml`:

```
# app/config/config_dev.yml
# extend assetic filter configuration (rewrite of the backround image path in your terrific modules)
assetic:
    …
    filters:
        …
        terrificrewrite:
            resource: %kernel.root_dir%/../vendor/brunschgi/terrific-core-bundle/Terrific/CoreBundle/Resources/config/terrificrewrite.xml

```

Enable the bundle's configuration in `app/config/config_dev.yml`:

```
# app/config/config_dev.yml
terrific_core:
    copy_images: true # copy your module images on the fly without running `assets:install web`

```

Usage
-----

[](#usage)

To see the TerrificComposerCore in action, download the [Terrific Composer Distribution](http://terrifically.org/composer)and play around with the included examples. For more information about the Terrific Concept, please have a look at

After that, the below should be pretty straight forward ;-)

### Base Layout

[](#base-layout)

The base twig layout provides you everything you need to start with your Terrific project right away. Simple extend the base layout from your project layout:

```
{# eg. src/Terrific/Composition/Resources/views/base.html.twig #}
{% extends 'TerrificCoreBundle::base.html.twig' %}
...
```

The core layout provides you with several twig blocks to extend or overwrite. The most important ones are:

```
    {# main content of your page #}
    {% block composition %}here comes the content of the &lt;body&gt; element…{% endblock %}

    {# content of the &lt;title&gt; element #}
    {% block title %}Terrific Composer{% endblock %}

    {# placeholder for your meta tags (charset is always set to utf-8) #}
    {% block meta %}here comes your meta tags…{% endblock %}

    {# styles #}
    {% block styles %}
        {% stylesheets
            '@TerrificComposition/Resources/public/css/reset.less'
            '@TerrificComposition/Resources/public/css/grid.less'
            '@TerrificComposition/Resources/public/css/elements.less'
            output="css/compiled/project.css"
        %}

        {% endstylesheets %}

        {# styles from parent (terrific core) layout #}
        {{ parent() }}
    {% endblock %}

    {# scripts #}
    {% block scripts %}
        {% javascripts
            '../src/Terrific/Module/*/Resources/public/js/*.js'
            '../src/Terrific/Module/*/Resources/public/js/skin/*.js'
            output='js/compiled/base.js'
        %}

        {% endjavascripts %}
    {% endblock %}
```

For a full list of available blocks, please have a look at @TerrificCoreBundle::base.html.twig.

### Module Macro

[](#module-macro)

Every [Terrific Module](http://terrifically.org) is a separate bundle. The module macro makes it easy to mix and match them on your page. It works similar as the built-in twig helpers `include` and `render` and wraps your included / embedded module templates in the appropriate module ``, eg. `... your template ...`.

*Including Module Templates*

```
{# wrap & include the view template /src/Terrific/Module/Teaser/Resources/views/default.html.twig #}
{{ tc.module('Teaser', 'default') }}

{# wrap & include the view template /src/Terrific/Module/Teaser/Resources/views/Concept/reusability.html.twig #}
{{ tc.module('Teaser', 'Concept/reusability') }}

```

*Embedding Module Controller*

If you are building not just templates but real applications with Terrific, it might be useful to delegate all the data stuff to the module itself so that you don't have to repeat yourself.

```
{# wrap & embed the module controller /src/Terrific/Module/Navigation/Controller/NavigationController.php -> mainAction #}
{{ tc.module('Navigation', 'Navigation:main') }}

```

The module macro can take some more parameters than just the module name and the view.

```
{% macro module(name, view, skins, connectors, attrs, data) %}

```

For more detailed infos, please have a look at Twig/Extension/terrificcore.html.twig.

That's it… Enjoy!

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 86.7% 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 ~195 days

Total

2

Last Release

4762d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f395d78378849273a1f063502fd55cb2b578b0923b2643628e23f03851b697d6?d=identicon)[brunschgi](/maintainers/brunschgi)

---

Top Contributors

[![brunschgi](https://avatars.githubusercontent.com/u/316581?v=4)](https://github.com/brunschgi "brunschgi (26 commits)")[![beatgeb](https://avatars.githubusercontent.com/u/922337?v=4)](https://github.com/beatgeb "beatgeb (4 commits)")

---

Tags

frontendterrific

### Embed Badge

![Health badge](/badges/brunschgi-terrific-core-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/brunschgi-terrific-core-bundle/health.svg)](https://phpackages.com/packages/brunschgi-terrific-core-bundle)
```

###  Alternatives

[mexitek/phpcolors

A series of methods that let you manipulate colors. Just incase you ever need different shades of one color on the fly.

5003.6M18](/packages/mexitek-phpcolors)[bk2k/bootstrap-package

Bootstrap Package delivers a full configured frontend theme for TYPO3, based on the Bootstrap CSS Framework.

357891.4k72](/packages/bk2k-bootstrap-package)[helhum/typoscript-rendering

Can render a TypoScript path by URL, especially useful for Ajax dispatching

68653.7k12](/packages/helhum-typoscript-rendering)[in2code/femanager

Modern TYPO3 Frontend User Registration.

49745.4k6](/packages/in2code-femanager)[regularjack/frontend-bundle

A modern frontend development workflow for Symfony apps

3122.6k](/packages/regularjack-frontend-bundle)[evoweb/sf-register

Frontend User Registration

13177.1k1](/packages/evoweb-sf-register)

PHPackages © 2026

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