This package is not maintened anymore (but still works) : Use https://github.com/PiedWeb/RenderHtmlAttribute
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>
composer require ropendev/platesattributes
Stand alone extension.
See composer.json
file.
See CONTRIBUTING.md
file.
- Original author Robin (UX Design)
- ...
MIT (see the LICENSE file for details)