Руководство разработчика




НазваниеРуководство разработчика
страница9/9
Дата конвертации11.12.2012
Размер0.66 Mb.
ТипРуководство
1   2   3   4   5   6   7   8   9

Администрирование непосредственно на сайте


Содержанием проекта также можно управлять в режиме INLINE. Если вы авторизованы в проекте как администратор (пользователь группы developers), то на страницах сайта вы обнаружите контрольную панель



Это панель содержит имя авторизованного пользователя, название и ID просматриваемой страницы. Кнопка «Редактировать» позволит перейти в режим редактирования текущей страницы. В этом режиме на месте полей содержания будут показаны запросы содержания.



После заполнения запросов следует нажать кнопку «Сохранить».

Если страница содержит список записей и DDC списка содержит элементы INLINE (см. /views/delivery/ddcs/infochannel.xml), а пользователь авторизован как администратор, над списком появится кнопка «Добавить», в списке будут представлены кнопки «Изменить» и «Удалить» напротив каждой записи.



При нажатии «Добавить» появится окно со свойствами новой записи, аналогичное тому, что мы можем видеть в административной панели при добавлении новой записи. Когда запись будет добавлена, она появится в списке, после чего можно будет нажать «Изменить» для внесения содержания.

Отладка информационной системы


Для включения основного режима отладки назначьте значение константе DEBUG 1. В случае возникновения ошибок в платформе вы получите сообщение о них в специальном окне.

При возникновении ошибок платформа помещает их в отчет в файле TMP/error.log.

Адаптация платформы


Платформа SAPID CMF позволяет адаптацию и развитие под специфичные нужды информационной системы без вмешательства в программное ядро платформы. Для этих целей используется программная парадигма Аспектно-Ориентированного Программирования. Таким образом, разработчик имеет возможность подготовить код адаптации и определить его заданным событиям в среде. Суть изменений, производимых кодом, определяется как аспект, в нашем случае plugin. В рамках аспекта можно определить множество функций множеству событий. Код адаптации размещается в файле plugins/index.php, а также в файлах, включаемых им.

При создании кода адаптации используется API платформы и функции общего назначения. См разделы «API платформы SAPID CMF» и «Функции общего назначения».

Создание plugin


Для создания нового plugin требуется определить аспект его применимости:




$asp1 = new Aspect();

Далее определяется область действия для него:




$pc = $cache->pointcut("call *::*");

Назначается один или более обработчиков событий:




$pc->_event("getDDCCache", "getDDCCache(\$obj);");

Осталось лишь активировать аспект:




Aspect::apply($asp1);

Пример:



function getDDCCache($obj) {

if(!isset($obj["AppParams"])) return false;

if(!isset($obj["AppParams"]["name"])) return false;

if($obj["AppParams"]["name"]!="test") return false;

if(file_exists(ROOT_PATH."tmp/ddcs/test.tmp")) {

$saved = unserialize(file_get_contents(ROOT_PATH."tmp/ddcs/test.tmp"));

$obj["AppParams"] = $saved["AppParams"];

$obj["DDCParams"] = $saved["DDCParams"];

$obj["EnumAttrs"] = $saved["EnumAttrs"];

$obj["Results"] = $saved["Results"];

return true;

} else return false;

}

function putDDCCache($obj) {

if(!isset($obj["AppParams"])) return false;

if(!isset($obj["AppParams"]["name"])) return false;

if($obj["AppParams"]["name"]!="test") return false;

toLog(serialize($obj),"a","ddcs/test.tmp");

return true;

}

$cache = new Aspect();

$pc = $cache->pointcut("call *::*");

$pc->_event("getDDCCache", "getDDCCache(\$obj);");

$pc->_event("putDDCCache", "putDDCCache(\$obj);");

$pc->destroy();

Aspect::apply($cache);



Определенные в системе события


The_program_is_started – платформа стартовала, основные библиотеки не загружены;

All_libraries_are_loaded – платформа стартовала, загружены все библиотеки;

Error403Found – возникла 403 ошибка;

Error404Found – возникла 404 ошибка;

ModalWindowSchemasDefined – определены схемы модальных окон административной панели;

Программный код адаптации


В программном коде адаптации доступны среда окружения в структуре $env и функции общего назначения.

Структура $env


$envSiteID – содержит ID текущего ресурса;

$envDocument – содержит массив с данными о документе, где

Template – имя файла шаблона документа;

Data – массив с содержанием документа;

ID – ID документа;

PointerID – ID зеркалируемого документа;

DataPointerID – ID документа, с которого зеркалируются данные;

Redirect – адрес для перенаправления;

$envURL – содержит информацию о запросе пользователя из адресной строки;

$envUser – содержит информацию о текущем пользователе, где

ID – ID пользователя;

Groups – группы пользователя;

Profile – профиль пользователя;

CreationPermission – права на создание документов;

