我们需要在Habari中显示单个TYPO3页面的内容。如何将单个TYPO3页面的HTML内容提取到另一个CMS?
检索HTML就足够了,因为样式(CSS)是分开完成的。 但是,我们只有想要HTML的内容元素 - 而不是整个,完全呈现页面。
- 我们怎么能做到这一点?
- TYPO3(或其插件之一)是否提供了一个设施?
我们需要在Habari中显示单个TYPO3页面的内容。如何将单个TYPO3页面的HTML内容提取到另一个CMS?
检索HTML就足够了,因为样式(CSS)是分开完成的。 但是,我们只有想要HTML的内容元素 - 而不是整个,完全呈现页面。
顺便说一句,你可以使用typo3_webservice来。它使用XMLRPC协议,并且使用PHP很容易实现。
http://typo3.org/extensions/repository/view/typo3_webservice/current/
这可以通过Typo3后端中的定制Typoscript模板记录来完成,该后台只输出内容而没有任何其他HTML和/或标签。
把像这样的“菜单”:
page = PAGE
page.config.disableAllHeaderCode = 1
page.10 < styles.content.get
然后确保在模板记录好说的,这是一个根模板,它这个模板之前清除常量和设置。并把这个记录放在最上面的页面(又名根)。
另外请确保您包含了CSS Styled Content
的静态模板。这可以在Typo3中编辑模板记录时完成。
也许,您可以将它与GET/POST条件一起使用,因此您可以拥有其他版本的页面而不会松动原始演示文稿。 –
你可以在Habari的方法是使用下面这样:然后
$url = "http://your-typo3-url/";
$output = RemoteRequest::get_contents($url);
$输出将是页面的HTML内容。然后,您可以使用strpos()
和substr()
组合来拉你想要的相关HTML内容,例如只是<body>
为此,您可以在您的主题模板文件,主题的theme.php
文件本身,甚至内的插件之一。
然后,您可以使用Habari的本机缓存来缓存内容,因此您无需在每个页面视图中检索Typo3页面。
我已经接受了网络服务变种Fedir建议,因为它似乎是“干净”的变体。然而,Bear的答案(对于TYPO3方面)和lildude(对于Habari方面)的结合也是合理的解决方案。 – user569825