0

在此处输入图像描述

所以我在 TYPO3 cms 中做一个自定义用户函数(php 脚本),我用 sql 获取数据,我想做的是从一页中获取所有内容。

我可以通过使用页面的 pid 从 tt_content 获取数据来轻松做到这一点,但是说一个插件内容 elemenet(图片中 1 下的元素)和 text&img 内容元素(图片中 2 下的元素)之间的 db 关系是什么?

我如何在数据库中链接它们,以便我知道它们都在谷歌地图容器下?

非常感谢!

4

1 回答 1

1

TemplaVoila 将tt_contentuid(及其顺序)存储在 table pages-in field 中tx_templavoila_flex,它是标准 XML

要从给定页面获取所有元素,您需要获取该 XML 并vDEF从所需列(作为公共 XML 节点)中读取带有索引的值。Uid 的tt_content元素是用逗号分隔的,所以当你阅读节点时,你只需要使用explode by comma 来获得一个正确顺序的数组。样本:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3FlexForms>
   <data>
       <sheet index="sDEF">
           <language index="lDEF">
               <field index="field_leftcolumn">
                   <value index="vDEF">284,190,221</value>
               </field>
               <field index="field_rightcolumn">
                   <value index="vDEF">134,130</value>
               </field>
            </language>
       </sheet>
   </data>
</T3FlexForms>

您可以在... TemplaVoila 源代码中检查如何使用这些 XML 结构,例如,将 XML 转换为 PHP 数组可能是最简单的:

$flexformContentArr = t3lib_div::xml2array($row['tx_templavoila_flex']);

@seetypo3conf/ext/templavoila/class.tx_templavoila_api.php第 1362 行

于 2013-01-12T22:49:45.230 回答