0

我有一个使用 TinyButStrong 和 OpenTBS 插件的 php 程序。我尝试了很多示例并直接编辑了 xml。尽管如此,我还是不明白,所有的实验都开始让我感到沮丧,所以这是我的问题:

该模板只是给客户的标准信件,顶部有地址信息,如下所示:

[a;block=w:body]

[a.company_name; magnet=w:p]
[a.first_name][a.last_name]
[a.street]  
[a.postalcode] [a.city]
[a.country]  

作为xml,它看起来像:

<w:p w:rsidR="001A4536" w:rsidRDefault="007D3CAF">
    <w:r w:rsidRPr="007D3CAF">
        <w:t>[a;block=w:body]</w:t>
    </w:r>
</w:p>
<w:p w:rsidR="007D3CAF" w:rsidRDefault="007D3CAF">
    <w:r w:rsidRPr="007D3CAF">
        <w:t xml:space="preserve">[a.company_name; magnet=w:p] </w:t>
    </w:r>
</w:p>
<w:p w:rsidR="007D3CAF" w:rsidRDefault="007D3CAF">
    <w:r w:rsidRPr="007D3CAF">
        <w:t>[a.first_name] [a.last_name]</w:t>
    </w:r>
</w:p>
<w:p w:rsidR="007D3CAF" w:rsidRDefault="007D3CAF" w:rsidP="007D3CAF">
    <w:r>
        <w:t>[a.street]</w:t>
    </w:r>
</w:p>
<w:p w:rsidR="007D3CAF" w:rsidRDefault="007D3CAF" w:rsidP="007D3CAF">
    <w:r>
        <w:t>[a.postalcode] [a.city]</w:t>
    </w:r>
</w:p>

如果没有公司名称或没有名字和姓氏,则不应浪费一行。我该如何做到这一点?

如果有比使用 openTBS 更好的创建 word 文档的方法,我也会考虑吗?

4

1 回答 1

1

首先是您的块定义block=w:body不合适,因为 XML 内容中只能有一个<w:body>元素。但 TBS 将复制此元素,就像您数据中的每条记录一样。

您应该block=w:body使用block=tbs:p+tbs:p+tbs:p+tbs:p+tbs:pwhich 定义超过 5 个段落的块。

如果没有公司名称或没有名字和姓氏,则不应浪费一行。我该如何做到这一点?

TBS 字段[a.company_name; magnet=w:p]使用正确。您可以对名字+姓氏使用相同的方法,但在这种情况下,您必须定义一个数据列,该数据列是两者的连接,以便在magnet其上使用参数。如果您无法定义数据列,则可以将参数ondata与自定义 PHP 函数一起使用以添加虚拟列。

于 2015-08-11T07:33:09.410 回答