Есть ли у Concrete5 что-то похожее на CCK и Views в Drupal? - PullRequest
3 голосов
/ 03 ноября 2010

Есть ли у Concrete5 что-то похожее на CCK и Views в Drupal? Как я могу создать новый пользовательский тип контента (например, каталог или продукт) в Concrete5?

1 Ответ

14 голосов
/ 06 ноября 2010

Concrete5 больше ориентирован на страницы, чем на данные (потому что его упор делается на простоту редактирования, а ментальная модель большинства людей - это набор страниц, а не один шаблон, динамически заполняемый контентом на основе ввода переменные и т. д.). Следовательно, вы рассматриваете каждую страницу как «запись». В Concrete5 есть понятие «типы страниц», которые обычно приравниваются к «шаблонам тем», но также служат для определения набора данных с помощью атрибутов.

Итак ... вы создаете тип страницы для типа данных (скажем, продукт) и создаете пользовательские атрибуты для метаданных продукта (название, цена и т. Д.). Затем, чтобы добавить продукт в систему, вы просто добавляете новую страницу и выбираете тип страницы «продукт». Эта страница служит как страницей «просмотра» для этого продукта, так и якорем для его данных (в диалоговом окне «Свойства» при создании или редактировании страницы). Теперь вместо запроса «просмотра» для представления списка данных вы используете блок «Список страниц» и сообщаете ему, что нужно показывать только страницы типа «продукт». Чтобы настроить вывод списка страниц, вы можете создать собственный шаблон для него, в котором, помимо прочего, вы можете вывести настраиваемые атрибуты страницы (имя, цена и т. Д.), Вызвав это: echo $ cobj-> getCollectionAttributeValue ('myattributename');)

Все это, как говорится, есть плагин (хотя и не бесплатный), который работает больше как CCK / Views: http://www.concrete5.org/marketplace/addons/data-display/

И, конечно, если это действительно каталог товаров, вы, вероятно, захотите использовать плагин eCommerce (тоже не бесплатный, но стоит того, чтобы создавать сайты для клиентов, которые платят вам) - извините, не можете опубликовать ссылку благодаря спам-фильтру StackOverflow, но его очень легко найти на рынке concrete5.

Если у вас есть очень сложная и обширная база данных для отображения на веб-сайте, то Concrete5, вероятно, не лучший инструмент для работы. Но для более простых сайтов, ориентированных на контент (например, портфолио исполнителей, лейблы звукозаписей, списки сотрудников с несколькими десятками человек), я считаю, что гораздо проще настроить и поддерживать, чем более ориентированные на базы данных CMS, такие как Drupal (особенно если предоставление нетехническому клиенту для управления).

...