Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывод количества объектов в категории. XSLT

Автор idu.kuruРаздел Шаблоны XSLT

Ответов: 6
Просмотров: 4725
Последний ответ 18 Октября 2014, 17:39:24
от idu.kuru
Сортировка по алфавиту в xslt

Автор VladimirРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 4222
Последний ответ 14 Января 2012, 17:25:36
от admin
Не выводятся все теги в xslt

Автор goodprofyРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 3838
Последний ответ 03 Июня 2014, 13:52:04
от goodprofy
webforms & XSLT & модальное окно

Автор graveРаздел JS и AJAX

Ответов: 8
Просмотров: 8566
Последний ответ 13 Июня 2011, 00:41:56
от talanter
Как вывести itemprop="position" content="" в XSLT?

Автор makarov2979Раздел Шаблоны XSLT

Ответов: 0
Просмотров: 1555
Последний ответ 15 Ноября 2018, 09:30:06
от makarov2979

0 Пользователей и 1 Гость просматривают эту тему.

*

Byte

  • *
  • 32
  • +0/-0
    • Просмотр профиля
XSLT шаблон писем
« : 06 Мая 2014, 10:02:44 »
Подскажите, пожалуйста, возможно ли написать единый шаблон для писем всех форм обратной связи, скажем с фиксированной темой, может даже отправителем и в теле письма все поля формы, представленные в определенном формате.

Думаю что нужно смотреть в направлении /templates/{мой_шаблон}/xslt/mail

Но вроде бы этот шаблон обрабатывает уже сформированное письмо.

*

Byte

  • *
  • 32
  • +0/-0
    • Просмотр профиля
Re:XSLT шаблон писем
« Ответ #1 : 06 Мая 2014, 10:47:03 »
Пока нашел решение только в изменении системного метода formatMessage(), но при первом обновлении он затрется, так что не лучший способ, может можно написать кастомный макрос, который выполнялся бы вместо этого?

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Re:XSLT шаблон писем
« Ответ #2 : 06 Мая 2014, 12:38:46 »
Как вариант, переопределить formatMessage в templates/имя шаблона/classes/modules/webforms/class.php (подробнее о новом формате расширения стандартного функционала см. здесь - http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/razrabotka_sobstvennyh_makrosov_i_modulej/novyj_format_rasshireniya_funkcionala/
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

ilyar

Re:XSLT шаблон писем
« Ответ #3 : 06 Мая 2014, 12:41:23 »
formatMessage используется для преформатирования сообщения например Использование bb-кодов на форуме.

Для того что бы решить твою задачу надо сделать шаблоны /templates/{мой_шаблон}/xslt/mail в едином стиле, адрес отправителя берется из настроек системы если не указан явно.

*

Byte

  • *
  • 32
  • +0/-0
    • Просмотр профиля
Re:XSLT шаблон писем
« Ответ #4 : 06 Мая 2014, 14:40:09 »
Как вариант, переопределить formatMessage
В принципе это и имел ввиду во втором сообщении, обязательно попробую. Но это не самое лаконичное решение, Хотелось бы разобраться с шаблонами templates/{мой_шаблон}/xslt/mail но нигде не могу найти документацию. Собственно не понимаю какой xml приходит на вход, поэтому никак не выходит его обработать.

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Re:XSLT шаблон писем
« Ответ #5 : 06 Мая 2014, 15:08:42 »
Письма создаются по шаблонам, которые определены в админке, а не в шаблонизаторе.
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

ilyar

Re:XSLT шаблон писем
« Ответ #6 : 06 Мая 2014, 15:12:00 »
Письма создаются по шаблонам, которые определены в админке, а не в шаблонизаторе.

Это справедливо для Модуля Обратная связь, в остальных случаях это шаблоны и есть практика кастома сделать возможным править их через админку.
 
Как вариант, переопределить formatMessage
В принципе это и имел ввиду во втором сообщении, обязательно попробую. Но это не самое лаконичное решение, Хотелось бы разобраться с шаблонами templates/{мой_шаблон}/xslt/mail но нигде не могу найти документацию. Собственно не понимаю какой xml приходит на вход, поэтому никак не выходит его обработать.

Как такового XML на который можно посмотреть нет, есть данные которые обрабатываются в шаблоне тела письма и разных случаях они разные, например при регистрации пользователя это user_id, domain, activate_link, login, password, lname, fname, father_name. Мне не известно есть ли документация по этому вопросу. В этом поможет разобраться код модуля и следующие материалы:

Добавление информации о заказе в письмо-уведомление
Разный текст уведомления для разного статуса заказа
Изменяем шаблон оповещения менеджера tpl
Уведомление менеджеру о заказе, со всем необходимыми данными (emarket) XSLT

Если кто знает о наличии документации по данным передаваемым в блоки шаблонов почтовых уведомлений разных модулей, пишите, мне тоже будет интересно.

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Re:XSLT шаблон писем
« Ответ #7 : 06 Мая 2014, 15:16:44 »
Письма создаются по шаблонам, которые определены в админке, а не в шаблонизаторе.

Это справедливо для Модуля Обратная связь, в остальных случаях это шаблоны и есть практика кастома сделать возможным править их через админку.

В первом сообщении было сказано только про "Обратную связь":

Цитировать
Подскажите, пожалуйста, возможно ли написать единый шаблон для писем всех форм обратной связи, скажем с фиксированной темой, может даже отправителем и в теле письма все поля формы, представленные в определенном формате.
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

ilyar

Re:XSLT шаблон писем
« Ответ #8 : 06 Мая 2014, 16:16:57 »
Письма создаются по шаблонам, которые определены в админке, а не в шаблонизаторе.

Это справедливо для Модуля Обратная связь, в остальных случаях это шаблоны и есть практика кастома сделать возможным править их через админку.

В первом сообщении было сказано только про "Обратную связь":

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

Хм, действительно, наболтал лишнего, простите.

*

Byte

  • *
  • 32
  • +0/-0
    • Просмотр профиля
Re:XSLT шаблон писем
« Ответ #9 : 06 Мая 2014, 16:24:17 »
Да, важно именно сообщения обратной связи обрабатывать, у меня там несколько десятков форм с различными полями и не очень удобно для каждой формы создавать шаблон письма

*

ilyar

Re:XSLT шаблон писем
« Ответ #10 : 06 Мая 2014, 17:51:16 »
Да, важно именно сообщения обратной связи обрабатывать, у меня там несколько десятков форм с различными полями и не очень удобно для каждой формы создавать шаблон письма

Конечное решение зависит от деталей, например как часто надо менять шаблоны писем, добавляются ли формы, меняются ли  у форм поля и т.п.

Как писал e.ioffe написать макрос который будет вставляться в тело шаблона при этом решение не будет касаться полей темы, отправителя и получателя.

Собственно не понимаю какой xml приходит на вход, поэтому никак не выходит его обработать.

Этот макрос будет работать в момент отправки формы поэтому смотри что приходит в параметры запроса getRequest({key}) например param0, param1, param* и data*


Еще в том же направлении: создать обработчик события добавления и редактирования формы и что то делать со всеми полями шаблонов.

Еще можно подойти к этому написав скрипт для создания, обновления шаблонов писем для Форм обратной связи по шаблону (так сказать шаблоны по шаблону  :) ) это было бы полезно добавить в UMI.Console или просто standalone-скрипт.