Перейти к контенту

Модификации IPB на заказ

  • записей
    28
  • комментариев
    165
  • просмотров
    148 314

JQ-админка


WildRAID

2 050 просмотров

JQ-админка.

 

Добавление новой секции.

1. Придумать короткое имя секции на английском.

2. Добавить в config.php элемент массива $sections:

 

Например:

$sections['payment'] = array(
'name'		=> 'Платежи',
'items'		=> array(
	'distrib'=> 'Разнос платежей',
	'return'=> 'Возврат средств',
),
);

 

Где payment - имя секции.

Секция появится в главном меню.

 

3. В /grids/ создать папку с именем секции. В нее положить классы гридов.

4. В /templates/ создать папку с именем секции. В нее положить шаблоны smarty.

5. (Не обязательно) В /libs/ создать контроллер и модель секции.

 

По изменениям в механизмах работы.

Практика показала, что в подавляющем большинстве интерфейсов центральное место занимают гриды. Так или иначе, все вращается вокруг них. Это привело к тому, что в контроллерах постоянно повторяются однотипные функции. Плохо.

 

В новой схеме всё максимально автоматизируется и упрощается.

 

Контроллер

Чтобы обратиться к функции test секции payment, используем

?section=payment&act=test

Если контроллер секции отсутствует, либо соответствующая функция в нем не определена, то возможны два варианта.

 

  • Если у act есть префикс 'jq_' (например: 'jq_orders'), то подгружается класс грида с таким названием.
    • Если в запросе есть oper - вызывается соответствующее действие грида (вставка, редактирование и т.п.)
    • Если нет - происходит выгрузка данных в грид (JSON).

    [*]В ином случае напрямую вызывается tpl-шаблон с именем, аналогичным act. В примере выше произойдет вывод шаблона test.tpl из секции payment.

Если вам нужны дополнительные переменные в шаблоне - создавайте контроллер и определяйте свои функции.

0 комментариев


Рекомендуемые комментарии

Комментариев для отображения не найдено.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.