Пользовательские типы содержимого (блоки) Concrete5 - PullRequest
3 голосов
/ 08 марта 2012

Есть ли где-нибудь онлайн, где можно найти, как создавать собственные блоки так же, как мы можем создавать собственные типы контента в Wordpress. Желаемый результат - добавить блок, который позволит пользователю добавлять / редактировать настраиваемые поля, такие как имя клиента, описание портфеля, миниатюра портфолио.

Ответы [ 2 ]

7 голосов
/ 08 марта 2012

Я создал бесплатный инструмент под названием «Содержимое конструктора», который позволяет легко создавать следующие пользовательские блоки: http://www.concrete5.org/marketplace/addons/designer-content

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

Например, если вы создаете сайт-портфолио, вам может понадобиться одна страница «Портфолио» верхнего уровня, на которой отображаются миниатюра и заголовок каждого произведения.затем тип страницы «Сведения об элементе портфолио», содержащий по одному фрагменту на страницу, каждый из которых находится под индексной страницей «портфолио» верхнего уровня.

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

Если вы воспользуетесь этим подходом, вы можете найти "Полезный аддон «Список страниц тизеров» (он позволяет блоку «Список страниц» - который вы используете для своей «индексной» страницы верхнего уровня - показывать исключения из фактического содержимого страниц, а не просто отдельное поле «описание»): http://www.concrete5.org/marketplace/addons/page-list-teasers

Или, если вы хотите глубже погрузиться и настроить шаблон списка страниц, у меня есть стартовый шаблон с тонной комментариев кода, объясняющих, как делать разные вещи здесь: https://github.com/jordanlev/c5_clean_block_templates/blob/master/page_list/view.php

Но ... если вы говорите только о небольших объемах информации и думаете, что отдельная страница для каждой излишне, то подход «Контент для дизайнеров», с которым я ссылался первым, будет работать просто отлично.

1 голос
/ 22 мая 2012

Инструкции по созданию новых блоков, написанные Францем Маруной, можно найти на веб-сайте concrete5.

Вот ссылка: Создание нового типа блока

Существует также простой блок, который вы можете загрузить и установить, чтобы помочь вам следовать руководствам для разработчиков. Вы можете найти это здесь: Простой блочный шаблон

...