app/library/ViewHelper/Icon.php: rewritten for Font Awesome
This commit is contained in:
parent
fcabc45602
commit
023bead0d9
1 changed files with 23 additions and 2 deletions
|
|
@ -9,21 +9,42 @@ namespace Httpcb\ViewHelper;
|
||||||
*/
|
*/
|
||||||
class Icon extends AbstractHelper
|
class Icon extends AbstractHelper
|
||||||
{
|
{
|
||||||
|
protected $_prefix = [
|
||||||
|
'brand' => 'fab',
|
||||||
|
'regular' => 'far',
|
||||||
|
'solid' => 'fas'
|
||||||
|
];
|
||||||
|
|
||||||
public function icon($name, $args = array())
|
public function icon($name, $args = array())
|
||||||
{
|
{
|
||||||
|
list($prefix, $name) = $this->_parseName($name);
|
||||||
|
|
||||||
$classes = array(
|
$classes = array(
|
||||||
'icon',
|
'icon',
|
||||||
'ion-' . $name
|
$prefix,
|
||||||
|
'fa-' . $name
|
||||||
);
|
);
|
||||||
|
|
||||||
if (is_array($args)) {
|
if (is_array($args)) {
|
||||||
|
|
||||||
foreach($args as $arg) {
|
foreach($args as $arg) {
|
||||||
$classes[] .= 'ion-' . $arg;
|
$classes[] .= 'fa-' . $arg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$classes = implode(' ', $classes);
|
$classes = implode(' ', $classes);
|
||||||
return '<i class="' . $classes . '"></i>';
|
return '<i class="' . $classes . '"></i>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function _parseName($name)
|
||||||
|
{
|
||||||
|
$parts = explode('/', $name);
|
||||||
|
if (count($parts) > 1) {
|
||||||
|
$prefix = $parts[0];
|
||||||
|
$name = $parts[1];
|
||||||
|
} else {
|
||||||
|
$prefix = 'regular';
|
||||||
|
}
|
||||||
|
return array($this->_prefix[$prefix], $name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue