Всем добрый день. Сейчас вникаю в yii. И в связи с этим появился ряд вопросов. Для меня ответ на них не очевиден, так что прошу строго меня не судить.
1) Во view, в стандартных страницах (которые запускаются при разворачивании фреймворка), написан label средствами yii (echo CHtml::label('Result', 'output')), понятно, что в нем можно задать все параметры для css, но не лучше (не быстрее ли) было бы писать HTML <label>?
2) Я делаю AJAX запрос на сервер (встроенными возможностями yii) через echo CHtml::form(), в контроллер идет запрос, контроллер обрабатывает его и дает ответ с результатом, потом выводит результат на страницу - с этим все понятно.
В моем случае надо не просто выводить полученные данные, а полученные данные передать в динамический шаблон (view), там они подставятся и только потом вывести заполненный шаблон на странице. Как это лучше делать?
Всем спасибо!
Динамическая подгрузка view через AJAX
-
- Сообщения: 423
- Зарегистрирован: 2012.12.10, 14:19
- Откуда: Россия
Re: Динамическая подгрузка view через AJAX
1. Обсуждалось тысячи раз. Как удобнее - так и делайте. Со временем поймёте сами, что удобнее CHtml вам : )
2. Можно решить через простыню js кода, а можно эти данные полученные в контроллере там же и отправить в динамический шаблон renderPartial и получить его в основном представлении.
2. Можно решить через простыню js кода, а можно эти данные полученные в контроллере там же и отправить в динамический шаблон renderPartial и получить его в основном представлении.
-
- Сообщения: 423
- Зарегистрирован: 2012.12.10, 14:19
- Откуда: Россия
Re: Динамическая подгрузка view через AJAX
1) Спасибо
2) Смотрел renderPartial, но немного не понял.
http://www.yiiframework.com/doc/api/1.1 ... ial-detail
$view - Это собственно мой шаблон в который мне надо подставить полученные данные и вывести на странице.
$data - Это собственно данные, которые мне надо передать в мой шаблон.
- Не совсем понятно data to be extracted into PHP variables and made available to the view script, они доступные и для php и для javascript?
- Как передавать данные в шаблон и по какому имени они будут там доступны? array('variable_name_in_view'=>$variable_from_controller) так?
$return - Получает заполненный шаблон, если true, рендерит, если false.
$processOutput - Позволяет вернуть js и css и шаблона.
Спасибо!
2) Смотрел renderPartial, но немного не понял.
http://www.yiiframework.com/doc/api/1.1 ... ial-detail
$view - Это собственно мой шаблон в который мне надо подставить полученные данные и вывести на странице.
$data - Это собственно данные, которые мне надо передать в мой шаблон.
- Не совсем понятно data to be extracted into PHP variables and made available to the view script, они доступные и для php и для javascript?
- Как передавать данные в шаблон и по какому имени они будут там доступны? array('variable_name_in_view'=>$variable_from_controller) так?
$return - Получает заполненный шаблон, если true, рендерит, если false.
$processOutput - Позволяет вернуть js и css и шаблона.
Спасибо!
Re: Динамическая подгрузка view через AJAX
Верно. По поводу доступных переменных:
array('variable_name_in_view'=>$variable_from_controller) передадите в таком виде, то во $view вашем она будет доступна по имени $variable_name_in_view (по такому как вы указали 'variable_name_in_view'). И да, в js можно использовать $php переменные, но они как текст вставятся, не динамические. Если вам нужен обмен с js, то используйте ajax json, в Yii помощник для php - CJSON::decode(), CJSON::encode().
array('variable_name_in_view'=>$variable_from_controller) передадите в таком виде, то во $view вашем она будет доступна по имени $variable_name_in_view (по такому как вы указали 'variable_name_in_view'). И да, в js можно использовать $php переменные, но они как текст вставятся, не динамические. Если вам нужен обмен с js, то используйте ajax json, в Yii помощник для php - CJSON::decode(), CJSON::encode().
-
- Сообщения: 423
- Зарегистрирован: 2012.12.10, 14:19
- Откуда: Россия
Re: Динамическая подгрузка view через AJAX
Огромное спасибо. Завтра буду тестировать.