Перейти к контенту

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


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

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

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

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

  Есть, например, урл :/develop/board/upload/index.php?/calendar/
  Есть ли файл маршрутов, где однозначно описано на какой контроллер  он ведёт?
 
 Попробовал тупо грепнуть по названию элемента стиля(из исходного кода в сгенерённой странице), вышел на /xml/calendar_root_templates, изменения в котором ни к чему не привели. Отсюда вопрос, станицы генерятся на основании xml шаблонов или таки откуда-то из базы.

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

 

Ссылка на комментарий
Поделиться на других сайтах

Ну эээ с чего бы начать...
Первый вопрос про путь:

index.php?/calendar/ 

Это FURL(ЧПУ) . Такая ссылка разбирается в соответствии с правилами формирования ЧПУ в запрос вида index.php?app=calendar и могут быть еще &module, &section, &do . Получить реальную ссылку можно отключив $INFO['use_friendly_urls'] в conf_global.php . Или самому пройтись по таблице подстановки. Её кэш лежит в /cache/furlCache.php

Ну а дальше поехали app=calendar  - /admin/apllications_addon/ips/calendar . Core,forum,members лежат в /admin/applications , остальные в /admin/applications_addon/ips или other .
module= если есть такое, то это  /admin/apllications_addon/ips/calendar/modules_public,  если админка то modules_admin .
section= это уже конкретный php в папке модуля
У каждого приложения есть дефолтный модуль и секция. Модуль задается где-то в скриптах, не угадаешь, а секция в defaultSection.php

/xml/calendar_root_templates.xml - файл шаблонов, но он дистрибутивный. При  установке приложения его шаблоны, настройки, языковые строки импортируются из xml в базу. Потом из базы шаблоны превращаются в php и складываются в /cache/skin_cache/cacheid_НОМЕР 

Редактируются шаблоны в админке - внешний вид - управление стилями . Можно просто поискать через внешний вид - поиск и замена элемент стиля, чтобы определить конкретный шаблон.


 

Ссылка на комментарий
Поделиться на других сайтах

Спасибо за ответ. А вот как ещё такую вещь сделать, подскажите пожалуйста: мне нужен, возможно ни с чем не связанный набор значений. Те же типы событий. Я создам под них отдельную табличку, типа id | name | color. Где мне нужно будет инициализировать массив с выбранными из таблички значениями, что бы он был доступен в шаблонах стилей, по приципу, как ща доступны элементы события -- span itemprop="name">{$event['event_title']} ?

И второй вопрос:  сложно ли добавить в админку новые поля меню, или лучше новый функционал добавлять в уже существующие разделы? 

Ссылка на комментарий
Поделиться на других сайтах

Кривая это дорожка - править код напрямую.
У IPS на сайте есть целый раздел про создание хуков и приложений. Он по английски, но все вполне понятно и доступно. Внутри шаблона вы можете оперировать переменными, которые ему передаются и общими переменными. Шаблон при кешировании превращается в функцию с параметрами и в ней можно эти параметры использовать. 

То, что вы хотите сделать, реализуется хуками шаблона.

В шаблонах есть точки входа для хуков. Выглядят как и так же для foreach . В такие точки можно выводить свои данные. Для этого нужно в режиме разработчика создать в админке новый хук, указать точку входа и исполняемый файл. В исполняемом файле в папке hooks должен быть класс(имя класса совпадает с именем файла) с методом getOutput() . Посмотрите уже имеющиеся хуки для примера. Вот туда вы можете сунуть запрос из вашей таблички и вывод в какое-то место на странице.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.