Select 打字脚本检查要从中选择的页面是否隐藏

Select 打字脚本检查要从中选择的页面是否隐藏,select,typo3,typoscript,Select,Typo3,Typoscript,在我的例子中,我正在从静态页面id 155运行select。我只希望在页面本身未隐藏在后端时执行此选择。有没有办法做到这一点?我曾考虑在where部分使用sql子句,但据我所知,这些子句只影响页面上的内容元素,而不影响页面pidInList本身 15 = CONTENT 15 { wrap = <div id="xyz">|</div> table = tt_content select { pidInList = 155

在我的例子中,我正在从静态页面id 155运行select。我只希望在页面本身未隐藏在后端时执行此选择。有没有办法做到这一点?我曾考虑在where部分使用sql子句,但据我所知,这些子句只影响页面上的内容元素,而不影响页面pidInList本身

   15 = CONTENT
   15 {
   wrap = <div id="xyz">|</div>
   table = tt_content
   select {
      pidInList = 155
      orderBy = sorting
      where = colPos=0
   }
}
谢谢

使用子查询

where = colPos=0 AND (SELECT hidden FROM pages WHERE uid=tt_content.pid)=0
这是以前答案的固定版本


注意:如果没有可用的记录,使用stdWrap将允许您另外隐藏包装div,因此结合所有答案,您就可以使用该解决方案

如果您只想在页面隐藏且不显示任何内容时避免换行,请使用所需属性:

15 = CONTENT
15 {
  stdWrap {
    required = 1
    wrap = <div id="xyz">|</div>
  }
  table = tt_content
  select {
    pidInList = 155
    orderBy = sorting
    where = colPos=0
  }
}

你正在运行哪一版本的TYPO3?第155页是什么类型的标准、系统文件夹等?我这样问是因为我开始怀疑自己的答案。我认为当页面本身被隐藏时,内容不应该返回任何结果。难道你不想在页面被隐藏且没有检索到内容时避免换行吗?我喜欢子查询!虽然我真的想知道这是否是他的问题,因为在我的测试中,当页面本身被隐藏时,我还没有设法检索到内容。@Cascava我现在偶然发现完全相同,当我检查案例时,如果页面被隐藏,它无论如何也不会获取记录。所以finnaly OP可以使用它来检查页面是否隐藏在菜单中,并选择nav_hide FROM pages;在我对.required的理解中,子查询应该是必要的,cascavals只回复工作或包装本身,但在4.5.30中没有子查询它确实工作,所以我选择了他的方式。谢谢我不知道您对required属性的理解是什么,但是如果当前内容为空,它只是简单地停止stdWrap中的进一步处理,而select没有返回任何内容。由于stdWrap属性是按特定顺序应用的,并且wrap是在需要之后才应用的,因此从不应用wrap。这在Type3 4.5.30上非常有效。实际上,我知道stdWrap.required,并且已经使用过很多次,但我认为它无论如何都会启动,因为select会选择页面的内容,而不管它是否隐藏。由于页面中始终有一些非隐藏内容,我认为它将始终返回1。在我看来,这实际上不是它应该工作的方式,而是子查询应该是必需的,并且所需的只应用于包装。但既然它确实有效,而且这正是我在这种情况下所需要的,我就不会抱怨:。。。谢谢!