Php 如何将一个TYPO3页面的HTML内容提取到另一个CMS中?

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

我们需要在Habari中显示单个TYPO3页面的内容

检索HTML就足够了,因为样式(CSS)是单独完成的。 但是,我们只需要内容元素的HTML,而不是整个完全呈现的页面

  • 我们如何才能做到这一点
  • TYPO3(或它的一个插件)是否提供了一个工具

这可以通过Typo3后端中的自定义打字脚本模板记录来完成,该模板记录只输出内容,不需要任何进一步的HTML和/或标记

将类似的内容放入“设置”中:

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方面)和利杜德的答案(针对哈巴里方面)结合起来也是一个合理的解决方案。