![]() Mailinglisten-Archive |
Hallo Andi, Andi Voss wrote: > Peter Bieling wrote: > >>Ich w�rde nach M�glichkeit auf den ganzen DOM-Kram verzichten, denn so >>wie es aussieht holst Du ja nur ein Tabellenzeilen-Template aus der >>XML-Datei, das Du dann f�llen willst. > > Das stimmt teilweise. Ich m�chte die Platzhalter f�llen, aber eben auch > die Tabellenzeile n mal vervielf�ltigen. Die Tabellenzeile steht nur > einmal in der OpenOffice Vorlage und schaut entsprechend in der > content.xml Datei so aus: Dass bestimmte Teile eines Templates mehrfach gef�llt werden, ist ja eigentlich normal. > <table:table-row> > <table:table-cell table:style-name="Table2.A2" > office:value-type="string"> > <text:p text:style-name="P2">{NO. RECEIPTS}</text:p> > </table:table-cell> > <table:table-cell table:style-name="Table2.A2" > office:value-type="string"> > <text:p text:style-name="P2">{DESCRIPTION RECEIPTS}</text:p> > </table:table-cell> > <table:table-cell table:style-name="Table2.A2" > office:value-type="string"> > <text:p text:style-name="P2">{CATEGORY RECEIPTS}</text:p> > </table:table-cell> > <table:table-cell table:style-name="Table2.D2" > office:value-type="string"> > <text:p text:style-name="P2">{RECEIPTS}<text:s/>{AMOUNT}</text:p> > </table:table-cell> > </table:table-row> Es ist halt sehr umst�ndlich, mit DOM-Funktionen, diese Platzhalter gegen Inhalt auszutauschen. Sieh Dir mal dieses Beispiel an: http://www.media-palette.de/xml-line-0-4-3-6-alpha/examples/copy_branch.php Mit der Klasse XML-line und der Methode copy_branch() kannst Du z.B. Deine Tabellenzeile kopieren und dann mit str_replace oder besser mit meiner bereits genannten Templateklasse f�llen. Das Template l�sst sich z.B. dynamisch an das Array $t->tpl �bergeben - $t->tpl['oo_tablerow'] = $oo_tablerow; und dann mit fill_rowtpl aus der DB f�llen, wenn man vorher ein Array erzeugt hat: $table_rows = fill_rowtpl('oo_tablerow', $key_value_arr). Dann kann man diesen ganzen XML-String, wieder in die Datei einbauen: http://www.media-palette.de/xml-line-0-4-3-6-alpha/examples/insert_after_element.php. Eigentlich ganz einfach. ;-) > Irgendwie tue ich mir schwer das Problem zu beschreiben, ich hoffe es > ist jetzt klar geworden!? Nein, die Erkl�rung war jetzt sehr verst�ndlich. Ich kann das gern morgen mal mit einem vollst�ndigen Skript demonstrieren, nur heute habe ich leider keine Zeit mehr. Viele Gr��e Peter
php::bar PHP Wiki - Listenarchive