Перейти к публикации
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Изменение шаблона для отображения календаря (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/

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.