我们需要在 Habari 中显示一个 TYPO3 页面的内容。
检索 HTML 就足够了,因为样式 (CSS) 是单独完成的。但是,我们只想要内容元素的 HTML,而不是整个、完全呈现的页面。
- 我们怎样才能做到这一点?
- TYPO3(或其插件之一)是否为此提供了便利?
这可以通过 Typo3 后端中的自定义 Typoscript 模板记录来完成,该模板只输出内容而无需任何进一步的 HTML 和/或标签。
把这样的东西放在“设置”中:
page = PAGE
page.config.disableAllHeaderCode = 1
page.10 < styles.content.get
然后确保在模板记录中说它是根模板,并且它清除了该模板之前的常量和设置。并将此记录放在最顶部的页面(又名根)上。
还要确保包含CSS Styled Content
. 这可以在编辑 Typo3 中的模板记录时完成。
您可以在 Habari 中使用以下方法执行此操作:
$url = "http://your-typo3-url/";
$output = RemoteRequest::get_contents( $url );
然后 $output 将是页面的 HTML 内容。然后,您可以使用strpos()
和的组合substr()
来提取您想要的相关 HTML 内容,例如<body>
您可以在您的主题模板文件之一、主题theme.php
文件本身或什至在插件中执行此操作。
然后,您也可以使用 Habari 的本机缓存来缓存内容,这样您就不必在每次页面查看时都检索 Typo3 页面。
顺便说一句,您可以使用typo3_webservice 。它使用 XMLRPC 协议,用 PHP 很容易实现。
http://typo3.org/extensions/repository/view/typo3_webservice/current/