Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Изменение шаблона для отображения календаря (3.4.6)

Добрый день!

 

С IPB дел раньше никогда не имел.

 

В общем, встала задача модификации форума. В частности поменять стили отображения событий, в зависимости от типа события в календаре. А в админ-панели соответственно добавить возможность управлять (добавить/редактировать/удалить) типами событий. При добавлении в календарь события добавить поле типа события.

 

Насколько реальна задача?)

 

Несколько нубских вопросов, если это всё уже описано, прошу ткнуть ссылкой).

 

Как распутывать структуру контроллеров-шаблонов?

Есть, например, урл :/develop/board/upload/index.php?/calendar/

Есть ли файл маршрутов, где однозначно описано на какой контроллер он ведёт?

 

Попробовал тупо грепнуть по названию элемента стиля(из исходного кода в сгенерённой странице), вышел на /xml/calendar_root_templates, изменения в котором ни к чему не привели. Отсюда вопрос, станицы генерятся на основании xml шаблонов или таки откуда-то из базы.

 

В общем нужна помощь, с чего начать копать)

Рекомендованные сообщения

  • Автор

Прочитал про так называемые хуки, но пока не полностью осознал, что это такое. Сформировался вопрос - можно ли написать хук, который реализует весь описанный мною в первом посте новый функционал?

 

>В общем, встала задача модификации форума. В частности поменять стили отображения событий, в зависимости от типа события в календаре. А в админ-панели соответственно добавить возможность управлять (добавить/редактировать/удалить) типами событий. При добавлении в календарь события добавить поле типа события.

Добрый вечер.

 

Для АЦ добавляете/пишите модуль для календаря

Для публичной части - хуки:

- "первый" для добавления поля на страницу создания/редактирования события. Выпадающий список планируется?

- второй для записи в бд нового значения при создании события

- третий для перезаписи в бд нового значения при создании события

- четвертый для CSS. Не знаю, как Вы собрались менять стили. Или речь идет не о css?

 

Может что-то еще придется сделать, т.к. ТЗ описано в общих чертах.

Контроллер один, а в зависимости от от параметров подключаются разные модели (условно так говоря, потому что в MVC разные люди понятие "модель" трактуют по разному).

Например чпу адрес /index.php?/calendar/ равен /index.php?app=calendar

что соответствует /admin/applications(_addon)?/{app}/modules_(admin|public)/{module}/{section}

 

Конкретно какой {module} или {section} отрабатывает в данном случае можно посмотреть в роутере чпу для этого модуля в /admin/applications(_addon)?/{app}/extensions/furlTemplates.php

 

Если module не определен, значит это будет первый модуль в списке.

section по умолчанию можно определить в defaultSection.php папки модуля.

 

Отсюда вопрос, станицы генерятся на основании xml шаблонов или таки откуда-то из базы.

Шаблоны находятся в базе, но кешируются на диске.

Редактируются в админцентре -> Внешний вид.

Сформировался вопрос - можно ли написать хук, который реализует весь описанный мною в первом посте новый функционал?

Hook. Помогите с API

Попробовал тупо грепнуть по названию элемента стиля(из исходного кода в сгенерённой странице), вышел на /xml/calendar_root_templates, изменения в котором ни к чему не привели.
Если обновить данные базового стиля и кеш-файлы, то увидите изменения. Но это не правильный путь.
  • Автор

>Выпадающий список планируется?

Да, так как количество типов событий может быть произвольным.

 

>четвертый для CSS. Не знаю, как Вы собрались менять стили. Или речь идет не о css?

Предположительно, думал просто менять имя класса в зависимости от типа события, если позволяет синтаксис шаблона, то как то так:

 

if ($event_id ==1){

echo "<a class='summary url'

}

else {

 

<a class='summary1 url'

}

а в css добавить все эти классы

  • Автор

И ещё почему-то не могу найти в редактировании стилей, шаблоны для админки, в частности для календаря...

шаблоны для админки

Шаблоны админки редактируются не в админцентре, они находятся в файлах - /admin/applications/{app}/skin_cp/

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.