App\UIObjects\Menu\MenuSelect::render PHP Метод

render() публичный Метод

public render ( )
    public function render()
    {
        $args = $this->arguments;
        PhpQuery::newDocument();
        $this->markup = PhpQuery::pq($this->template);
        $label = $this->markup['label'];
        $select = $this->markup['select'];
        // label
        if (isset($args['label'])) {
            $label->removeClass('hidden')->html($args['label']);
        }
        // id
        if (isset($args['id'])) {
            $label->attr('for', $args['id']);
            $select->attr('id', $args['id']);
        }
        // name
        if (isset($args['name'])) {
            $select->attr('name', $args['name']);
        }
        $menus = XeMenu::getAll(XeSite::getCurrentSiteKey());
        foreach ($menus as $menu) {
            $option = PhpQuery::pq('<option></option>');
            $option->appendTo($select)->attr('value', $menu->id)->html($menu->title);
            if (isset($args['selected']) && $menu->id == $args['selected']) {
                $option->attr('selected', 'selected');
            } elseif (isset($args['value']) && $menu->id == $args['value']) {
                $option->attr('selected', 'selected');
            }
        }
        return parent::render();
    }
MenuSelect