Code: Select all
// template file
$file = '../../public/formats/contracts/'.$filename;
$phpword = new \PhpOffice\PhpWord\TemplateProcessor($file);
$phpword->setValue('propertyname', $hotel_name);
$phpword->setValue('address1', $street_1);
$phpword->setValue('address2', $street_2);
$phpword->setValue('postalcode', $zip_code);
$phpword->setValue('cityname', $city);
$phpword->setValue('countryname', $country);
$phpword->saveAs('../../public/formats/generated/'.$created_at.'_'.$filename);
< /code>
Ergebnis:
Keine Platzhaltervariablen werden ersetzt. Versucht, die Platzhalter umzubenennen (z. B. $ {adress1}
Code: Select all
// template file
$file = '../../public/formats/contracts/'.$filename;
$phpword = new \PhpOffice\PhpWord\TemplateProcessor($file);
$phpword->setValues(array('propertyname' => $hotel_name, 'address1' => $street_1, 'address2' => $street_2, 'postalcode' => $zip_code, 'cityname' => $city, 'countryname' => $country));
$phpword->saveAs('../../public/formats/generated/'.$created_at.'_'.$filename);
Code: Select all
// Creating the new document...
$zip = new \PhpOffice\PhpWord\Shared\ZipArchive();
$document_xml = 'word/document.xml'; // docx content file
$template = '../../public/formats/contracts/'.$filename; // template file
$new_file = '../../public/formats/generated/'.$created_at.'_'.$filename; // new file after merge
// create copy of template in temporary folder
copy($template, $new_file);
if ($zip->open($new_file) === TRUE) {
$content = $zip->getFromName($document_xml); // Read contents into memory
$content = str_replace('propertyname', $hotel_name, $content); // property name
$content = str_replace('address1', $street_1, $content); // address 1
$content = str_replace('address1', $street_2, $content); // address 2
$zip->addFromString($document_xml, $content); // replace content
$return = $zip->close(); // write changes to filesystem.
if ($return == TRUE) {
$result_arr[] = array('status' => 'success', 'response' => 'Format successfully merged', 'filename' => $created_at . '_' . $filename);
}
}
< /code>
Ergebnis: Ersetzt einige Variablen unregelmäßig. Variable PropertyName
Danke