TYPO3 TypoScript CONTENT 如何呈现 select 结果
TYPO3 TypoScript CONTENT how to render select result
我必须呈现查询的所有结果,而不仅仅是一个。目前我只收到该查询的第一个结果,所有 3 个调用的结果都保持不变。
这是每个页面都会调用的 template/partial
<div class="item">
<f:debug>{_all}</f:debug>
<f:link.page pageUid="{page.data.uid}" target="{page.data.target}" title="{page.data.title}">
<h3 class="title">{page.data.title}</h3>
<h4>{page.data.uid}</h4>
<h3><f:cObject typoscriptObjectPath="lib.category" data="{page.data}" /></h3>
</f:link.page>
</div>
重要的电话是这个
<f:cObject typoscriptObjectPath="lib.category" data="{page.data}" />
这是获取所有类别的错别字
lib.category = CONTENT
lib.category {
table=sys_category
wrap=|
select {
pidInList = root
selectFields = sys_category.*
join = sys_category_record_mm ON sys_category_record_mm.uid_local = sys_category.uid
where.field = sys_category_record_mm.uid_foreign = uid
languageField = 0
}
renderObj = COA_INT
renderObj {
1 = TEXT
1.field = title
}
}
重要的一行是:
where.field = sys_category_record_mm.uid_foreign = uid
= uid 就是我们传入的uid
这里是实际呈现带有类别标题的字符串的部分(目前只有一个......即使设置了更多类别)
renderObj = COA_INT
renderObj {
1 = TEXT
1.field = title
}
所以 2 个问题:
- 对于所有页面,我们得到相同的类别,即使它们不相同
- 无论如何,X 中只有一个类别会被渲染
我应该如何修改 typoscript/template 以实现我从该特定页面获得指定类别的完整列表(可以是字符串)?
非常感谢帮助
遗憾的是,您需要编写自己的 ViewHelper 来执行此操作。默认核心“API”不提供对类别的支持。另外,这个好像不是很有用的计划vhs extension, as a feature request for exactly this已经关闭了。
幸运的是,您可以复制并粘贴 solution from someone else。液体中的溶液看起来像:
<f:if condition="{data.categories}">
<f:for each="{my:CategoriesOutput(recUid: data.uid)}" as="category">
<span class="{category.slug}">{category.title}</span>
</f:for>
</f:if>
我必须呈现查询的所有结果,而不仅仅是一个。目前我只收到该查询的第一个结果,所有 3 个调用的结果都保持不变。
这是每个页面都会调用的 template/partial
<div class="item">
<f:debug>{_all}</f:debug>
<f:link.page pageUid="{page.data.uid}" target="{page.data.target}" title="{page.data.title}">
<h3 class="title">{page.data.title}</h3>
<h4>{page.data.uid}</h4>
<h3><f:cObject typoscriptObjectPath="lib.category" data="{page.data}" /></h3>
</f:link.page>
</div>
重要的电话是这个
<f:cObject typoscriptObjectPath="lib.category" data="{page.data}" />
这是获取所有类别的错别字
lib.category = CONTENT
lib.category {
table=sys_category
wrap=|
select {
pidInList = root
selectFields = sys_category.*
join = sys_category_record_mm ON sys_category_record_mm.uid_local = sys_category.uid
where.field = sys_category_record_mm.uid_foreign = uid
languageField = 0
}
renderObj = COA_INT
renderObj {
1 = TEXT
1.field = title
}
}
重要的一行是:
where.field = sys_category_record_mm.uid_foreign = uid
= uid 就是我们传入的uid 这里是实际呈现带有类别标题的字符串的部分(目前只有一个......即使设置了更多类别) 所以 2 个问题: 我应该如何修改 typoscript/template 以实现我从该特定页面获得指定类别的完整列表(可以是字符串)? 非常感谢帮助 renderObj = COA_INT
renderObj {
1 = TEXT
1.field = title
}
遗憾的是,您需要编写自己的 ViewHelper 来执行此操作。默认核心“API”不提供对类别的支持。另外,这个好像不是很有用的计划vhs extension, as a feature request for exactly this已经关闭了。
幸运的是,您可以复制并粘贴 solution from someone else。液体中的溶液看起来像:
<f:if condition="{data.categories}">
<f:for each="{my:CategoriesOutput(recUid: data.uid)}" as="category">
<span class="{category.slug}">{category.title}</span>
</f:for>
</f:if>