Инфоблоки для 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 комментариев

avatar
Я за!
avatar
Хоть лично мне подобный функционал сейчас особо и не нужен, но потенциал в нем есть. Если сообщество решит, что в этом есть перспективы, готов проспонсировать разработку на равных условиях.
avatar
Плюс, за разработку, скинулся бы

Возможно так, набираем человек 10 в складчину, если кто из местных разработчиков берётся, ему и выплачиваем сумму N.
avatar
Кстати, этот плагин будет универсален, и достаточно поставить его, чем громоздить неколько других, возможно сам ort возьмётся, и внедрит его в двиг по дефолту в новой версии? Ort, ты как?
avatar
Готов участвовать материально, при условии, что результат будет свободно распространяться.
avatar
Как говорить плюс тысяча. Готов присоединиться к материальной помощи для разработки.
avatar
я с вами
avatar
тоже готов материально поддержать
avatar
Господа, поделитесь новостями. Ведутся ли работы в этом направлении? М.б. стоит создать топик в разделе заказов.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.