Цитата |
---|
Вам надо перехватить результат отправки аякс-запроса на получение списка шаблонов для текущей сущности и переопределить его, добавив туда нужный вам провайдер вместо стандартного. |
=============================================
И еще один вопрос.
Тестовый скрипт -
Код |
---|
$document = \Bitrix\DocumentGenerator\Document::createByTemplate($template, $dealId); $arTest = [ 'MyField' => 'test from index.php', ]; $arTest2 = [ // 'Table' => new DataProvider\ArrayDataProvider( 'Test' => new DataProvider\ArrayDataProvider( [ [ 'Id' => 345, 'Name' => 'Item name 1', ], [ 'Id' => 346, 'Name' => 'Item name 2', ], ], [ 'ITEM_NAME' => 'Item', 'ITEM_PROVIDER' => DataProvider\HashDataProvider::class ] ), 'TestItemId' => 'Test.Item.Id', 'TestItemName' => 'Test.Item.Name', 'TestIndex' => 'Test.INDEX', ]; $arTest3 = [ 'Table' => new DataProvider\ArrayDataProvider( [ [ 'Name' => 'Item name 1', 'Price' => '$111.23', // 'Image' => __DIR__.'/upload/image.jpeg', ], [ 'Name' => 'Item name 2', 'Price' => '$222.34', // 'Image' => null, ] ], [ 'ITEM_NAME' => 'Item', 'ITEM_PROVIDER' => DataProvider\HashDataProvider::class, ] ), 'TableItemName' => 'Table.Item.Name', // 'TableItemImage' => 'Table.Item.Image', 'TableItemPrice' => 'Table.Item.Price', 'TableIndex' => 'Table.INDEX', ]; // $document->setValues(array_merge($arProgrammsData, $arTest)); $document->setValues(array_merge($arTest, $arTest2, $arTest3)); |
Цитата | |||
---|---|---|---|
Номер = {DocumentNumber} Заголовок = {DocumentTitle} Источник = {Source} Дата генерации = {DocumentCreateTime} ____________________________________________________________ Контакты -> Число элементов = {ContactsNumber} Контакты -> Текущий номер = {ContactsIndex} ================== {CONTACTS.BLOCK_START} #{ContactsIndex} - {ContactsContactName} {CONTACTS.BLOCK_END} ================== ____________________________________________________________ Тестовое поле = {MyField} Программы -> Число элементов = {ProgrammsNumber} Программы -> Текущий номер = {ProgrammsIndex} ================== {Test.BLOCK_START} {TestItemId} --- {TestItemName} {Test.BLOCK_END} ================== ____________________________________________________________ {Table} {Table.BLOCK_START} {TableItemName} --- {TableItemPrice} {Table.BLOCK_END} ____________________________________________________________
|
Цитата |
---|
Номер = 56 Заголовок = test_template 56 Источник = Дата генерации = 10.04.2020 ____________________________________________________________ Контакты -> Число элементов = 2 Контакты -> Текущий номер = ================== #1 - Первый #2 - Второй ================== ____________________________________________________________ Тестовое поле = test from index.php Программы -> Число элементов = Программы -> Текущий номер = ================== Test.Item.Id --- Test.Item.Name ================== ____________________________________________________________ Item name 1 --- $111.23 Item name 2 --- $222.34 ____________________________________________________________ Item name 1 $111.23 Item name 2 $222.34 |
Возможно ошибка в xml содержимом docx файла? Или я совсем слепой и по какой-то другой причине не вижу своей ошибки в коде...