Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
dio_bless

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

Recommended Posts

Добрый день!

 

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

 

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

 

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

 

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

 

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

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

Контроллер один, а в зависимости от от параметров подключаются разные модели (условно так говоря, потому что в 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 шаблонов или таки откуда-то из базы.

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


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

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

if ($event_id ==1){

echo "<a class='summary url'

}

else {

 

<a class='summary1 url'

}

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...