Ответы пользователя по тегу PHP
  • Как задать метод POST ссылке в классе Menu yii2?

    @AKtor
    Я считаю, что лучше будет следующий вариант, так как не заменяет, а дополняет метод renderItem() родителя и рендерит аттрибуты с помощью Html::renderTagAttributes(), так как это делает виджет Nav:

    <?php
    
    namespace app\components\widgets;
    
    use yii\helpers\ArrayHelper;
    use yii\helpers\Html;
    
    class Menu extends \yii\widgets\Menu
    {
        public $linkTemplate = '<a href="{url}"{attr}>{label}</a>';
    
        protected function renderItem($item)
        {
            $template = parent::renderItem($item);
    
            if (isset($item['url'])) {
                $template = strtr($template, [
                    '{attr}' => Html::renderTagAttributes(ArrayHelper::getValue($item, 'linkOptions', [])),
                ]);
            }
    
            return $template;
        }
    }
    Ответ написан
    Комментировать