Сегодня 13 июля, воскресенье ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
RMCreative.ru - Блог
RMCreative.ru - Блог
Голосов: 1
Адрес блога: http://rmcreative.ru/feed/
Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL
 

Yii2 и Twig, дополнительный синтаксис

2013-04-28 18:40:57 (читать в оригинале)

Итак, код Yii2 уже близок, чтобы показать его всем. Пока Qiang доделывает последний тикет, а именно ActiveForm, я решил плотнее поработать с шаблонными движками. Уже сейчас реализована самая базовая поддержка Smarty и Twig, но кучу всего, что доступно в PHP-шаблонах, через них делать пока нельзя.

Порыв немного Twig, я понял, что реализовать это можно кучей разных способов, но так как сам с Twig не работаю, мне трудно решить, как же будет удобней.

Например, создание ссылки. В Yii2 оно делается примерно так:

echo Html::a('Posts, page 2', array('post/index', 'page' => 2));

Если утащить в Twig как есть в виде функции, получается:

{{ a('Posts, page 2', {0: 'post/index', 'page': 2}) | raw }}

По-моему, несколько криво. Если пользуетесь Twig, как бы вам было удобней?

Вот ещё некоторые штуки о которых хотелось бы мнений по синтаксису:

// В Twig вроде было что-то своё на эту тему
echo Html::encode('content with <html>');
 
// не привязанная к модели форма
echo Html::beginForm(array('post/edit', 'id' => 10), 'post', array('enctype' => 'multipart/form-data'));
echo Html::dropDownList('mySelect', 1, array(0 => 'A', 1 => 'B'), array('class' => 'mySelectCSSClass'));
echo Html::activeLabel($postModel, 'title', array('class' => 'postTitleLabel'));
echo Html::endForm();
 
// URL
echo Html::url(array('post/index', 'page' => 2));
 
// свойство приложения
echo \Yii::$app->language;
 
// title станицы
echo $this->title;
 
// отрендерить ещё какой-то view внутри текущего
echo $this->render('viewName', array('x' => 'y'));
 
// использовать виджет
echo $this->widget('yii\widgets\Something', array('x' => 'y', 'z' => 42));
 
// ActiveForm
$form = $this->beginWidget('yii\widgets\ActiveForm');
echo $form->field($model, 'username')->textInput();
echo $form->field($model, 'password')->checkboxAlt();
$this->endWidget();
 
// подключение asset-ов
$this->registerAssetBundle('jquery');



 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.