首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能像linkWrap或typolink.ATagParams那样重用(继承)HMENU/TMENU值和重置值

不能像linkWrap或typolink.ATagParams那样重用(继承)HMENU/TMENU值和重置值
EN

Stack Overflow用户
提问于 2017-08-16 14:37:38
回答 1查看 79关注 0票数 0

我创建了一个这样的语言选择器:

代码语言:javascript
复制
lib.language = HMENU
lib.language {
    special = language
    special.value = 0,1,2
    special.normalWhenNoLanguage = 0
    wrap =
    1 = TMENU
    1 {
        noBlur = 1
        NO = 1
        NO {
            linkWrap = |
            doNotLinkIt = 1
            stdWrap.override = deutsch || english || français
            stdWrap {
                typolink {
                    parameter.data = page:uid
                    additionalParams = &L=0 || &L=1 || &L=2
                    ATagParams = class="dropdown-item" hreflang="de-DE" || class="dropdown-item" hreflang="en-GB" || class="dropdown-item" hreflang="fr-FR"
                    addQueryString = 1
                    addQueryString.exclude = L,id,cHash,no_cache
                    addQueryString.method = GET
                    useCacheHash = 1
                    no_cache = 0
                    forceAbsoluteUrl = 1
                }
            }
        }

        ACT < .NO
        ACT.ATagParams = class="dropdown-item active"
    }
}

对于移动端,我希望继承该菜单,但使用不同的linkWrap (和类):

代码语言:javascript
复制
lib.languageMobile < lib.language
lib.languageMobile.1.NO {
    linkWrap = <li class="1"><div>|</div></li>
    stdWrap.typolink {
        ATagParams = class="btn btn-sub" hreflang="de-DE" || class="btn btn-sub" hreflang="en-GB" || class="btn btn-sub" hreflang="fr-FR"
        ATagBeforeWrap = 1
        wrap = <span>|</span>
    }
}
lib.languageMobile.1.ACT.ATagParams = class="btn btn-sub active"

但是,所有为lib.languageMobile专门重置的值都不会在前端呈现。但是,TypoScript对象浏览器确实显示了设置的值。我没有找到任何关于,重置继承的HMENU/TMENU的值不适用,或者存在类似的已知问题。

我使用的是最新的TYPO3 8.7LTS: 8.7.4。

有人能指出,我遗漏了什么或做错了什么吗?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-08-16 15:40:13

由于@BerndWilkeπφ将我带到了正确的轨道上,我想分享一下是什么为我解决了这个问题。

因为我确实在语言选择器中设置了所有可用语言,但并不是所有页面都完全翻译为所有语言。所以我偶然发现了USERDEF1USERDEF2的用法。当我将它们添加到lib.language中时,我将lib.languageMobile更改为:

代码语言:javascript
复制
lib.languageMobile < lib.language
lib.languageMobile.1 {
    NO {
        linkWrap = <li class="1"><div>|</div></li>
        stdWrap.typolink {
            ATagParams = class="btn btn-sub" hreflang="de-DE" || class="btn btn-sub" hreflang="en-GB" || class="btn btn-sub" hreflang="fr-FR"
            ATagBeforeWrap = 1
            wrap = <span>|</span>
        }
    }
    ACT < .NO
    ACT.ATagParams = class="btn btn-sub active"
    USERDEF1 < .NO
    USERDEF2 < .ACT
}

之后,移动语言选择器按预期呈现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45706597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档