Здесь показаны различия между двумя версиями данной страницы.
| Следущая версия | Предыдущая версия | ||
|
eaze:panda:работа_с_vt [2011/09/12 14:44] sergeyfast создано |
eaze:panda:работа_с_vt [2014/01/09 17:48] (текущий) conwell [Проверка пользовательского ввода в VT] |
||
|---|---|---|---|
| Строка 17: | Строка 17: | ||
| $this->originalObject->tagId = -1; | $this->originalObject->tagId = -1; | ||
| } | } | ||
| - | $objects = parent::$factory->Get( array( "columnNumber" => $object->columnNumber, "notTagId" => $this->originalObject->tagId ), array( OPTION_HIDE_DISABLED => true ) ); | + | $objects = parent::$factory->Get( array( "columnNumber" => $object->columnNumber, "notTagId" => $this->originalObject->tagId ), array( BaseFactory::WithoutPages => true ) ); |
| if( !empty( $objects ) ) { | if( !empty( $objects ) ) { | ||
| $errors["fields"]["columnNumber"]["unique"] = "unique"; | $errors["fields"]["columnNumber"]["unique"] = "unique"; | ||
| Строка 23: | Строка 23: | ||
| } | } | ||
| </code> | </code> | ||
| - | Где columnNumber – то поле, которое нужно проверить, tagId – primary key, notTagId – дополнительный поиск на SEARCHTYPE_NOT_EQUALS в Factory. | + | Где columnNumber – то поле, которое нужно проверить, tagId – primary key, notTagId – дополнительный поиск по полю tagId |
| + | с типом поиска SEARCHTYPE_NOT_EQUALS, который необходимо добавить в MFD. | ||
| ==== Задание ==== | ==== Задание ==== | ||
| Строка 40: | Строка 41: | ||
| ==== Index.tmpl.php – шаблоны списка ==== | ==== Index.tmpl.php – шаблоны списка ==== | ||
| - | ''td class="(header|left)"'' в выводе объектов. | + | Для изменения внешнего вида ячеек таблицы можно использовать предопределенные классы **header** или **left**: |
| + | <code php><td class="(header|left)"></code> | ||
| {{:eaze:panda:panda_list_class.png?|}} | {{:eaze:panda:panda_list_class.png?|}} | ||
| + | |||
| + | ==== Index.tmpl.php – объединение ячеек ==== | ||
| + | Для объединения ячеек таблицы нужно изменить значение colspans в массиве $grid. | ||
| + | <code php>"сolspans" => array( 0 => 2 )</code> | ||
| + | <code php><td><span class="status (green|blue|red)">{$object.categoryId}</span></td></code> | ||
| + | |||
| + | {{:eaze:panda:panda_list_colspan.png?|}} | ||
| + | |||
| ==== Index.tmpl.php – булевые значения ==== | ==== Index.tmpl.php – булевые значения ==== | ||
| - | В комментариях поле «Пост модерация». | + | В Panda есть готовый способ отображения логических значений в таблице: |
| <code php><td><?= StatusUtility::GetBoolTemplate( $object->isPostModerated ) ?></td></code> | <code php><td><?= StatusUtility::GetBoolTemplate( $object->isPostModerated ) ?></td></code> | ||
| + | Используйте этот шаблон для изменения внешнего вида поля «Пост модерация» в списке комментариев. | ||
| + | |||
| {{:eaze:panda:panda_list_bool.png?|}} | {{:eaze:panda:panda_list_bool.png?|}} | ||
| Строка 53: | Строка 65: | ||
| ===== Проверка пользовательского ввода в VT ===== | ===== Проверка пользовательского ввода в VT ===== | ||
| Для тех данных, которые вводит пользователь на сайте и они отображаются в VT, нужно применять фильтрацию. Например, в списке комментариев. | Для тех данных, которые вводит пользователь на сайте и они отображаются в VT, нужно применять фильтрацию. Например, в списке комментариев. | ||
| - | <code php><td>{form: $object.author}</td> | + | <code php><td>{form:$object.author}</td> |
| <td>{form:$object.email}</td> | <td>{form:$object.email}</td> | ||
| <td>{form:$object.comment}</td></code> | <td>{form:$object.comment}</td></code> | ||
| - | ''{form:$var}'' вызывает функцию ''HtmlHelper::RenderToForm( $var )'', которая в свою очередь вызывает'' htmlspecialchars'' (см. Template.php и HtmlHelper.php). | + | ''{form:$var}'' вызывает функцию ''HtmlHelper::RenderToForm( $var )'', которая в свою очередь вызывает'' htmlspecialchars'' (см. Template.php и HtmlHelper.php). Для вывода массива можно использовать такой вид - ''{form:$array[key]}''. |
| ==== Задание ==== | ==== Задание ==== | ||