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

时间:2011-09-24 16:47:54

标签: php html xml-rpc typo3 habari

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

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

  • 我们怎么能实现呢?
  • TYPO3(或其中一个插件)是否为此提供了便利?

3 个答案:

答案 0 :(得分:2)

这可以通过Typo3后端中的自定义Typoscript模板记录来完成,只需输出内容而无需任何其他HTML和/或标签。

在'setup'中输入这样的内容:

page = PAGE
page.config.disableAllHeaderCode = 1
page.10 < styles.content.get

然后确保在模板记录中它说它是一个根模板,并且它在此模板之前清除常量和设置。并将此记录放在最顶层的页面上(也称为root)。

还要确保包含CSS Styled Content的静态模板。这可以在编辑Typo3内的模板记录时完成。

答案 1 :(得分:1)

您可以使用以下内容在Habari中执行此操作:

$url = "http://your-typo3-url/";
$output = RemoteRequest::get_contents( $url );

$ output将成为页面的HTML内容。然后,您可以使用strpos()substr()的组合来提取所需的相关HTML内容,例如<body>

您可以在一个主题模板文件,主题的theme.php文件本身或甚至插件中执行此操作。

然后,您可以使用Habari的本机缓存来缓存内容,这样您就不必在每个页面视图中检索Typo3页面。

答案 2 :(得分:0)

顺便说一句,你可以使用typo3_webservice。它使用XMLRPC协议,并且很容易用PHP实现。

http://typo3.org/extensions/repository/view/typo3_webservice/current/