5

如何创建自动将相关页面命名为数字导航的菜单?

这将是我的页面树:

新闻
|--- Newsarticle tom(包含 9 个内容元素)
|--- Skeet's stuff(包含 9 个内容元素)
|--- Jessicas 5 篇文章(包含 4 个内容元素)

在前端,所有 3 个页面都将简单地显示为数字导航:(

想象这里的“Newsarticle tom”的 9 个文本元素)
1 - 2 - 3

4

3 回答 3

2

{register:count_HMENU_MENUOBJ}应该可以解决问题 - 我在http://www.typo3wizard.com/de/snippets/menus/nummeriertes-menue.html的评论中找到了它。(德语)

在这里,我使用了@konsolenfreddies HMENU 示例,根据您的需求进行了修改。(未经测试)。

temp.menu = HMENU
temp.menu {
    1 = TMENU
    1 {
        noBlur = 1
        wrap = <ul>|</ul>
        NO = 1
        NO {
            wrapItemAndSub = <li>|</li>
            altText = subtitle // title
            title = subtitle // title
        }
        CUR < .NO
        CUR.wrapItemAndSub = <li class="active">|</li>
        ACT < .CUR
    }

    2 < .1
    2 {
        wrap = <ol>|</ol>
        NO {
            allWrap = <span>Nr.{register:count_HMENU_MENUOBJ}|</span>
            allWrap.insertData = 1
            ATagBeforeWrap = 1
            }
        CUR < .NO
        CUR.wrapItemAndSub = <li class="active"><span>|</span></li>
        ACT < .CUR
    }
}

在这种情况下,我想在编号时会考虑所有子页面。网站上描述的完整设置要复杂得多。但如果你知道你的打字稿,你就会明白。

于 2011-10-05T03:23:34.910 回答
1

未经测试:

您可以通过以下方式覆盖链接文本:

NO.stdWrap.cObject.10 = TEXT
NO.stdWrap.cObject.10.data = register:count_HMENU_MENUOBJ
# if the register starts with 0, add 1:
NO.stdWrap.cObject.10.stdWrap.wrap = |+1
NO.stdWrap.cObject.10.prioriCalc = int

您现在应该得到数字而不是标题。

相关TSref:http ://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.5.1/view/1/9/#id2649360

于 2011-11-08T08:43:23.763 回答
1

首先,您可以使用替代导航标题来单独命名它们,但这在较大的页面树中可能很乏味。

一个解决方案是创建一个 OL 导航并通过 CSS 删除标题。这样导航仍然可以访问,并提供一些关于数字背后的提示:

temp.menu = HMENU
temp.menu {
    1 = TMENU
    1 {

        noBlur = 1
        wrap = <ul>|</ul>
        NO = 1
        NO {
            wrapItemAndSub = <li>|</li>
            altText = subtitle // title
            title = subtitle // title
        }
        CUR < .NO
        CUR.wrapItemAndSub = <li class="active">|</li>
        ACT < .CUR
    }

    2 < .1
    2 {
        wrap = <ol>|</ol>
        NO.wrapItemAndSub = <li><span>|</span></li>
        CUR < .NO
        CUR.wrapItemAndSub = <li class="active"><span>|</span></li>
        ACT < .CUR
    }
}

对应的CSS:

ol li span {display:none;}
于 2011-09-30T07:14:13.807 回答