PHPackages                             heimrichhannot/contao-extassets - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. heimrichhannot/contao-extassets

ActiveContao-module[Utility &amp; Helpers](/categories/utility)

heimrichhannot/contao-extassets
===============================

External CSS &amp; JS assets groups with bootstrap and font-awesome support

1.4.1(8y ago)21.3k3[2 issues](https://github.com/heimrichhannot/contao-extassets/issues)1LGPL-3.0+PHPPHP ~5.4 || ~7.0

Since Nov 5Pushed 5y ago5 watchersCompare

[ Source](https://github.com/heimrichhannot/contao-extassets)[ Packagist](https://packagist.org/packages/heimrichhannot/contao-extassets)[ Docs](https://github.com/heimrichhannot/contao-extassets)[ RSS](/packages/heimrichhannot-contao-extassets/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (7)Versions (51)Used By (1)

Contao Extassets
================

[](#contao-extassets)

> This bundle is outdated and not actively maintained anymore! Please have a look at [Encore Bundle](https://github.com/heimrichhannot/contao-encore-bundle) if you need a good and actively maintained asset solution.

Create your own css &amp; js groups and add them to your contao theme layouts.

General features
----------------

[](#general-features)

- Backend Module for external css
- Backend Module for external js
- Add multiple CSS &amp; JS groups to contao layout
- Bootstrap framework support (for css by default, enable within js group)
- Font-Awesome added by default (availability of all variables and mixins)
- Elegant Icons can be added (availability of all variables and mixins)
- Css file caching for production mode (disable byPassCache in contao settings)

External CSS
------------

[](#external-css)

### Features

[](#features)

- Complete lesscss support, automatically compile all your less files within a external css group to css
- Observer folders (recursive) within your external css groups
- Add multiple custom variable files, to overwrite for example bootstrap variables.less (like @brand-primary)
- make use of all bootstrap mixins and variables within your own less files (See: )
- bootstrap print.css support
- Internet Explorer 6-9 - 4096 css-selector handling (Internet Explorer 6 - 9 has only a maximum of 4096 css-selectors possible per file. Extassets make usage of [https://github.com/zweilove/css\_splitter](https://github.com/zweilove/css_splitter) ans solve this problem by splitting aggregated files into parts.)
- all files within $GLOBALS\['TL\_USER\_CSS'\] will be parsed within external css groups

### Installation

[](#installation)

#### Contao 4.0

[](#contao-40)

1. Install via composer

```
composer require heimrichhannot/contao-extassets

```

2. Add the following to lines to the `$bundles` array in your `app/AppKernel.php`

```
/**
     * {@inheritdoc}
     */
    public function registerBundles()
    {
        $bundles = [
            …
            new ContaoModuleBundle('extassets', $this->getRootDir()),
            new ContaoModuleBundle('haste_plus', $this->getRootDir()),
        ];

        …
    }

```

3. Clear app chache

```
bin/console cache:clear -e prod

```

### Hooks

[](#hooks)

#### addCustomAssets

[](#addcustomassets)

Attach custom fonts or css libraries to extassets combiner.

```
// config.php
$GLOBALS['TL_HOOKS']['addCustomAssets'][] = array('MyClass', 'addCustomAssetsHook');

// MyClass.php

public function addCustomAssetsHook(\Less_Parser $objLess, $arrData, \ExtAssets\ExtCssCombiner $objCombiner)
{
    // example: add custom less variables to your css group to provide acces to mixins or variables in your external css files
    $this->objLess->parseFile('/assets/components/my-library/less/my-variables.less'));

    // example: add custom font to your css group
    $objFile = new \File('/assets/components/my-library/css/my-font.css, true);
    $strCss = $objFile->getContent();
    $strCss = str_replace("../fonts", '/assets/components/my-library/'), $strCss); // make font path absolut, mostly required
    $this->objLess->parse($strCss);
}

```

### Font Awesome ()

[](#font-awesome-httpfontawesomeio)

Use font-awesome mixins and variables right inside your less files.

```
// my-styles.less
.my-button{
  .fa;
  .fa-lg;
  &:before{
    content: @fa-var-github;
  }
}

```

List of all font-awesome variables, see ().

### Elegant Icon Font ()

[](#elegant-icon-font-httpwwwelegantthemescomblogresourceselegant-icon-font)

Use elegant-icon mixins and variables right inside your less files.

```
// my-styles.less
.my-button{
  .ei;
  &:before{
    content: @ei-var-info;
  }
}

```

List of all elegant-icon variables, see ().

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 54.5% 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 ~25 days

Recently: every ~73 days

Total

49

Last Release

2982d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/28ad3224d8727b622ebd229840eea6b9dbcb83eb0bd609e6ce65b614830ff538?d=identicon)[digitales@heimrich-hannot.de](/maintainers/digitales@heimrich-hannot.de)

---

Top Contributors

[![neuemedien](https://avatars.githubusercontent.com/u/1265303?v=4)](https://github.com/neuemedien "neuemedien (6 commits)")[![fatcrobat](https://avatars.githubusercontent.com/u/480054?v=4)](https://github.com/fatcrobat "fatcrobat (2 commits)")[![koertho](https://avatars.githubusercontent.com/u/12064642?v=4)](https://github.com/koertho "koertho (2 commits)")[![nafetagrats](https://avatars.githubusercontent.com/u/5796948?v=4)](https://github.com/nafetagrats "nafetagrats (1 commits)")

---

Tags

cssJScontaobootstrapfont-awesome

### Embed Badge

![Health badge](/badges/heimrichhannot-contao-extassets/health.svg)

```
[![Health](https://phpackages.com/badges/heimrichhannot-contao-extassets/health.svg)](https://phpackages.com/packages/heimrichhannot-contao-extassets)
```

###  Alternatives

[onokumus/metismenu

A jQuery menu plugin

2.0k263.3k5](/packages/onokumus-metismenu)[oveleon/contao-component-style-manager

Style and CSS-Class Manager for Contao Open Source CMS

2535.8k6](/packages/oveleon-contao-component-style-manager)

PHPackages © 2026

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