在TMENU内加载寄存器

时间:2013-07-10 11:05:40

标签: typo3 typoscript

在TYPO3 HMENU中,第二级TMENU应该重现第一级页面的摘要。

我设法用一个值填充寄存器并在第二级TMENU中使用它 - 但是我无法将该字段的内容加载到寄存器中。

所以

field = abstract

以及

value = {field:abstract}
value.insertData = 1

不产生任何输出。

如何用父页面的摘要填充该寄存器?

这是完整的代码。

temp.main_nav = HMENU
temp.main_nav {
  wrap = <nav id="cbp-hrmenu" class="clearfix cbp-hrmenu span12">|</nav>
  entryLevel = 0

  1 = TMENU
  1 {
        noBlur = 1
        expAll = 1
        wrap = <ul class="level1">|</ul>

        NO {

            wrapItemAndSub=<li>|</li>                   

            before.cObject=LOAD_REGISTER
            before.cObject{
                    parentAbstract.stdWrap.cObject=TEXT
                    parentAbstract.stdWrap.cObject{
                        field = abstract
                        #value = {field:abstract}
                        #value.insertData = 1
                    }
            }
        }

    }

  2 < .1
  2.stdWrap.dataWrap = <div class="cbp-hrsub"><div class="cbp-hrsub-inner"><div>{register:parentAbstract}</div><div><ul class="level2">|</ul></div></div><!-- /cbp-hrsub-inner --></div><!-- /cbp-hrsub -->

}

PS:{levelfield}似乎在TMENU中存在问题,这就是我切换到LOAD_REGISTER的原因

1 个答案:

答案 0 :(得分:1)

解决了它。

问题在于

2 < .1 

第二个TMENU从第一个继承了load_register并继续填充它。这就是为什么它中有一个错误的摘要(例如一个空的摘要)。

这是工作代码:

temp.main_nav = HMENU
temp.main_nav {
  wrap = <nav id="cbp-hrmenu" class="clearfix cbp-hrmenu span12">|</nav>
  entryLevel = 0

  1 = TMENU
  1 {
        noBlur = 1
        expAll = 1
        wrap = <ul class="level1">|</ul>

        NO {

            wrapItemAndSub=<li>|</li>                   

            before.cObject=LOAD_REGISTER
            before.cObject{
                    parentAbstract.cObject=TEXT
                    parentAbstract.cObject{
                        field = abstract
                    }
            }
        }
        // EDIT: if you have additional states, don't forget to add the abstract too
        ACT < .NO
        ACT = 1
        ACT {
         wrapItemAndSub=<li class="dropdown active">|</li>
        }

    }

  2 = TMENU
  2 {
        noBlur = 1
        expAll = 1
        stdWrap.dataWrap = <div class="cbp-hrsub"><div class="cbp-hrsub-inner"><div>{register:parentAbstract}</div><div><ul class="level2">|</ul></div></div><!-- /cbp-hrsub-inner --></div><!-- /cbp-hrsub -->


        NO {
            wrapItemAndSub=<li>|</li>                   
        }

    }

}