allow setValue() for SDTs

This commit is contained in:
Maria Haubner 2017-03-08 13:08:33 +01:00
parent 6da9d8a0bf
commit 488b10b73b
2 changed files with 12 additions and 2 deletions

View File

@ -15,10 +15,16 @@ $textrun->addSDT('comboBox')->setListItems(array('1' => 'Choice 1', '2' => 'Choi
$textrun = $section->addTextRun();
$textrun->addText('Date: ');
$textrun->addSDT('date');
$textrun->addTextBreak(1);
$textrun->addText('Date with pre set value: ');
$textrun->addSDT('date')->setValue('03/30/2017');
$textrun->addTextBreak(1);
$textrun->addText('Date with pre set value: ');
$textrun->addSDT('date')->setValue('30.03.2017');
$textrun = $section->addTextRun();
$textrun->addText('Drop down list: ');
$textrun->addSDT('dropDownList')->setListItems(array('1' => 'Choice 1', '2' => 'Choice 2'));
$textrun->addSDT('dropDownList')->setListItems(array('1' => 'Choice 1', '2' => 'Choice 2'))->setValue('Choice 1');
// Save file
echo write($phpWord, basename(__FILE__, '.php'), $writers);

View File

@ -43,6 +43,10 @@ class SDT extends Text
}
$type = $element->getType();
$writeFormField = "write{$type}";
$value = $element->getValue();
if ($value === null) {
$value = 'Pick value';
}
$this->startElementP();
@ -58,7 +62,7 @@ class SDT extends Text
// Content
$xmlWriter->startElement('w:sdtContent');
$xmlWriter->startElement('w:r');
$xmlWriter->writeElement('w:t', 'Pick value');
$xmlWriter->writeElement('w:t', $value);
$xmlWriter->endElement(); // w:r
$xmlWriter->endElement(); // w:sdtContent