簡體   English   中英

TYPO3:流體插入菜單沒有項目

[英]TYPO3: Fluid inserted menu has no items

我嘗試更好地學習和理解基於 Fluid 的 TYPO3 站點包,並大致遵循了本教程: TYPO3 站點包教程 不過,為了保持簡單,我在幾點上偏離了它(我省略了與 Jumbotron 相關的所有內容,並用我自己創建的更簡單的菜單代替它。

這是我為菜單生成的部分:

<div class="mainmenu">
*
<f:for each="{mainnavigation}" as="mainnavigationItem">
    <span class="nav-item {f:if(condition: mainnavigationItem.active, then: 'active')}">
        <a class="nav-link" 
           href="{mainnavigationItem.link}"
           target="{mainnavigationItem.target}"
           title="{mainnavigationItem.title}"
            >
            {mainnavigationItem.title}
        </a>
    </span>
</f:for>
*
</div>

我的站點 package 實際上在一定程度上可以工作,我可以用它生成一個主頁和一些子頁面。 不幸的是,我的菜單項/子頁面鏈接沒有顯示。 它們不會添加到菜單中。 似乎 MenuProcessor object 是空的。 我知道相應的部分實際上已呈現,因為我可以看到頁面中包含 static 個部分,但沒有別的。 簡而言之:for 循環不產生任何結果。 我假設由於某種原因沒有找到“mainnavigationItems”。 也許我只是在某處遺漏了一個簡單的設置,它與 Fluid 或站點包無關。

這是我的setup.typoscript文件的代碼:

@import 'EXT:fluid_styled_content/Configuration/TypoScript/setup.typoscript'

page = PAGE
page {
   typeNum = 0

   10 = FLUIDTEMPLATE
   10 {
      templateName = TEXT
      templateName.stdWrap.cObject = CASE
      templateName.stdWrap.cObject {
         key.data = pagelayout

         pagets__site_package_default = TEXT
         pagets__site_package_default.value = Default

         default = TEXT
         default.value = Default
      }
      templateRootPaths {
         0 = EXT:site_package/Resources/Private/Templates/Page/
         1 = {$page.fluidtemplate.templateRootPath}
      }
      partialRootPaths {
         0 = EXT:site_package/Resources/Private/Partials/Page/
         1 = {$page.fluidtemplate.partialRootPath}
      }
      layoutRootPaths {
         0 = EXT:site_package/Resources/Private/Layouts/Page/
         1 = {$page.fluidtemplate.layoutRootPath}
      }
      
      dataProcessing {
        10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
        10 {
            levels = 1
            includeSpacer = 1
            as = mainnavigation     
        }
      }
      
   }

   includeCSS {
        website = EXT:site_package/Resources/Public/Css/look.css
   }

   includeJSFooter {
      website = EXT:site_package/Resources/Public/JavaScript/myscript.js
   }
}

config {
   absRefPrefix = auto
   cache_period = 86400
   debug = 0
   disablePrefixComment = 1
   doctype = html5
   extTarget =
   index_enable = 1
   index_externals = 1
   index_metatags = 1
   inlineStyle2TempFile = 1
   intTarget =
   linkVars = L
   metaCharset = utf-8
   no_cache = 0
   pageTitleFirst = 1
   prefixLocalAnchors = all
   removeDefaultJS = 0
   sendCacheHeaders = 1

   // Compression and concatenation of CSS and JS Files
   compressCss = 0
   compressJs = 0
   concatenateCss = 0
   concatenateJs = 0
}

你有什么想法,為什么我的菜單沒有顯示任何項目? 感謝您的時間!

我自己想出了一些辦法:看來我不能將菜單放在一個部分中。 我將該部分集成到主布局模板中,現在列出了菜單項。

我只能假設,當呈現部分文件時,某種信息不會自動傳遞到需要它的地方。

我認為您必須在打字稿中添加起點或頁面列表。

dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
  levels = 1
  special = list
  special.value = 1,2,3,4
  # or
  special = directory
  special.value = 3
  includeSpacer = 1
  as = mainnavigation     
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM