Архитектура сайта, или кратко о том, как все реализовано технически
- все фильмы хранятся в одном месте, в разделе 99. Фильмы и вызываются во всех остальных местах только s_list_class'ом. Таким образом, у каждого фильма есть один единый и вечный url вида films/films_8.html
- внутри фильма настраивается то, где его выводить. А это два критерия:
- кинотеатр
- сегодня/скоро/слайдер
- все это будет решено (пока) самым простейшим образом: будет создан список Netcat следующего вида:
- Кинотеатр №1: сегодня
- Кинотеатр №1: скоро
- Кинотеатр №1: слайдер
- Кинотеатр №2: сегодня
- Кинотеатр №2: скоро
- Кинотеатр №2: слайдер
потом прикрутим к этому связанные списки Netcat, когда кинотеатров станет хотя бы 5. Тогда все останется круто - в фильме таким образом определяется, где он будет выводиться
- в компоненте Расписания в "визуальных настройках" определяются вручную параметры выборки в зависимости от раздела
- в шаблоне дизайна определяются вручную параметры выборки для Правой, Левой колонки и слайдера
- в разделах сайта (видимых и скрытых) выборки также могут определяться через еще один макет, в котором в контенте стоит настраиваемый s_list_class, либо через специальный настраиваемый листинг-компонент
Архив ТЗ на финальные доработки
- в компонент "Фильмы" добавляем новое поле GdeIdet "Множественный выбор", привязанное к списку NetCat "kinoteatres"
- делаем новый макет дизайна. Точно такой же, как текущий, только выпиливаем оттуда все наши bootstrap'овские настройки, чтобы не мешались.
- во вновь созданный макет дизайна добавляем следующие настройки:
- выводить в левой колонке: настраиваемый s_list_class компонента "Фильмы". Настройки - это выборка по объектов по полю "GdeIdet", взятые из того-же самого списка NetCat. То есть заходим в настройки макета дизайна -> Что выводить в левой колонке? -> Ставим галку напротив "Кинотеатр №1: сегодня". Результат: в левом столбце выводится то, что Сегодня идет в Кинотеатре №1. Задача решена.
- выводить в правой колонке: аналогично
- выводить в слайдере: аналогично
- телефон кинотеатра
- адрес кинотеатра
- логотип кинотеатра | файл
- код для вставки карты Google
- Группа "Настройки баннеров":
- Баннеры под слайдером | Связь с другой сущностью | (тут выбирается служебный раздел, откуда выводятся баннеры). Временно: для этого создаем еще один компонент "Баннеры", в котором одно единственное поле html-код. Создаем служебный раздел в корне сайта, в него этот компонент, в нем три объекта для трех типов баннеров, которые у нас имеются. Первый - черный угловатый - включен, оставшиеся выключены.
- Баннеры под под расписанием | Связь с другой сущностью | (привязываем пока к созданному на пред. этапе разделу)
- Группа "Настройки расписания":
- Расписание на Сегодня: заголовок | текстовое поле
- Расписание на Сегодня | Связь с другой сущностью | (привязываем к разделу "105. (служебный) Расписание" -> Сегодня, в нем расписание Сеансов)
- Расписание на Скоро: заголовок | текстовое поле
- Расписание на Скоро | Связь с другой сущностью | (привязываем к разделу "105. (служебный) Расписание" -> Скоро)
- Поменять местами | галка | меняет порядок вывода расписаний в макете (ставится и убирается администратором в момент смены расписаний)
- автоматизация макета: выпадающий выбор кинотеатра - это s_browse_sub (0, ...), т.е. список включенных разделов первого уровня.
- иконка берется из настроек дизайна
- автоматизация макета: главное меню - это список подразделов раздела, к которому применен текущий макет дизайна. Это должно быть можно достать из Хэш-массивы NetCat, если нет, то можно в настройки макете дизайна добавить пункт № корневого раздела
- подумать, что делать с менюшками и кнопками, если мы зайдем в раздел Фильмы, у которого нет подразделов.
- макет дизайна: создаем плашку "Есть вопросы по сайту? Задавайте их тут" со ссылкой на эту тему по аналогии с тем, как это сделано на xcsport.ru (только для администраторов)
--- --- --- - разрабатываем компонент "Фильмы", поля в соответствии с ТЗ, описанном в нем самом уже на сайте.
- шаблоны компонента "Фильмы":
- основной дефолтный шаблон - для раздела "Скоро"
- Боковые вертикальные постеры
- Слайдер
- Сегодня на экране (для Главной)
- создаем еще один компонент "транслятор фильмов". Его задача - настроить трансляцию нужных фильмов в раздел. То же самое, что в настройках дизайна сделано, выбор параметров s_list_class'а из списка NetCat. Именно этот компонент размещается в разделе Скоро и в "Что посмотреть" на Главной. Это нужно для того, чтобы все ссылки на все фильмы всегда и везде на сайте вели на films/film_XXX.html
--- --- --- - дорабатываем компонент "Расписание" так, чтобы выборка фильмов для формирования расписания сеансов в разделе происходила также, как в "Трансляторе фильмов" (сейчас просто указывается раздел для листинга)
- разрабатываем шаблон компонента Расписание для Главной
- каждый кинотеатр - это раздел второго уровня. Ему присваивается дизайн. Все остальные подразделы дизайн наследуют дизайн.
- в кинотеатре может быть только один уровень вложенности
- при создании кинотеатра в списке NetCat "Кинотеатры" создаются следующие пункты:
- Новый кинотеатр: сегодня
- Новый кинотеатр: скоро
- Новый кинотеатр: слайдер
- структура кинотеатра копируется из существующего
- назначаются права для добавления анкет пользователей и для редактирования расписания
FAQ:
Как сменить фон сайта?
Зайти в Сайт -> Настройки -> Дополнительные поля -> Фоновая картинка. Картинка должна быть до 500 КБ, с градиентом (нижнее значение градиента #222), 1920px по ширине
Как наследуются макеты дизайна?
У сайта есть макет, настройки которого применяются ко всем выключенным разделам сайта первого уровня. У каждого включенного раздела (т.е. у каждого кинотеатра) свои уникальные настройки, которые, в свою очередь наследуются во все вложенные в него разделы.
Как сменить Главный Логотип?
В настройках дизайна сайта. В настройках дизайна каждого кинотеатра.
Что где выводится и как работает? Как добавить фильм туда-то или сюда-то?
Для всех блоков информации сайта в админке созданы вспомогательные служебные разделы. Они служат для иллюстрации и пояснения работы сайта. Как и что добавить - описано прямо в админке.
К доработке:
расписаниемелкие ошибки во втором кинотеатребаннерынастройки выборки фильмов в расписании- права доступа для администраторов
Оставить комментарий