【问题标题】:Typo3 - TMENU get Content from ColposTypo3 - TMENU 从 Colpos 获取内容
【发布时间】:2015-02-13 17:14:43
【问题描述】:

我有一个 TMENU,在该菜单中,我将拥有来自菜单中子页面的内容。每个页面上都有一个带有内容的 Col (colpos=0)。是否可以从那里获取内容到菜单?

lib.mainmenu = HMENU 
lib.mainmenu {
        1 = TMENU
        1 {
            wrap = <ul id="mainmenu">|</ul>
            expAll = 1
            NO {
                wrapItemAndSub = <li>|</li>
                ATagParams =  class="drop"
            }

        }
        2 = TMENU
        2 {
            wrap = <div class="dropdown_produkte"><div class="nav-tabs"><ul>|</ul></div></div>
            NO {            
            wrapItemAndSub = <li>|</li>

          }
          2.40 = CONTENT
          2.40 {
            table = tt_content
            select.pidInList.field = pid
            select.where = colPos=0

            select.languageField=sys_language_uid

            wrap = <div class="teaser">|</div>
          }
        }
}

【问题讨论】:

    标签: typo3 typoscript


    【解决方案1】:

    css_styled_content 中已经定义了这样的菜单 错字3/sysext/css_styled_content/static/setup.txt

    # "Menu of subpages to these pages + sections - liststyle"
            7 < .1
            7 {
                stdWrap {
                    outerWrap = <ul class="csc-menu csc-menu-7">|</ul>
                }
                1.expAll = 1
                2 < .1
                2 {
                    sectionIndex = 1
                    sectionIndex.type = header
                    wrap = <ul>|</ul>
                    NO.wrapItemAndSub = <li class="csc-section">|</li>
                }
            }
    

    如果你打算在你的项目中使用打字稿(当你使用流体 + vhs 开发时你几乎不再需要),那么 css_styled_content 总是一个很好的参考点

    【讨论】:

    • 我认为这并不能回答问题 - 它会在菜单链接到的页面上呈现一个链接到内容元素的菜单。我相信 OP 希望从菜单中列出的页面呈现一个 包含内容本身的菜单
    • 没错,我需要来自子页面的内容。
    【解决方案2】:

    这是我的解决方案

    lib.mainmenu = HMENU 
    lib.mainmenu {
       1 = TMENU
       1 {
         wrap = <ul id="mainmenu">|</ul>
         expAll = 1
         NO {
           wrapItemAndSub = <li>|</div></li>
           ATagParams =  class="drop"
         }
         submenuObjSuffixes = a || b || c || d || e
       }
     2a < .1
     2a {
       wrap = <div class="dropdown_produkte">|</div>
       stdWrap.cObject = COA
       stdWrap.cObject {
    
         20 = HMENU
         20 {
           special = directory
           special.value.data = field:pid
    
           1 = TMENU
           1 {
             expAll = 1
             wrap = <div class="nav-tabs"><ul>|</ul>
    
             NO {
               wrapItemAndSub = <li>|</li>
               #stdWrap.dataWrap = <h2>|</h2>
               #linkWrap = | |*|  &nbsp;/&nbsp;
               ATagParams = class=submenu
             }
             ACT < .NO
             ACT = 1
             ACT {
               ATagParams = class=submenuActive
             }
             RO < .ACT 
           }
         }
    
    
    
         40 = CONTENT
         40 {
           table = pages
           select {
            pidInList.field = pid
            orderBy = sorting
           }
    
           renderObj = COA_INT
           renderObj {
                 10 = TEXT
                 #10.field = title
                 10.wrap = |
                 20 = LOAD_REGISTER
                 20 {
                   meinRegister.cObject = TEXT
                   meinRegister.cObject.field = uid
                 }
    
               50 = COA
               50 {
                 ###########
                 20 = CONTENT
                 20 {
                 table = tt_content
                 select {
                   pidInList.data = register:meinRegister
                   where = colPos=0
                   }
                 }
                 ###########
               }
             }
         }
    
       } 
     }
    }
    

    【讨论】:

      【解决方案3】:

      因为我今天遇到了类似的问题,所以我希望这个问题是最新的。 (使用带有流体样式内容的 TYPO3 8.7.4。)

      lib.mainmenu = HMENU 
      lib.mainmenu {
          1 = TMENU
          1 {
              wrap = <ul id="mainmenu" class="level1">|</ul>
              expAll = 1
              NO {
                  wrapItemAndSub = <li>|</li>
                  ATagParams = class="drop"
              }
          }
          2 < .1
          2 {
              wrap = <div class="wrapper">|</div>
              stdWrap.innerWrap = <ul class="level2">|</ul>
      
              stdWrap.append = CONTENT
              stdWrap.append {
                  table = tt_content
                  select {
                      pidInList.field = pid
                      where = colPos = 5 and deleted = 0 and hidden = 0
                  }
                  stdWrap.wrap = <div class="content">|</div>
              }
          }
          3 < .2
          3 {
              NO.wrapItemAndSub = <li>|</li>
              wrap = <ul class="level3">|</ul>
              stdWrap.append >
          }
      }
      

      这样(当然我在这里对其进行了简化)我能够从特定列(在 backend_layout 中定义)添加自定义填充内容以在导航面板中呈现。

      【讨论】:

        猜你喜欢
        • 2021-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多