extbase扩展 - 如何更新面包屑

时间:2015-02-02 15:51:31

标签: php typo3 breadcrumbs extbase

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

我的面包屑在typoscript中看起来像这样:

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>

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

1 个答案:

答案 0 :(得分:1)

这是我之前做过的导航导航导航,其中包含了新闻详情视图,但您将了解如何合并自己的表格。请注意,还有一些额外的标记,因为它跟随面包屑的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上一个“真实”页面上的行为更改为普通面包屑链接。

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

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