Инфоблоки для Livestreet
Привет друзья.
Давно хотел написать этот топик. По долгу службы, часто в разработке сайтов использую Битрикс — платная российская CMS. Оставим обсуждения её качества (по-сути холивары). В составе этой CMS главной частью является модуль «Инфоблоки», позволяющий абстрагировать типы контента и легко настроить их вывод в публичную часть сайта. Причём здесь LS?
Пример, хочу сделать каталог товаров:
Создаю новый инфоблок «Каталог». По умолчанию для каждого элемента мне доступны:
- Название
- Текст анонса + Текст подробно
- Картинка анонса + картинка подробно
- Статус активности
- Раздел в который входит элемент
- Строка
- Число
- Список
- Файл
- Привязка к разделам
- Привязка к элементам
- Привязка к файлу
- Привязка к пользователю
Далее показываем каталог на сайте:
- Создаю страницу или папку а в ней файл.
- Бросаю туда код вызова компонента вывода сущностей (говоря языком Битрикс, например, компонент «Новости»).
- Говорю компоненту из какого инфоблока брать информацию.
- Правлю шаблон (в Битрикс свой простецкий шаблонизатор, основанный на php переменных + API).
- И вуаля получаю, то что мне надо, в данном случае — каталог (прежде я созадал свойство «Цена» с типом строка)
Надеюсь, я объясняю понятно, так просто сделать универсальный каталог, новости, фотогалерею список почти бесконечен. Хочешь сделать каталог квартир? Легко, создавай инфблок «Каталог квартир», определяй свойства «Город», «Этаж», «Площадь», «и.т.д.». И всё)
Вы наверное подумали, что суть топика — спеть диферамбы Битрикс, но я хочу показать как сделать LS популярнее. Ведь как обстоит ситуация сейчас для любого чиха создаётся плагин, который может выполнять строго определённые функции, если это каталог мебели, то шаг вправо шаг влево расстрел.
Ещё один модуль для LiveStreet
Я предлагаю создать модуль для LS дублирующий функционал «Инфоблоки». Который состоит из двух частей — конструктор сущностей + «view».
Первая часть (конструктор) выглядит так: создание сущности, например, «бассейны в Москве»; указание свойств в этой сущности: адрес, цена разового посещения, цена абонемента; указание url по которому отвечает эта сущность. У пользователя в меню «Написать» появляется вариант «Бассейн».
«Вьюха» состоит из двух файлов (как минимум) — bassein_list.tpl.php и bassein.tpl.php
В лучших традициях
Подобный функционал реализован во всех популярных CMS и тем более CMF:
- Wordrpess: Post Types (в составе ядра) + Custom Fields
- Drupal: CCK (с 7 ой версии в составе ядра) + Views
- MODx
- Ruby on Rails: Scaffolding
- Cogear: есть зачатки
Зачём всё это?
Затем, что этот модуль ИМХо решение не следствий, а причины. Прошу обсуждения и самое главное участия разработчиков. Внесём модуль в ядро?;)
9 комментариев
Возможно так, набираем человек 10 в складчину, если кто из местных разработчиков берётся, ему и выплачиваем сумму N.