Использование Kartik Icon во всех View

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
steaze
Сообщения: 30
Зарегистрирован: 2017.01.28, 21:25

Использование Kartik Icon во всех View

Сообщение steaze »

Здравствуйте.
До этого использовал asset с fontawesome, и в любом месте использовал, например <i class="fa fa-user"></i>. Решил, более правильно использовать kartik icon. Согласно документации прописал в параметрах:

Код: Выделить всё

'params' => [
  'icon-framework' => 'fa', 
]
Далее "To initialize the globally setup framework in your view, call this code in your view or view layout file.". Прописал в layouts/main.php:

Код: Выделить всё

use kartik\icons\Icon;
Icon::map($this);
Если прописываю во view: use kartik\icons\Icon; , то Icon::show('user') работает. Если убираю, то получаю Class 'Icon' not found. Как можно использовать класс глобально во всех view, использующих данный layout?
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Использование Kartik Icon во всех View

Сообщение urichalex »

Правильно в представлениях писать html
steaze
Сообщения: 30
Зарегистрирован: 2017.01.28, 21:25

Re: Использование Kartik Icon во всех View

Сообщение steaze »

urichalex писал(а): 2017.10.28, 22:44 Правильно в представлениях писать html
Имеете в виду <i class="fa fa-user"></i> или что-то вроде Html::tag('i', '', ['class' => 'fa fa-user'])?
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Использование Kartik Icon во всех View

Сообщение someweb »

Наследовать View, добавить в него метод вывода иконки, заменить стандартный view на свой.
Хотя я не вижу какой то проблемы в добавлении строчки use.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Использование Kartik Icon во всех View

Сообщение urichalex »

steaze писал(а): 2017.10.30, 10:01
urichalex писал(а): 2017.10.28, 22:44 Правильно в представлениях писать html
Имеете в виду <i class="fa fa-user"></i> или что-то вроде Html::tag('i', '', ['class' => 'fa fa-user'])?
Представление - это готовый html, в который вы передаете подготовленные данные из контроллера.
Да и зачем генерировать html при помощи php там, где уже итак можно писать html
Использовать всякие Html::tag() или Html::a() нужно в php, например в модели представления, или в контроллере, где писать html будет некрасиво и неудобно
Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

Re: Использование Kartik Icon во всех View

Сообщение VaNnOrus »

urichalex писал(а): 2017.10.28, 22:44 Правильно в представлениях писать html
Весьма сомнительное заявление. По концепции все что связано с форматированием нужно делать в представлении. Иконки - это часть форматирования вывода данных. Они могут быть, а могут и не быть, данные тут не при чем. И заявлять, что правильно не использовать хелперы и/или виджеты, поставляемые фреймворком в представлениях только потому, что "это должно быть на html" - бред сивой кобылы.

Может быть еще и эктив форм и гриды тогда не использовать в представлениях? Это же не html..
Ответить