TYPO3在FLUID模板上获取类别uid(sys_category)

时间:2015-08-11 18:08:33

标签: templates typo3 categories typoscript fluid

我尝试在我的FLUID模板中将我的类别uid或名称显示为class="category.uid"

如果我尝试<f:debug>{data}</f:debug>,我会看到有类似的输出:categories => '1' (1 chars)

但是如何将category-uid或-name写入我的FLUID / HTML,类似这样:

<div id="container" class="{data.nav_title}">
<!-- I need the categories --> 
<div id="container" class="{categories.uid}">

谢谢你的帮助。

编辑:一些截图 信息在表sys_category title,uid,pid ..

sys_category TYPO3

example some categories overall TYPO3

  • '{}的数据 {data}

3 个答案:

答案 0 :(得分:1)

讨论同样的问题here(见11:30 - 12:31)。

所以没有这方面的看法。您必须使用Flux注册ContentController。

答案 1 :(得分:1)

我在这里使用了解决方案的变体:How can I get the category object in Fluid of Typo3 Content Element Pictures?

<强>的TypoScript

lib.categories = CONTENT
lib.categories {
    table = sys_category
    select {
        pidInList = root
        selectFields = sys_category.uid
        join = sys_category_record_mm on sys_category_record_mm.uid_local = sys_category.uid
        where.field = recordUid
        where.wrap = sys_category_record_mm.uid_foreign=|
    }
    renderObj = COA
    renderObj {
        1 = TEXT
        1 {
            field = uid
            stdWrap.noTrimWrap = | cat-||
        }
    }
}

流体模板

<f:cObject typoscriptObjectPath="lib.categories" data="{recordUid: data.uid}" />

答案 2 :(得分:0)

很抱歉答案 - 我没有足够的声誉发表评论。

什么是{data}

你从控制器那里得到的是什么?

$data = $this->configurationManager->getContentObject()->data;
$this->view->assign('data', $data);

如果是这样,那么你需要在你的控制器中做一些额外的处理,因为$data是一个关联的数组,而不是注入关系的对象/模型。