getElement(); if (!$element instanceof \PhpOffice\PhpWord\Element\Field) { return; } $type = strtolower($element->getType()); switch ($type) { case 'date': case 'page': case 'numpages': $this->writeDefault($element, $type); break; } } private function writeDefault(\PhpOffice\PhpWord\Element\Field $element, $type) { $xmlWriter = $this->getXmlWriter(); $xmlWriter->startElement('text:span'); if (method_exists($element, 'getFontStyle')) { $fstyle = $element->getFontStyle(); if (is_string($fstyle)) { $xmlWriter->writeAttribute('text:style-name', $fstyle); } } switch ($type) { case 'date': $xmlWriter->startElement('text:date'); $xmlWriter->writeAttribute('text:fixed', 'false'); $xmlWriter->endElement(); break; case 'page': $xmlWriter->startElement('text:page-number'); $xmlWriter->writeAttribute('text:fixed', 'false'); $xmlWriter->endElement(); break; case 'numpages': $xmlWriter->startElement('text:page-count'); $xmlWriter->endElement(); break; } $xmlWriter->endElement(); // text:span } }