用于Typoscript数据库查询的父页面的uid或当前页面的pid

时间:2015-04-24 12:08:52

标签: typo3 typoscript

我想要一个菜单​​当前活动父级的uid列表。我得到了一个解决方案,但是,我的解决方案确实是静态的,因为它没有采用当前活动的“父”菜单,而是我输入的固定值。这是我的代码:

lib.dbValues = CONTENT
lib.dbValues {
table = pages
select {
   selectFields = uid
   pidInList = 74
}
renderObj = TEXT
renderObj {
    field = uid
    wrap = |,
   }
}

我的问题是,我可以动态获取当前页面的Pid或父页面的uid吗?我真的很困扰我可以通过键入“this”获得当前的uid,但没有别的。

2 个答案:

答案 0 :(得分:1)

这对我有用:

select.where = colPos = 4     
select.orderBy = sorting
select.andWhere.wrap = pid=|
select.andWhere.data = page:uid

答案 1 :(得分:0)

我有一个我现在将使用的解决方法(直到我更好地掌握如何使用typoscript)。我刚用标记打破了查询条件:

lib.dbValues = CONTENT
lib.dbValues {
table = pages
select {
   selectFields = uid
   #pidInList = pid
   where = pid NOT IN (0) OR pid IN (SELECT pid FROM pages WHERE uid = ###THIS_UID###)
   markers {
        THIS_UID.data = TSFE:id
    }
}
renderObj = TEXT
renderObj {
    field = uid
    wrap = |,
    }
}

使用Where子句,我会得到类似

的内容
... WHERE pid in (0) and pid NOT IN (0) OR ... 

前面的所有东西都是无意义的。看起来像拼写错误很难让当前页面不舒服。