Класс wCatalog служит для построения древовидных списков объектов. Интерфейс класса wCatalog включает два фрейма – слева отображается древовидный список, справа – содержимое каждой ссылки этого списка (карточка объекта или другая информация).
Основные параметры класса
Параметр | Значение по умолчанию | Описание |
f | null | Объект класса wPrototype. |
titleframe | Title фрейм (заголовок) страницы. | |
treeframe | Catalog Tree (левый) фрейм (заголовок) страницы. | |
gridframe | Top Grid (правый) фрейм (заголовок) страницы. | |
rows | 70px | Во фреймовом каталоге высота строк фрейма. |
cols | 25% | Во фреймовом каталоге ширина колонки фрейма. |
sess_name | Текущая сессия. | |
workframe | Активный фрейм. | |
notreeframe | false | Отображение Catalog Tree фрейма. Если true, фрейм отображается. |
navigation | false | Навигация в каталоге. |
navibuttons | false | Кнопки навигации в каталоге. |
active_tab | Активная вкладка (tab). | |
objtype | Тип объекта. | |
extra_from | Дополнительные поля во from в sql-запросе для навигации по записям. | |
extra_where | Дополнительные поля в where в sql-запросе для навигации по записям. | |
adding | false | Возможность добавления записей |
deleting | false | Возможность удаления записей. |
formtitlecell | formtitlecell | Css-класс для ячейки заголовка каталога. |
catalog_field | Поле каталога, которое подставляется (передается как параметр) при добавлении нового объекта. | |
title | Параметры Title фрейма. | |
gridframeurl | URL страницы, загружаемой в Grid фрейм. | |
max_right_buttons | 8 | Максимальное количество для кнопок справа сверху. Если количество превышает заданное, отображается combobox. |
popup_script | false | Подключение popupWindow.js |
Пример создания каталога приведен в Каталоги. Описание методов и примеры их использования берут за основу этот программный код (для того, чтобы примеры работали, необходимо скопировать определение класса wtablecat из п.Каталоги).
Внимание. Перед тестированием методов класса необходимо загрузить со страницы http://wad-er.com/download модуль wCRM и установить его в системе.
Описание методов
addScript()
public function addScript($val = '')
Добавляет javascript-код к Title фрейму.
include_once(SYS_BASE_PATH.'main/classes/wcatalog.class.php'); $cat = new wCatalog(); $cat->catalog_field = 'category'; $cat->addScript("$(document).ready(function() { alert('ok'); } );"); $cat->showTable();
addMenu()
public function addMenu($id = 0, $title = '', $selected = false, $subitems = array())
Добавляет кнопки меню в правой области заголовка каталога.
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $id = 'insert'; $title = 'Insert'; $selected = true; $subitems = array(); $subitems[] = array('key','link'); $subitems[] = array('key2','link2'); $cat->addMenu($id, $title, $selected, $subitems); $id = 'delete'; $title = 'Delete'; $selected = false; $cat->addMenu($id, $title, $selected); $cat->showTable();
addCell()
public function addCell($val = '')
Добавляет дополнительную ячейку в заголовок каталога.
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->addCell('Added cell'); $cat->showTable();
show()
public function show($doprint = true)
Отображение каталога.
showTable()
public function showTable($navwidth = 25)
Отображение каталога в виде таблицы.
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->showTable();
emptyFrame()
public function emptyFrame()
Отображение пустого фрейма, если не выбрана ветка дерева.
Добавьте в класс wtablecat метод emptyFrame(), который переопределит базовый метод класса wCatalog:
public function emptyFrame()
public function emptyFrame() { global $parser; $output = "
"; $output .= "
- ".$parser->gt('clickcontextmenu'); return $output; }
addPar()
public function addPar($name = '', $val = '')
Добавление параметров к каталогу.
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->addPar('notreeframe', '1'); $cat->showTable();
addHidden()
public function addHidden($name = '', $val = '')
Добавляет скрытое поле к каталогу.
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat-> addHidden('name_hidden','value_hidden'); $cat->showTable();
В результате работы этого примера в каталоге появляется дополнительный html-код:
< input id="name_hidden" name="name_hidden" value="value_hidden" type="hidden" >
addLeftRadioButton()
public function addLeftRadioButton($label = '', $img = '', $checked = false)
Добавляет радиокнопки в левую область заголовка каталога.
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->addLeftRadioButton('insert', '',true); $cat->addLeftRadioButton('delete', '',false); $cat->showTable();
addRightRadioButton()
public function addRightRadioButton($label = '', $img = '', $checked = false, $val = '', $url = '')
Добавляет радиокнопки в правую область заголовка каталога.
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->addRightRadioButton('insert', '',true); $cat->addRightRadioButton('delete', '',false); $cat->showTable();
addMoreMenu()
public function addMoreMenu()
Добавляет в карточку объекта (во всплывающем окне) дополнительное подменю Еще…Кроме этого, добавляет кнопку Еще… в каталоге.
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->addMoreMenu(); $cat->showTable();
addMoreMenuItem()
public function addMoreMenuItem($id = 0, $name = '')
Добавляет меню Еще… и пункт в меню Еще…
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->addMoreMenuItem('main/system/log.php','menu_name'); $cat->showTable();
addMoreMenuSection()
public function addMoreMenuSection($name = '')
Добавление секции к меню Еще…
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->addMoreMenu(); $cat->addMoreMenuSection($parser->gt('objects')); $cat->showTable();
addMoreMenuSectionItem()
public function addMoreMenuSectionItem($section = 0, $id = 0, $name = '')
Добавление пунктов меню в секцию.
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->addMoreMenu(); $section = $cat->addMoreMenuSection($parser->gt('objects')); $cat->addMoreMenuSectionItem($section, 'ext/modulename/lib/file1.php', $parser->gt('action1')); $cat->addMoreMenuSectionItem($section, 'ext/modulename/lib/file2.php', $parser->gt('action2')); $cat->addMoreMenuSectionItem($section, 'ext/modulename/lib/file3.php', $parser->gt('action3')); $cat->showTable();
showAccordion()
public function showAccordion($doprint = true)
Отображение панели навигации «аккордион».
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $section = $cat->addSection($parser->gt('administration')); $cat->addLink($section, $parser->gt('log'), $parser->makeUrl('sys_admin_utils_log', 'objid='.$objid)); $cat->showAccordion();
addSection()
public function addSection($name = '')
Добавление секции в «аккордион».
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $cat->addSection($parser->gt('administration')); $cat->addSection($parser->gt('log')); $cat->showAccordion();
addLink()
public function addLink($section = 0, $name = '', $href = '', $target = 'formframe')
Добавление ссылки в секцию «аккордиона».
$cat = new wtablecat('wcrmp_docs'); $cat->catalog_field = 'category'; $section = $cat->addSection($parser->gt('administration')); $cat->addLink($section, $parser->gt('log'), $parser->makeUrl('sys_admin_utils_log', 'objid='.$objid)); $cat->showAccordion();