ropendev/platesattributes

[Plates Extension] Transform an array in html tag attributes.

1.0.1 2015-01-13 10:25 UTC

This package is auto-updated.

Last update: 2024-04-12 21:21:19 UTC


README

This package is not maintened anymore (but still works) : Use https://github.com/PiedWeb/RenderHtmlAttribute

Plates Extension : Render html tag attributes

Quality Score SensioLabsInsight Build Status

This package is an extension for the template engine Plates.

Two features for the same goal Manipulate html tag attributes via PHP array :

  • $this->attr(array $attributes) transform an array in html tag attributes
  • $this->mergeAttr(array $arr1, array $arr2, [array $arr3, ...]) merge multiple array without loosing values (Eg. : ['class' => 'main'] + ['class' => 'content'] = ['class' => 'main content'])

##Table of contents

##Usage

/* Template Init */
$templateEngine = new \League\Plates\Engine('app/views');

/* Load this extension */
$templateEngine->loadExtension(new \rOpenDev\PlatesExtension\Attributes());

$this->render('test', ['attributes' => ['class' => 'content']]);

In your app/views/test.php template file:

<?php
$defaultAttributes = ['class' => 'main'];
$attributes        = isset($attributes) ? $this->mergeAttr($defaultAttributes, $attributes) : $defaultAttributes;
?>
<div<?=$this->attr($attributes)?>>Hello World !</div>

Will render:

<div class="main content">Hello World !</div>

Installation

composer require ropendev/platesattributes

Requirements

Stand alone extension.

See composer.json file.

Contributing

See CONTRIBUTING.md file.

Contributors

License

MIT (see the LICENSE file for details)