Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Application/UserInterface/Menu/Item/Controller.php
Строк: 90
<?php
namespace ConcreteCoreApplicationUserInterfaceMenuItem;

use 
ConcreteCoreAssetCssAsset;
use 
ConcreteCoreAssetJavascriptAsset;
use 
ConcreteCoreControllerAbstractController;
use 
HtmlObjectElement;
use 
HtmlObjectLink;

class 
Controller extends AbstractController implements ControllerInterface
{

    
/** @var ItemInterface */
    
protected $menuItem;

    public function 
displayItem()
    {
        return 
true;
    }

    public function 
getMenuItemLinkElement()
    {
        
$a = new Link();
        
$a->setValue('');
        if (
$this->menuItem->getIcon()) {
            
$icon = new Element('i');
            
$icon->addClass('fa fa-' $this->menuItem->getIcon());
            
$a->appendChild($icon);
        }

        if (
$this->menuItem->getLink()) {
            
$a->href($this->menuItem->getLink());
        }

        foreach (
$this->menuItem->getLinkAttributes() as $key => $value) {
            
$a->setAttribute($key$value);
        }

        
$label = new Element('span');
        
$label->addClass('ccm-toolbar-accessibility-title')->setValue($this->menuItem->getLabel());
        
$a->appendChild($label);
        return 
$a;
    }

    public function 
registerViewAssets()
    {
        
$al AssetList::getInstance();
        
$v View::getInstance();
        
$env Environment::get();
        
$identifier 'menuitem/' $this->menuItem->getHandle() . '/view';
        foreach (array(
'CSS' => 'view.css''JAVASCRIPT' => 'view.js') as $t => $i) {
            
$r $env->getRecord(
                
DIRNAME_MENU_ITEMS '/' $this->menuItem->getHandle() . '/' $i,
                
$this->menuItem->getPackageHandle());
            if (
$r->exists()) {
                switch (
$t) {
                    case 
'CSS':
                        
$asset = new CssAsset($identifier);
                        
$asset->setAssetURL($r->url);
                        
$asset->setAssetPath($r->file);
                        
$al->registerAsset($asset);
                        
$v->requireAsset('css'$identifier);
                        break;
                    case 
'JAVASCRIPT':
                        
$asset = new JavascriptAsset($identifier);
                        
$asset->setAssetURL($r->url);
                        
$asset->setAssetPath($r->file);
                        
$al->registerAsset($asset);
                        
$v->requireAsset('javascript'$identifier);
                        break;
                }
            }
        }
    }

    
/**
     * @return ItemInterface
     */
    
public function getMenuItem()
    {
        return 
$this->menuItem;
    }

    public function 
setMenuItem(ItemInterface $obj)
    {
        
$this->menuItem $obj;
    }
}
Онлайн: 2
Реклама