Есть задача. Сделать сайт, на котором присутствует 100+ страниц с услугами. Каждая страница имеет шаблонные блоки, но не шаблонное расположение / присутствие блоков. Количество блоков на странице от 2х до 10. Т.е. каждая страница уникальна.
1 условие задачи.
Сайт сделан на Битриксе, а заполняет страницы контентщик за 40 гривен, естественно, ни разу не разбирающийся в битриксе, html, css и тд. В данной ситуации на мой взгляд самое оптимальное решение - идти через привязку к элементам. Т.е. наплодить темплейтов и пусть при заполнении страницы создает отдельно для каждой страницы элемент, и тянет его к основному элементу. Минус данного метода в том, что если кому-то приспичит, контентщик не сможет создать на странице 2 одинаковых блока, если это заранее не предусмотрено. Большое количество иб. Плюс данного метода - минимальные шансы ошибиться у контентщика и как следствие - контентщик не дергает разработчика по каждой мелочи. Вопрос - видите ли вы лучшее решение в данных условиях ?
2 условие задачи
Сайт сделан на Битриксе, а заполняет его контентщик, который знаком с html, css, битрикс. Тут как по мне лучшее решение - это идти через заранее прописанные классы для блоков. Т.е. предоставить контентщику свободу - пусть заполняет страницу в Детальном описании, а на нужные блоки через гуи битры вешает классы. Минусов в данном случае не вижу. Из плюсов - отсутствие лишних иб, полная свобода в наполнении контента. Вопрос - видите ли вы минусы или лучшее решение в данных условиях?
3 условие задачи
Сайт сделан не на битриксе. Вопрос - на чем лучше реализовать данную задачу?
Сложно ответить, т.к. не понятно на сколько разные страницы.
Если это страницы все же однотипны, а я думаю это так иначе тут на каждую страницу нужен верстальщик и дизайнер. То есть 2 решения:
1. Делать компоненты, которые контент-менеджер будет перетаскивать на страницу, а они буду добавлять какое-то преднастроенные блоки. Посмотрите, как сделана верстка шаблонов писем в тригерной рассылке.
2. Тоже самое реализовать через преднастроенные снипеты. Это проще, остается полная свобода в оформлении, ну и можно поломать страницу удалив теги.
Правильно подметили в комментариях, что все зависит от уникальности и ожидаемой гибкости.
Я всегда стараюсь в первую очередь отталкиваться от правила "сделать максимально удобное редактирование для самого тупого котентщика". Исходя из этого, в подобных задачах поступал следующим образом.
Нам нужно, чтобы контентщик мог самостоятельно создать новую страницу. Значит, будет 1 инфоблок, а страница -- это элемент инфоблока. Т.е. при создании страница автоматом получит динамический адрес.
Вся информация в блоки на странице будет выводиться через свойства инфоблока. Их нужно будет красиво сгруппировать. Каждая группа свойств -- отдельный блок. У каждой такой группы будет 2 обязательных свойства: активность блока и сортировка блока. Галочка активности будет отвечать за показ блока на странице. А сортировка будет указывать положение блока относительно остальных блоков (т.е. устанавливать порядок блоков). Остальные свойства в группе -- индивидуальны для каждого блока.
Вам останется только разместить на физической странице комплексный компонент Новостей (чтобы включить ЧПУ) и переписать шаблон детальной страницы (реализовать группировку свойств, вывод и сортировку блоков).
В результате получится небольшой конструктор страниц, с которым справится даже ребенок.