【问题标题】:OpenTBS Multiple pages of repeated template containing tableOpenTBS 多页重复模板包含表格
【发布时间】:2013-04-10 21:47:17
【问题描述】:

好的, 我是 XML 和 OpenTBS 的新手,所以块等的这个概念对我来说非常混乱,当我认为我掌握了它的要点时,我的客户要求我提供更多。 我有一张客户及其物品的表格,客户想要一个单一的 docx,它为每个客户重复一个模板,其中包含表格中的物品。

我认为它可以与位于“块”中的整个 docx 模板一起使用,并且表格是“子块”,模板的其余部分使用块中的数据,表格使用来自块的数据子块。
这就是我感到困惑的地方。
如何遍历数组(包含客户信息),当子块需要特定客户的信息时,从 items 数组中提取? 对我来说,TinyButStrong 附带的“手册”还不够好,但我相信你们会知道指向我的地方。

简化数组:

$customer = array(
    array("id" => 1,
        "name" => "Foo Bar",
        "email" => "foo@bar.com",
        "itemsinfo" => array(
            "itemid" => array(
                "itemname" => "name"
            )
        )
    ),
    array("id" => 2,
        "name" => "Foo2 Bar2",
        "email" => "foo2@bar2.com",
        "itemsinfo" => array(
            "itemid" => array(
                "itemname" => "name"
            )
        )
    )
);

非常感谢。

【问题讨论】:

  • “items”数组是“customers”数组的一部分吗?你能展示你的简化数组结构吗?
  • 我不知道我的数组是否可以在 OpenTBS 迭代中工作,但我会编辑我的帖子以包含一个简化版本。编辑:帖子现在有数组,并且 items 数组是客户的一部分。
  • 'itemsinfo' 可以有几个子项吗?是子块的子项吗?
  • 数组是一个例子,我的数组实际上是从 MySQL 中提取的,可以放在这个问题认为合适的任何变量中。 “Itemsinfo”是一个包含多列和多行的表格,如果您认为有任何其他方式可以工作,请展示。

标签: php docx opentbs


【解决方案1】:

感谢您添加数组结构。这应该适用于 OpenTBS。

所以假设你有类似的东西:

<w:body>[customers;block=w:body;]
    Customer Name: [customers.name;]
</w:body>

为了从客户数组中获取嵌套信息,您可以这样做:

<w:body>[customers;block=w:body;sub1=itemsinfo]
    Customer Name: [customers.name;]
    Customer Items:
    <w:table>
        <w:tr>
            <w:td>[customers_sub1.itemname;block=w:td;]</w:td>
        </w:tr>
    </w:table>
</w:body>

这将导致 w:td 为 itemsinfo 数组中的每个项目重复 - 可能不是您想要的行为,但希望足以让您再次开始。该手册很有帮助,但不幸的是,在您已经了解之后,它会更有意义...

【讨论】:

  • 谢谢!它似乎有效,只是需要对我的演示文稿进行一些调整。
猜你喜欢
  • 2019-02-23
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 2014-01-04
  • 2013-06-10
相关资源
最近更新 更多