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

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


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

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

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

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

  Есть, например, урл :/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() . Посмотрите уже имеющиеся хуки для примера. Вот туда вы можете сунуть запрос из вашей таблички и вывод в какое-то место на странице.

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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