DSite CMS
DSite CMS
создано Media Programming Group
Последняя статья: Как добавить заголовок новости в Title

Поиск: 
Главная            Статьи            Форум            Новости            Описание
Обучающие ролики
Примеры сайтов на CMS DSite
Цены
Вебстудиям
Заявка на DSite
FAQ
Ссылки
Контакты
Скачать

Новости:
05.05.11 :: Обновление 4.91 (релиз)

21.04.11 :: Обновление 4.87

07.04.11 :: Обновление 4.83

04.02.11 :: Обновление от 01.02

25.06.10 :: Поиск по содержимому страниц


Логин:
Пароль:

Забыли пароль? Восстановить

Также Вы можете пройти регистрацию

03.04.2006 :: Элементы интерфейса, формы, запросы к БД и модуль CE.INC

В рамках PI системы DSite написан модуль ce.inc, который инкапсулирует в себя множество различных методов автоматической обработки контента, передаваемого пользователем или пользователю. Конечно, в большинстве случаев ошибка не возникнет, особенно если пользователь дисциплинированный и никогда не вводит ничего неправильного (кавычки, спецсимволы, тэги и т.п.), однако чтобы скрипты работали "железно" этот модуль помогает решить большинство проблем, связанных с обработкой данных и их последующим представлением.

Этот модуль представляет из себя набор классов. На сегодняшний день в нем содержатся следующие классы:

class DataContainer
class ContentObject

class dcGPC
class dcSQL
class dcFile
class coFormElement
class MultipleContainer
class MultipleObject
class dcMultipleGPC
class dcMultipleSQL
class coURL
class coString

Возможно, этот перечень будет расширен в будущем. Основу модуля составляет два базовых виртуальных класса: DataContainer и ContentObject. Таким образом происходит деление контента на два типа: контент, который находится в некотором хранилище (контейнере), и, соответственно, контент, который находится в некотором объекте, например, в элементе интерфейса.

Далее идеалогия распределяется так:

Элементы интерфейса инкапсулируются в класс coFormElement, который унаследован от ContentObject.
Такими элементами могут быть элементы типа TEXT, CHECKBOX, PASSWORD, HIDDEN, RADIO, TEXTAREA, SELECT.
Для того, чтобы инициализировать такой элемент формы, необходимо вызвать конструктор с параметром:
  coFormElement ( $ type = 'text', $ src2Full = false )
Первый параметр определяет тип элемента, второй нужен только для TEXTAREA и позволяет переиндексировать ссылки на внешние источники (как правило это необходимо только для административных скриптов DSite или надстроек).

Пример
<?
$picname_gpc = new dcGPC();// берем данные из POST
$picname_gpc->load('picname','g');// нас интересует только GET параметр
$fe = new coFormElement('text');// инициализируем элемент типа текст
$fe->import($picname_gpc);// импортируем данные из контейнера
?>
<input  name="picname" type="text" <?=$fe->gethtml();?>>
coURL служит для инкапсуляции строк, помещаемых в параметр HREF тэга A (грубо говоря, создание корректной ссылки).

coString служит для инкапсуляции строк, находящихся внутри веб-страниц, например внутри JavaScript или атрибута HTML тэга.
Необходимость использования продиктована случаями, когда строковая константа, выбираемая из контейнера, устанавливается внутри, например, JavaScript. В этом случае требуется экранировать получаемые кавычки с помощью символа \. Если же константа устанавливается внутри HTML, конструктор вызывается с другими параметрами:

Пример 1
<?
$strName = new coString (true, false);
$strName->import($sqlButtonName);
?>
<script>
myconst = '<?=$strName->gethtml();?>';
</script>
Пример 2
<?
$strName = new coString (false, true);
$strName->import($sqlButtonName);
?>
<img onclick="alert('<?=$strName->gethtml();?>');">
 
Существуют также классы, представляющие из себя массивы контейнеров или обектов.
...



Статьи:

1  2  » 


FAQ  Поиск на форуме
Новое сообщение
Copyright © 2017 Webmedia.ru - создание сайтов & Media Programming Group