开始和最大值配置(TypoScript - CONTENT)

时间:2011-12-06 15:49:26

标签: typoscript

我在TS做一个分页器...... 我正在做一个选择,但我需要(从GP:var)开始(设置“开始”页面)值...但是我没有找到办法做到这一点......

我一直在谷歌寻找它,并且每个人都说它是一个int + calc对象...但是如果我不能在calc中设置一个变量,我不理解成为int + calc的想法...... / p>

我告诉你一个我的代码的例子

10.select {
    pidInList.insertData = 1
    pidInList = this
    max = 5
    begin = 0    #Here is where I would like to configure the begin dynamicaly with stdWrap or something like that
    orderBy = pages_smc_news.date DESC
    leftjoin = pages_smc_news ON(pages_smc_news.pid = pages.uid) LEFT JOIN tt_content ON (tt_content.pid = pages.uid)
    selectFields = pages_smc_news.date, title, bodytext, header,tt_content.pid
    where = header="teaser"
    andWhere = tt_content.sys_language_uid = 0
}
10.renderObj = COA
10.renderObj {
    ...
}
...

2 个答案:

答案 0 :(得分:0)

也许您可以使用寄存器来存储和累积begin变量并覆盖它?每次我的代码都加上寄存器变量" num"使用1是一种t3 cookie变量,当你加载另一个页面时它会被删除。

  begin.stdWrap.cObject = COA
  begin.stdWrap.cObject {
       10 = LOAD_REGISTER
       10.num.cObject = TEXT
       10.num.cObject.data = register:num
       10.num.cObject.wrap = |+1
       10.num.prioriCalc = intval
  }

答案 1 :(得分:0)

在TYPO3 4.5.x中(甚至可能在早期版本中),您可以使用 select markers属性。这使您可以定义可以在其他select属性中使用的标记(例如### some_marker ###)。

10.select {
    pidInList.insertData = 1
    pidInList = this
    max = 5
    begin = ###begin###
    orderBy = pages_smc_news.date DESC
    leftjoin = pages_smc_news ON(pages_smc_news.pid = pages.uid) LEFT JOIN tt_content ON (tt_content.pid = pages.uid)
    selectFields = pages_smc_news.date, title, bodytext, header,tt_content.pid
    where = header="teaser"
    andWhere = tt_content.sys_language_uid = 0
    markers {
        begin = TEXT
        begin {
            data = GP:var
            intval = 1
        }
    }
}