All Projects → DigitalWand → Digitalwand.admin_helper

DigitalWand / Digitalwand.admin_helper

Licence: mit
API для сборки кастомных админок в Битриксе

Projects that are alternatives of or similar to Digitalwand.admin helper

Hunt Framework
A Web framework for D Programming Language. Full-stack high-performance.
Stars: ✭ 256 (+89.63%)
Mutual labels:  orm, mvc
Mormot
Synopse mORMot ORM/SOA/MVC framework
Stars: ✭ 607 (+349.63%)
Mutual labels:  orm, mvc
Java Bible
🍌 我的技术摘要
Stars: ✭ 2,919 (+2062.22%)
Mutual labels:  orm, mvc
Thinkgo
A lightweight MVC framework written in Go (Golang).
Stars: ✭ 184 (+36.3%)
Mutual labels:  orm, mvc
Cakephp
CakePHP: The Rapid Development Framework for PHP - Official Repository
Stars: ✭ 8,453 (+6161.48%)
Mutual labels:  orm, mvc
java-bible
🍌 我的技术摘要
Stars: ✭ 2,950 (+2085.19%)
Mutual labels:  orm, mvc
Ubiquity
Ubiquity framework
Stars: ✭ 480 (+255.56%)
Mutual labels:  orm, mvc
Elefant
Elefant, the refreshingly simple PHP CMS and web framework.
Stars: ✭ 188 (+39.26%)
Mutual labels:  orm, mvc
Flexicms
Flexible site management system Flexi CMS
Stars: ✭ 61 (-54.81%)
Mutual labels:  orm, mvc
Bast
Simple but Elegant Web Framework
Stars: ✭ 49 (-63.7%)
Mutual labels:  orm, mvc
Diamond
Diamond is a full-stack web-framework written in The D Programming Language using vibe.d
Stars: ✭ 173 (+28.15%)
Mutual labels:  orm, mvc
Butterfly
🔥 蝴蝶--【简单】【稳定】【好用】的 Python web 框架🦋 除 Python 2.7,无其他依赖; 🦋 butterfly 是一个 RPC 风格 web 框架,同时也是微服务框架,自带消息队列通信机制实现分布式
Stars: ✭ 82 (-39.26%)
Mutual labels:  orm, mvc
Javatech
☕️ 汇总 Java 开发中常见的主流技术的应用、特性、原理。
Stars: ✭ 310 (+129.63%)
Mutual labels:  orm, mvc
Latke
🌀 一款以 JSON 为主的 Java Web 框架。
Stars: ✭ 781 (+478.52%)
Mutual labels:  orm, mvc
Ouzo
Ouzo Framework - PHP MVC ORM
Stars: ✭ 66 (-51.11%)
Mutual labels:  orm, mvc
Jkmvc
Jkmvc is an elegant, powerful and lightweight MVC & ORM framework built using kotlin. It aims to be swift, secure, and small. It will turn java's heavy development into kotlin's simple pleasure. No spring.
Stars: ✭ 86 (-36.3%)
Mutual labels:  orm, mvc
Nestjs Sequelize Jwt
Nest + Sequelize + jwt
Stars: ✭ 127 (-5.93%)
Mutual labels:  orm
Ferma
An ORM / OGM for the TinkerPop graph stack.
Stars: ✭ 130 (-3.7%)
Mutual labels:  orm
Elmahcore
ELMAH for Net.Standard and Net.Core
Stars: ✭ 127 (-5.93%)
Mutual labels:  mvc
Js Data
Give your data the treatment it deserves with a framework-agnostic, datastore-agnostic JavaScript ORM built for ease of use and peace of mind. Works in Node.js and in the Browser. Main Site: http://js-data.io, API Reference Docs: http://api.js-data.io/js-data
Stars: ✭ 1,599 (+1084.44%)
Mutual labels:  orm

digitalwand.admin_helper

API для сборки кастомных админок в Битриксе

Документация по модулю доступна по адресу http://api.digitalwand.ru/admin_helper/. Её же можно прочитать в комментариях в коде модуля.

Есть хорошая вводная статья в блоге: Генератор админок «Битрикса».

Простой рабочий пример реализован отдельным модулем demo.adminhelper

Концепция

Данный модуль реализует подход MVC для создания административного интерфейса.

Возможность построения административного интерфейса появляется благодаря наличию единого API для CRUD-операциями над сущностями. Поэтому построение админ. интерфейса средствами данного модуля возможно только для классов, реализующих API ORM Битрикс. При желании использовать данный модуль для сущностей, не использующих ORM Битрикс, можно подготовить для таких сущностей класс-обёртку, реализующий необходимые функции.

Основные понятия модуля:

  • Модель: "model" в терминах MVC. Класс, унаследованный от DataManager или реализующий аналогичный API.
  • Хэлпер: "view" в терминах MVC. Класс, реализующий отрисовку интерфейса списка или детальной страницы.
  • Роутер: "controller" в терминах MVC. Файл, принимающий все запросы к админке данного модуля, создающий нужные хэлперы с нужными настройками. С ним напрямую работать не придётся.
  • Виджеты: "delegate" в терминах MVC. Классы, отвечающие за отрисовку элементов управления для отдельных полей сущностей. В списке и на детальной.

Схема работы с модулем следующая:

  • Реализация класса AdminListHelper - для управления страницей списка элементов
  • Реализация класса AdminEditHelper - для управления страницей просмотра/редактирования элемента
  • Создание файла Interface.php с вызовом AdminBaseHelper::setInterfaceSettings(), в которую передается конфигурация полей админки и классы, используемые для её построения.
  • Если не хватает возможностей виджетов, идущих с модулем, можно реализовать свой виджет, унаследованный от любого другого готового виджета или от абстрактного класса HelperWidget

Рекомендуемая файловая структура для модулей, использующих данный функционал:

  • Каталог admin. Достаточно поместить в него файл menu.php, отдельные файлы для списка и детальной создавать не надо благодаря единому роутингу.
  • Каталог classes (или lib): содержит классы модели, представлений и делегатов.
  • -- classes/helper: каталог, содержащий классы "view", унаследованные от AdminListHelper и AdminEditHelper.
  • -- classes/widget: каталог, содержащий виджеты ("delegate"), если для модуля пришлось создавать свои.
  • -- classes/model: каталог с моделями, если пришлось переопределять поведение стандартных функций getList и т.д.

Использовать данную структуру не обязательно, это лишь рекомендация, основанная на успешном опыте применения модуля в ряде проектов.

Разработчики

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].