Добавьте html-флажок на страницу отправки заявки OTRS.

Я новичок в OTRS, и мне нужно добавить HTML-флажок с текстом на странице отправки заявки. По сути, мне нужно, чтобы пользователь принял заявление о конфиденциальности (установив флажок), прежде чем он отправит новый билет. Следовательно, кнопка отправки должна быть включена только после того, как пользователь нажмет на флажок. Как я могу это сделать?

Я знаю HTML, но не знаю архитектуры OTRS, поэтому не могу понять, как модифицировать HTML-страницы.

В Kernel->Output->HTML->Standard я нашел шаблоны HTML (*.dtl), но:

  1. Я не знаю, какие элементы являются частью страницы отправки билетов;
  2. Я не знаю, нужно ли мне изменить существующий шаблон, добавить HTML или создать новый шаблон (во втором случае я думаю, что мне следует изменить какой-то модуль perl, который вызывает макет, но какой!?!)
  3. Я пытаюсь открыть файлы .dtl, чтобы понять, что мне нужно изменить, но Firefox не может правильно их отобразить; как я могу их открыть?

person user1781028    schedule 27.05.2013    source источник


Ответы (1)


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

Вы можете просто перейти в Admin > SysConfig > Framework > Frontend::Customer и активировать модуль CustomerPanelPreApplicationModule###CustomerAccept, а также значения InfoKey и InfoFile. Когда клиент входит в систему, отображается текст в InfoFile, и клиент должен принять это. После принятия InfoKey сохраняется в настройках пользователя. Таким образом, система не будет снова запрашивать разрешение у клиента, и если вы можете изменить политику, вы также можете изменить ключ, отображая сообщение при необходимости.

Что касается ваших вопросов о файлах .dtl: это обычные HTML-файлы, но разные блоки обрабатываются файлами, расположенными в разделе «Ядро/Модули».

Если вы хотите изменить страницу, которая используется для отправки новых заявок, это файл: CustomerTicketMessage.dtl. Вы можете редактировать эти файлы в любом текстовом редакторе.

person MichielB    schedule 28.05.2013
comment
Большое спасибо! Ваш ответ был очень полезен. Но что, если я хочу, чтобы клиент принимал InfoFile при каждом входе в систему? Я пытался отключить InfoKey вообще, но сообщение отображается при каждом запросе (следовательно, даже если оно принято пользователем, оно отображается снова и снова, зацикливая). - person user1781028; 28.05.2013
comment
Очевидно, я не знаю вашего варианта использования, но мне это кажется очень плохим с точки зрения UX. Если вы действительно хотите это сделать, вы можете добавить некоторый пользовательский код, который удаляет ключ предпочтения из предпочтений пользователей после входа в систему. - person MichielB; 29.05.2013
comment
В основном мне нужно, чтобы пользователь принимал отказ от конфиденциальности каждый раз, когда он отправляет новый билет. Поэтому я решил встроить флажок с текстом отказа от ответственности в CustomerTicketMessage.dtl. С помощью javascript я включаю/отключаю кнопку «Отправить», чтобы помешать пользователю отправить билет без принятия. Весь простой HTML и весь простой Javascript, а также стили CSS встроены в теги HTML. Я знаю, что это грубый подход, но это самый простой способ сделать это. Если вы можете предложить лучший подход, я был бы очень признателен. Однако ваш ответ был полным и полноценным. - person user1781028; 29.05.2013