Php 如何将一个TYPO3页面的HTML内容提取到另一个CMS中?
我们需要在Habari中显示单个TYPO3页面的内容 检索HTML就足够了,因为样式(CSS)是单独完成的。 但是,我们只需要内容元素的HTML,而不是整个完全呈现的页面Php 如何将一个TYPO3页面的HTML内容提取到另一个CMS中?,php,html,xml-rpc,typo3,habari,Php,Html,Xml Rpc,Typo3,Habari,我们需要在Habari中显示单个TYPO3页面的内容 检索HTML就足够了,因为样式(CSS)是单独完成的。 但是,我们只需要内容元素的HTML,而不是整个完全呈现的页面 我们如何才能做到这一点 TYPO3(或它的一个插件)是否提供了一个工具 这可以通过Typo3后端中的自定义打字脚本模板记录来完成,该模板记录只输出内容,不需要任何进一步的HTML和/或标记 将类似的内容放入“设置”中: page = PAGE page.config.disableAllHeaderCode = 1 page
- 我们如何才能做到这一点
- TYPO3(或它的一个插件)是否提供了一个工具
page = PAGE
page.config.disableAllHeaderCode = 1
page.10 < styles.content.get
page=page
page.config.disableAllHeaderCode=1
第10页
然后确保在模板记录中显示它是根模板,并在该模板之前清除常量和设置。并将此记录放在最上面的页面(也称为根)
还要确保包含了
CSS样式内容的静态模板。这可以在编辑Typo3中的模板记录时完成。您可以在Habari中使用以下方法完成:
$url = "http://your-typo3-url/";
$output = RemoteRequest::get_contents( $url );
$output将成为页面的HTML内容。然后,您可以结合使用strpos()
和substr()
来提取所需的相关HTML内容,例如只提取
您可以在主题模板文件中执行此操作,主题的theme.php
文件本身,甚至在插件中
然后,您可以使用Habari的本机缓存来缓存内容,这样您就不必在每个页面视图中检索Typo3页面。顺便说一句,您可以使用Typo3\u Web服务来实现这一点。它使用XMLRPC协议,并且很容易用PHP实现
可能,您可以将其与GET/POST条件一起使用,这样您就可以在不丢失原始演示文稿的情况下获得页面的附加版本。我已经接受了Fedir建议的web服务变体,因为它似乎是“最干净”的变体。然而,将贝尔斯登的答案(针对TYPO3方面)和利杜德的答案(针对哈巴里方面)结合起来也是一个合理的解决方案。