"By Example" : CHtml - listData()
Рубрика: Перевод Cookbook
8 Окт. 2009
Серия рецентов "By Example" пытается предоставить для разработчиков примеры использования самых распостраненных действий в Yii. Учимся использовать CHtml::listData() на примерах!
CHtml::listData() method
public static function listData($models,$valueField,$textField,$groupField='')
Генерируем данные для dropDownList и listBox в формате $key=>$value
Пример 1: Создаем массив значений категорий
<?php
/*you can use here any find method you think
proper to return your data from db*/
$models = categories::model()->findAll();
// format models resulting using listData
$list = CHtml::listData($models,
'category_id', 'category_name');
print_r($list);
Результат:
array("1" => "Arts", "2" => "Science", "3" => "Culture");
Пример 2: Создаем отсортированный массив категорий при использовании FindAll
<?php
$models = categories::model()->findAll(
array('order' => 'category_name'));
$list = CHtml::listData($models,
'category_id', 'category_name');
print_r($list);
Результат:
array("1" => "Arts", "3" => "Culture", "2" => "Science");
- Оригинал "By Example: CHtml" [англ.]
Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
- Рано или позно каждый программист подходит к моменту написания собственной CMS или системы управления сайтами. Несмотря на обильное кол-во опенсорс ... "Идея проекта [OzYii]"
- Рамки MVC весьма размыты, поэтому моё понимание может не совпадать с полученными вами ранее знаниями. Хотел бы напомнить что ... "Шаг 3 : Что такое MVC?"
- Столкнулся я с вопросом как без создания формы через CFormModel — поюзать встроенный валидатор для проверки капчи. Вот чего то ... "Валидация капчи в Controller-е"

ATI
Было сказано: Пятница, 09 Октябрь 2009
Автору спасибо, продолжаю следить за блогом, хотелось бы увидеть на нём возможность писать статьи всем пользователям.

[adm] zolter
Было сказано: Пятница, 09 Октябрь 2009
Пожалуйста!
Уже разрабатываю кое какой инструментарий в похожем направлении. Но думаю ждать его раньше чем через месяц не стоит


