包含页面内容

时间:2017-08-30 17:14:05

标签: menu zurb-foundation typoscript

我希望开发一个带有基础5.5.0的3级下拉菜单的菜单!包含页面内容的菜单。我可以看到标题,但是当我更改页面或标签时内容不会改变(链接是:| --- 1 --- | ...和标题11,标题12,标题13 ......和链接1到链接8或更多)。它通过菜单链接初始化为激活页面的内容。对于每个标题,我想显示相关页面的内容。我希望页面不会显示在菜单中的其他位置。

[ --- 1 --- (*)][--- 2 --- ][--- 3 --- ]
| Title 11      | Title 12      | Title 13      |
| Content 11    | Content 12    | Content 13    |      
|               |               |               |
| link 1        | link 4        | link 6        |
| link 2        | link 5        | link 7        |               
| link 3        |               | link 8        |

(*)actived。

包含页面内容的菜单: 我可以显示内容11'但它在所有其他内容中随处可见'内容' (内容11 =内容12 =内容13)。而不是标题的相应内容。当我点击另一个链接时,它就取代了另一个链接,并且在“内容x”中随处可见。

菜单本身有效。

    lib.menuprincipal = COA
lib.menuprincipal {
    wrap (
      <div data-magellan-expedition="fixed" class="large-12 column" data-magellan>
        <nav class="top-bar" data-topbar role="navigation">
      |
        </nav>
      </div>
    )

    # NavBar Header
    10 = TEXT
    10 {
        data = leveltitle:0
        typolink {
            parameter.data = parameters : allParams
            ATagParams = class="TestAddParamClass"
            title.data = leveltitle:0
          #forceAbsoluteUrl = 1
        }

        wrap (
            <ul class="title-area">
              <li class="name">
                 <div class="show-for-small left">
                    <div id="poslogomin1" class="right">
                       <h2>Titre site/h2>
                    </div>
                  </div>
               </li>
               <li class="toggle-topbar menu-icon">|</li>
            </ul>
        )
    }

    # menu
    20 = HMENU
    20 {
        #entryLevel = 0
        wrap (
               <section class="top-bar-section">
                    <ul class="left">                            
                        |      
                    </ul>
               </section>
        )

        # Premier niveau
        1 = TMENU
        1 {
          entryLevel = 0
          #wrap = |  
          expAll = 1   
          maxItems = 5             

          NO = 1
          NO {       
            doNotLinkIt = 1
            stdWrap.cObject = COA
            stdWrap.cObject{

                10 = TEXT
                10.typolink.no_cache = 1
                10.typolink.ATagBeforeWrap = 1
                10.typolink.parameter.field = uid

                10.cObject = COA
                10.cObject{                               
                        10 = TEXT
                        10.wrap = <div class="tile tile|">
                        10.field = layout

                        20 = TEXT
                        20.wrap = <div class="title"><h2 style='color:darkblue'>|</h2></div>
                        20.field = title

                        30 = TEXT                 
                        30.wrap = <div class = "subtitle"><h2 style='color:darkred'>|</h2></div>
                        30.field = subtitle      

                        40 = CONTENT        
                        40.wrap = <div class = "subtitle"><div>|</div></div>                                                              
                        40 {
                          table = tt_content
                            select {
                              where= colPos=0
                              uidInList.field = this
                            }
                        }
                        40.field < styles.content.get

                        50 = TEXT
                        50.value = </div>
               }          
            }      
          }          

          NO.wrapItemAndSub =  <li class="has-dropdown">|</li>

          ACT = 1
          ACT.wrapItemAndSub =  <li class="has-dropdown">|</li>

          IFSUB = 1
          IFSUB.wrapItemAndSub =  <li class="has-dropdown">|</li>         
        }//1

        # Deuxième niveau
        2 < .1      
        2 = TMENU
        2 {  
          #entryLevel = 0
          maxItems = 5
            wrap (
                <ul class="dropdown">
                  <li>
                     <div class="row mynav" id="nav-2">
                       |
                     </div>
                  </li>
                </ul>
            )
            expAll = 1

            NO = 1 

            NO.wrapItemAndSub =  <div class="large-3 medium-6 column">|</div>   
            NO.stdWrap.wrap = <h2 style='color:darkgreen'>|</h2>

          ACT < .NO
          CUR < .NO
          IFSUB < .NO
          ACTIFSUB < .NO        
        }//2

        # Troisième niveau
        3 = TMENU
        3 {    
          #entryLevel = 0
          maxItems = 5

          wrap = <p>|</p>
        }//3               
    }
}

我是typoscript的初学者,你能帮助我吗?谢谢 ! 最好的问候。

2 个答案:

答案 0 :(得分:1)

你好我已经在40点做到并添加:

40 = CONTENT
40 {
   table = tt_content  
       select {
         orderBy = sorting
         pidInList.field = uid                              
         where = {#colPos}=0 and deleted = 0 and hidden = 0  
       }
   renderObj = COA
   renderObj {
     10 = TEXT
     10.stdWrap.field = header

     10.stdWrap.wrap = <div class = "subtitle"><div>|</div></div>

     20 = TEXT
     20.stdWrap.field = bodytext

     20.stdWrap.wrap = <p>|</p>
  }
}

现在这是正确的。

祝你好运

答案 1 :(得分:0)

在lib.menuprincipal.20.1.NO.stdWrap.cObject.10.cObject.44点,您首先声明您的内容对象,然后将styles.content.get分配给该字段。

  1. 这不是必需的,因为styles.content.get的默认TS是:

    styles.content.get = CONTENT  
    styles.content.get {  
        table = tt_content  
        select {
            orderBy = sorting
            where = {#colPos}=0
        }
    }
    
  2. 请参阅where子句中的新colPos定义。我认为这可能是一个问题。

  3. 您需要

        40.renderObj = TEXT
        40.renderObj.field = yourfield
    

    有关详细信息,请参阅TYPO3 Dokumentation Section CONTENT