搜索网络,但找不到任何修复/帮助。
我正在运行TYPO3 v.6。 Extbase / Fluid我试图做两件事。
我在TS页面中包含了一个php页面,如。
lib.timmers = USER_INT
lib.timmers {
includeLibs.time = fileadmin/templates/add/php/dates.php
userFunc = custom_class->customfunction
}
然后安装了扩展tscobj,它在PHP页面中使用了返回命令,但没有使用Echo和Print。 如果我将includeLibs.time放在lib.timmer之外,那么它会显示php内容,但是在HTML标记之前..
所以我在将php内容包含在页面的内容元素中时遇到了问题。
如何添加MySQL连接并制作一些HTML代码/布局,这样我就可以从内容元素中的数据库中获取记录,我已经尝试了扩展ViewHelper,但它无法正常工作。
有人可以帮助我。
编辑:
我已尝试过此代码,但我没有获取任何数据..
lib.GetMainCat = CONTENT
lib.GetMainCat {
wrap = <div class="p_filter"><div class="p_filter_container"><a class="p_cat_filter button" href="#" title="All Categories" data-filter="article.portfolio"><span>All Categories</span></a><ul class="p_filter"><li class="current"><a href="#" title="All Categories" data-filter="article.portfolio">All Categories</a></li>|</ul></div><div class="cl"></div></div>
table = tx_tbpdrills_domain_model_drillcategory
select {
selectFields = *
where = NOT deleted AND NOT hidden
orderBy = categorytitle ASC
}
renderObj >
renderObj = COA_INT
renderObj {
10 = TEXT
10.field = categorytitle
10.wrap = <li><a href="#" title="###" data-filter="article.portfolio[data-category~='###']">|</a></li>
}
}
答案 0 :(得分:0)
那么为什么要使用print()或echo()来返回内容?这些构造在运行时输出一些内容,因此输出将在整个TYPO3输出之前。
只需将内容投放到$ content等变量中,然后在用户函数中使用return $ content。
不管怎样或者其他我认为你最好开启一个自己的扩展,你将拥有完整的TYPO3 API。您想连接到TYPO3所在的同一个MySQL数据库吗?请澄清你想做什么,然后我会编辑我的答案,指出你正确的方向。
答案 1 :(得分:0)
您不需要设置selectFields = *,因为它是默认值。很可能你忘了设置pidInList,因为如果它没有设置它会使用当前页面的pid。
它可以那样工作:
lib.GetMainCat = CONTENT
lib.GetMainCat {
wrap = <div class="p_filter"><div class="p_filter_container"><a class="p_cat_filter button" href="#" title="All Categories" data-filter="article.portfolio"><span>All Categories</span></a><ul class="p_filter"><li class="current"><a href="#" title="All Categories" data-filter="article.portfolio">All Categories</a></li>|</ul></div><div class="cl"></div></div>
table = tx_tbpdrills_domain_model_drillcategory
select {
pidInList = 999 [page id where the records reside]
where = NOT deleted AND NOT hidden
orderBy = categorytitle ASC
}
renderObj = COA_INT
renderObj {
10 = TEXT
10.field = categorytitle
10.wrap = <li><a href="#" title="###" data-filter="article.portfolio[data-category~='###']">|</a></li>
}
}
现在可以使用TypoScript访问此对象:
page.20 < lib.GetMainCat
或在流体模板中:
<f:cObject typoscriptObjectPath="lib.GetMainCat" />
核心没有提供在内容元素中使用TypoScript对象的方法。如果您想将TypoScript对象放置为内容元素,则需要使用http://typo3.org/extensions/repository/view/tscobj之类的扩展名 这是相当古老的,但它应该仍然有效。这是最快的,但可能不是最好的解决方案。
您可以编写一个基本上包含此TypoScript对象的插件。或者您可以使用另一个Fluid partial或模板来包含它。