2017 © Pedro Peláez
 

library contao-dev-tools

This library provides tools to simplify common tasks when developing with Contao.

image

netzmacht/contao-dev-tools

This library provides tools to simplify common tasks when developing with Contao.

  • Monday, January 12, 2015
  • by netzmacht
  • Repository
  • 0 Watchers
  • 0 Stars
  • 103 Installations
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Contao Dev Tools

Build Status Version License Downloads Contao Community Alliance coding standard, (*1)

This library provides tools for solving common tasks required when developing for Contao CMS., (*2)

Install

You can install this library using Composer., (*3)

$ php composer.phar require netzmacht/contao-dev-tools:~1.0

Features

Toggle icon callback

This library ships with a common toggle state icon callback., (*4)

<?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., (*5)

  • 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.

The Versions

12/01 2015

dev-master

9999999-dev

This library provides tools to simplify common tasks when developing with Contao.

  Sources   Download

LGPL-3.0+

The Requires

 

The Development Requires

dev contao tools