Назначение методов getEditLink и getObjectEditLink в модуле системы — различия между версиями
VITL' (обсуждение | вклад) (Новая страница: «Основное описание по методам getEditLink и getObjectEditLink присутствует на странице: [http://api.umi-cms.ru/module_…») |
(нет различий)
|
Версия 20:47, 27 июля 2011
Основное описание по методам getEditLink и getObjectEditLink присутствует на странице: api.umi-cms.ru
Продублируем примеры методов:
public function getEditLink($element_id, $element_type) {
switch($element_type) {
case "rubric": {
// ссылка на добавление страницы (page)
$link_add = $this->pre_lang . "/admin/mymodule/add/{$element_id}/page/";
// ссылка на редактирование рубрики (rubric)
$link_edit = $this->pre_lang . "/admin/mymodule/edit/{$element_id}/";
return Array($link_add, $link_edit);
break;
}
case "page": {
// ссылка на редактирование страницы
$link_edit = $this->pre_lang . "/admin/mymodule/edit/{$element_id}/";
// запрещаем добавлять подстраницы для типа "page", первый элемент списка = false
return Array(false, $link_edit);
break;
}
default: {
return false;
}
}
}
public function getObjectEditLink($objectId, $baseTypeName) {
return $this->pre_lang . "/admin/mymodule/editobject/{$objectId}/";
}
Один из этих методов, либо оба, должны находиться в файле classes/modules/название_модуля/class.php
Повторим основные моменты, которые необходимо знать при создании дополнительного модуля.
Метод getEditLink необходим для формирование ссылки на добавление и редактирование страниц. В зависимости от переданного в метод иерархического типа данных, $element_type, мы формируем ссылку на редактирование страницы, и в случае необходимости, ссылку на добавление новой страницы относительно выделенной. Добавление дочерних страниц необходимо для "Лент новостей", "Разделов каталога", "Фотогалерей" и аналогичных сущностей, которые группируют страницы. Метод getEditLink возвращает массив, первым элементом которого должна быть ссылка на добавление страницы, вторым - ссылка на редактирование страницы.
Метод getObjectEditLink необходим для модуля, который взаимодействует с объектами (пользователи, баннеры и т.п.). Метод возвращает всего одно значение, это ссылка для редактирования объекта.
В обоих метода используется $this->pre_lang, как не трудно догадаться это текущий языковой префикс системы.