Коллеги, добрый день!
Подскажите, что подпилить, чтобы при создании тикета, при выборе подкатегории услуги, под ней (ну или где-то на глазах) выводилось описание этой самой подкатегории?
Заранее спасибо.
Добрый день, @Veter111!
Нужно добавить в тикет новое поле servicesubcategory_description
типа AttributeExternalField
, которое будет выбирать значение атрибута description
из подкатегории по servicesubcategory_id
.
Блин, не заметил, что речь о портале.
Затем нужно переопределить форму создания тикета. Исходная форма лежит в datamodel.itop-tickets.xml в module_design#itop-portal > forms > form#ticket-create > twig
. Нужно как обычно “отпочковать” изменяемый кусок в свой модуль и сделать _redefine, добавив в нужное место вывод своего нового поля;
<div class="form_field" data-field-id="servicesubcategory_description" data-field-flags="read_only">
.
Как-то так.
Владимир, добрый день!
Не получилось.
Собственно добавил новое поле:
<field id="servicesubcategory_description" xsi:type="AttributeExternalField">
<extkey_attcode>servicesubcategory_id</extkey_attcode>
<target_attcode>description</target_attcode>
</field>
После этого toolkit начал ругаться:
An error occured while processing the PHP files of the data model:
Unknown attribute servicesubcategory_id from class Ticket
Check the PHP files describing the data model before running the toolkit again !
Может я чего не того накрутил?
Посмотрел повнимательнее - для начала надо создать AttributeExternalKey, а уж потом AttributeExternalField.
Поковыряюсь еще на эту тему ))
AttributeExternalKey уже есть, это поле servicesubcategory_id. AttributeExternalField нужно добавлять в той же модели, где объявлен AttributeExternalKey. В вашем случае это скорее всего UserRequest.
Владимир, добрый день!
Добавил в класс UserRequest - все скомпилилось и выводится.
Только в выводе появляются непонятно откуда <div></div>
в виде текста и остаются и после вывода описания, описание заключено в них, но это детали ))
Думаю, где побороть этот я найду.
Спасибо огромное!
Да, есть такой баг. Обязательно отпишитесь о решении!
Добрый день!
В дебри кода не полез, но решение нашел:
в файле - ./sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php строка 208
меняем true на false
Лишние текстовые div пропадают ))