extbase 扩展 - 如何更新面包屑

extbase extension - howto update breadcrumbs

我用 extbase 创建了一个扩展,它根据 GET 参数显示不同的内容。有没有办法更新面包屑以反映这一点?

我的面包屑在打字错误中看起来像这样:

temp.breadcrumb = HMENU
temp.breadcrumb {
    special = rootline
    special.range = 0|-1
    1 = TMENU
        1 {
        noBlur = 1
        wrap = <ol class="breadcrumb hidden-xs">|</ol>
        NO {
            stdWrap.crop = 26 | ...
            wrapItemAndSub = <li>|</li>||<li>|</li>||<li class="last">|</li>
            ATagTitle.field = abstract // title // description
            ATagTitle.noTrimWrap = | zur Seite: |
        }
        CUR = 1
        CUR {
            stdWrap.crop = 26 | ...
            wrapItemAndSub = <li class="active">|</li>||<li class="active">|</li>||<li class="last active">|</li>
            doNotLinkIt = 1
        }
    }
}

page.10.variables {
  breadcrumb < temp.breadcrumb
}

在我的模板中,我这样称呼它们:

<f:format.raw>{breadcrumb}</f:format.raw>

所以它们在普通页面上工作正常,但不适用于我的扩展脚本。

这是我刚才做的面包屑导航,其中包含新闻详细信息视图,但您会了解如何合并您自己的表格。请注意,还有一些额外的标记,因为它位于面包屑的 Google Rich Snippet Microformat 之后。

lib.navi.breadcrumbs = COA
lib.navi.breadcrumbs {
stdWrap.wrap = <ul class="breadcrumb ">|</ul>

10 = TEXT
10 {
    value = Your Homepage
    typolink {
        parameter = 1
        ATagParams =  itemprop="url"
        ATagBeforeWrap=1
        wrap = <span itemprop="title">|</span>
    }
    wrap = <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">|<span class="divider">/</span></li>
}
20 = HMENU
20 {
    special = rootline
    special.range = 1|-1

    1 = TMENU
    1 {
        noBlur = 1

        NO = 1
        NO {
            wrapItemAndSub = <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">|<span class="divider">/</span></li>
            ATagParams = itemprop="url"
            stdWrap.htmlSpecialChars = 1
            stdWrap.wrap = <span itemprop="title">|</span>
        }

        CUR <.NO
        CUR {
            wrapItemAndSub = <li class="active">|</li>
            doNotLinkIt = 1
            stdWrap.wrap >
        }
    }
}

# Add new if on single view
40 = RECORDS
40 {
    if.isTrue.data = GP:tx_news_pi1|news > 0
    dontCheckPid = 1
    tables = tx_news_domain_model_news
    source.data = GP:tx_news_pi1|news
    source.intval = 1
    conf.tx_news_domain_model_news = TEXT
    conf.tx_news_domain_model_news {
        field = title
        htmlSpecialChars = 1
    }
    wrap =  <li class="active">|</li>
}
}

[globalVar = GP:tx_news_pi1|news > 0]
lib.navi.breadcrumbs.20.1.CUR {
wrapItemAndSub = <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">|<span class="divider">/</span></li>
    doNotLinkIt >
}
[global]

如果给定新闻 uid (lib.navi.breadcrumbs.40),它基本上会创建一个菜单并在末尾附加新闻标题。

之后的条件条件更改了 HMENU 最后 'real' 页面上的行为,以充当普通面包屑 link。

然后您可以通过以下方式将代码集成到您的 FLUID 模板中:

<f:cObject typoscriptObjectPath="lib.navi.breadcrumbs" />