netzmacht / contao-dev-tools
This package is abandoned and no longer maintained.
The author suggests using the netzmacht/contao-toolkit package instead.
This library provides tools to simplify common tasks when developing with Contao.
dev-master / 1.0.x-dev
2015-01-12 14:11 UTC
Requires
- php: >=5.4
- contao-community-alliance/dependency-container: ~1.6
- contao/core: >=3.1,<3.5-dev
Requires (Dev)
- henrikbjorn/phpspec-code-coverage: ~0.2
- netzmacht/contao-build-tools: 1.0.x-dev
- phpspec/phpspec: 2.1.x-dev
This package is auto-updated.
Last update: 2022-02-01 12:42:59 UTC
README
This library provides tools for solving common tasks required when developing for Contao CMS.
Install
You can install this library using Composer.
$ php composer.phar require netzmacht/contao-dev-tools:~1.0
Features
DCA related features
####Toggle icon callback
This library ships with a common toggle state icon callback.
<?php // dca/tl_custom.php $GLOBALS['TL_DCA']['tl_custom']['fields']['published']['button_callback'] = Netzmacht\Contao\DevTools\Dca::createToggleIconCallback( 'tl_custom', // The database table. 'published', // the state column false, // Inverse the state. Set to true for invisible='' columns 'invisible.gif' // Disabled icon. If not set, icons are transformed from edit.gif to edit_.gif )
####Convert models to options
One standard task using Contao models is to transform when to options for select lists or checkbox menus. Dev-Tools simplifies it for you.
- Convert collections to options arrays.
- Use callbacks to customize the labels.
- Group values by a third column/callback value.
<?php public function yourOptionsCallback() { $collection = \PageModel::findAll(); // Empty collections by Contao are NULL. The OptionsBuilder handles is correctly. return Netzmacht\Contao\DevTools\Dca\Options\OptionsBuilder::fromCollection($collection, 'id', 'name') ->groupBy('type') ->getOptions(); } ```php ###Dependency injection Contao does not provide any help for dependency injection. If you need some dependencies from the [dependency container](https://github.com/contao-community-alliance/dependency-container) you can use this Trait: ```php class YourContentElement extends \ContentElement { use Netzmacht\Contao\DevTools\ServiceContainerTrait; private $service; public function __construct($model) { parent::__construct($model); $this->service = $this->getService('your-required-service'); } }
Requirements
- PHP 5.4 is required.
- Contao 3.2 - 3.4 is supported.
- contao-community-alliance/dependency-container ~1.6 is required.