SysAdminPermission – права сисадмина;

ProfileID – ID профиля пользователя;

$envValues – содержит переменные среды, где

args_length – число элементов командной строки;

extraargs_length – число дополнительных аргументов;

DirectAccessArgs_length – вложенность канала;

document_url – адрес в формате branch1/digital_cams/;

document_url_without_slash - адрес в формате branch1/digital_cams;

args.x – аргумент номер x;

extraargs.x – аргумент номер x;

argsstring – адрес в формате /branch1/digital_cams/;

argsstringwithoutslash – адрес в формате branch1/digital_cams;

argsstringwithoutdatasection – адрес в формате branch1/digital_cams/;

argsstringwithoutnavigationsection – адрес в формате branch1/digital_cams/;

admin_webroot_http_path – адркс http://сайт/webroot/admin/;

delivery_webroot_http_path – адрес http://сайт/webroot/delivery/;

http_path – адрес http://сайт/;

root_path – корневой адрес;

plugins_root_path – корневой к папке плагинов;

admin_http_path – адрес административного интерфейса;

system_configuration_date – дата конфигурации;

system_version – версия платформы;

user_id – ID авторизованного пользователя;

site_id – ID сайта по умолчанию;

this_record_id – ID записи, если текущий документ запись;

licenseno – номер лицензии;

document_атрибут – значение атрибута текущего документа;

this_level – текущий уровень вложенности;

this_name – заголовок текущего объекта (документ/запись);

this_parent_id – ID родительского объекта к текущему;

config_переменная – значение переменной конфигурации;

document_data_переменнаяданных – данные документа, если это документ (например, document_data_content);

record_data_переменнаяданных – данные записи, если это запись (например, record_data_reccontent).

Функции общего назначения


http_path($val) – получить адрес сайта по SiteID;

format2recordid($val) – получить специальный формат для ID записи;

getMicrotime() – получить время в микросекундах;

sortByKey(&$array, $sortby, $order='asc', $type=SORT_NUMERIC) – сравнить массив по ключу;

lang($key) – запрос определения из базы контента интерфейса;

d($array) – показать содержание массива при отладке;

array2table($Arr) – отобразить двумерный массив как таблицу;

trace() – отобразить маршрут к функции;

toLog($str) – сделать вывод в файл наблюдения;

array_trim($src_array, $exclusions_array ) – вычистить массив по массиву исключений;

trim_array($SrcArray) – очистить массив от пустых элементов;

stripPrefixInArray($SrcArray=false, $Prefix=false ) – отрезать префиксы в массиве строк;

KeyOfNextArrayElement($SrcArray=false, $Key=false ) – получить ключ следующего элемента;

validateURLPath($str) – проверить на корректность URL;

transliterate($str) – преобразовать к транслиту строку;

validateXML($data) – проверить на корректность XML;

create_tnail($src_filename, $w, $h, $target_filename, $extraparams=false) – преобразовать изображения.

Использование стороннего визуального редактора (WYSIWYG)

Использование FCKEditor


1) Создаем файл старта редактора /vendors/fckeditor/_samples/php/start.php




header("Content-type: text/html; charset=UTF-8");

include("../../../../config/rc.conf.php");

include("../../../../app/basics.inc.php");

?>





FCKeditor - Sample

















1   2   3   4   5   6   7   8   9

Похожие:

Руководство разработчика iconРуководство разработчика 
Введение  
Руководство разработчика iconРуководство разработчика 
Введение  
Руководство разработчика iconРуководство разработчика 
Введение в Oracle Forms   
Руководство разработчика iconРуководство разработчика   
Возможность  использование  . htaccess  файлов   в  httpd conf  Apache  должна  быть 
Руководство разработчика iconРуководство разработчика 
Интернете, могут изменяться без уведомления. Риск, связанный с использованием таких 
Руководство разработчика iconРуководство разработчика сайта
Руководство для дизайнеров и верстальщиков сайта, для программистов и администраторов, для разработчиков ядра системы
Руководство разработчика iconРуководство пользователя Free Pascal версии Версия документа Март 2010 Michael Van Canneyt, Florian Klampfl
Для этих целей смотрите Справочное Руководство. Для просмотра описания возможностей и внутренней организации компилятора используйте...
Руководство разработчика iconРуководство разработчика
Она будет полезна разработчикам, желающим добавить возможности исполнения скриптовых программ в свои проекты
Руководство разработчика iconРуководство разработчика
Яндексу (а также указанному им правообладателю) принадлежат исключительные права на все результаты интеллектуальной деятельности...
Руководство разработчика iconРуководство разработчика
Яндексу (а также указанному им правообладателю) принадлежат исключительные права на все результаты интеллектуальной деятельности...
Разместите кнопку на своём сайте:
kak.znate.ru


База данных защищена авторским правом ©kak.znate.ru 2012
обратиться к администрации
KakZnate
Главная страница