Я использую PHP для слияния в DOCX. Вместо объединения нескольких блоков я подумал о том, чтобы объединить несколько массивов в один, например:
PHP:
$allLists = array(
array('name'=>'specialList', 'list'=>array( 'special1', 'special2', 'special3' ) ),
array('name'=>'individuelList', 'list'=>array( 'individuel1', 'individuel2', 'individuel3' ) ),
...
);
$TBS->MergeBlock('list', $allLists);
И затем отображать только один из массивов одновременно. Итак, я попробовал это в Word:
1
[list; block=tbs:p+tbs:p;sub1=list; when [list.name]= 'specialList']
• [list_sub1.val; block=tbs:p; when [list_sub1.val]!='']
2
3
4
[list; block=tbs:p+tbs:p;sub1=list; when [list.name]= 'individuelList']
• [list_sub1.val; block=tbs:p; when [list_sub1.val]!='']
5
Но каким-то образом слияние удаляет все, что находится между:
1
• special1
• special2
• special3
• individuel1
• individuel2
• individuel3
5
Какие-либо предложения?
Задача ещё не решена.
Других решений пока нет …