首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TYPO3菜单还显示未翻译的页面

TYPO3菜单还显示未翻译的页面
EN

Stack Overflow用户
提问于 2016-09-09 20:45:56
回答 1查看 1.9K关注 0票数 0

我有一个新的4种语言的TYPO3安装,当我们在nav上工作时,发生了一些奇怪的事情:当我们切换语言时,未翻译的页面已经显示了nav,尽管我们没有明确要求它。

系统是PHP5.5上的TYPO3 7.6。

下面是我们如何构建HMENU:

代码语言:javascript
复制
# the main menu boostrap like
lib.navBarMenu = HMENU
lib.navBarMenu {
    1 = TMENU
    1 {
        # accessibility - add title for main navigation
        wrap (
            <h2 class="sr-only">{$TEXT.titleMainnav}</h2>
            <ul class="nav navbar-nav" id="nav">|</ul>
        )

        # Always unfold all sub-levels of the menu
        expAll = 1

        # Remove the (old) default behaviour which adds onfocus="blurLink(this);" to all links
        noBlur = 1

        # Define the normal state (not active, not selected) of menu items
        # Using NO=1 to activate normal state is not necessary, but useful when copying
        NO = 1
        NO {
            # Use the page title field as title property in the A-tag, and if the navigation title is set, take the value of this field
            ATagTitle {
                field = title
                stdWrap.override.cObject = TEXT
                stdWrap.override.cObject.field = nav_title
                stdWrap.override.if.isTrue.field = nav_title
            }

            # Use the option-split feature to generate a different wrap for the last item on a level of the menu
            # The last item on each level gets class="last" added for CSS styling purposes.
            #
            # See the TSref documentation for details about option split and other features:
            # http://typo3.org/documentation/document-library/references/doc_core_tsref/current/
            #wrapItemAndSub = <li class="first">|</li> |*| <li>|</li> |*| <li class="last">|</li>
            wrapItemAndSub = <li>|</li>

            # HTML-encode special characters according to the PHP-function htmlSpecialChars
            stdWrap.htmlSpecialChars = 1
        }

        IFSUB = 1
        IFSUB < .NO
        IFSUB {
            wrapItemAndSub = <li class="dropdown">|</li>                 
            ATagBeforeWrap = 1
            ATagParams = class="dropdown-toggle" data-toggle="dropdown"
            stdWrap.wrap = |<b class="caret"></b>
        }

        # Copy properties of normal to active state, and then add a CSS class for styling
        ACTIFSUB = 1
        ACTIFSUB < .IFSUB
        ACTIFSUB {
            wrapItemAndSub = <li class="dropdown active">|</li>
        }

        CURIFSUB = 1
        CURIFSUB < .IFSUB
        CURIFSUB {
            wrapItemAndSub = <li class="dropdown active">|</li>
        }

        # Copy properties of normal to active state, and then add a CSS class for styling
        ACT = 1
        ACT < .NO
        ACT {
            wrapItemAndSub = <li class="active">|</li>
        }

        # Copy properties of normal to current state, and then add a CSS class for styling
        CUR = 1
        CUR < .NO
        CUR {
            wrapItemAndSub = <li class="active">|</li>
        }
    }
    2 < .1
    2 {
        wrap = <ul class="dropdown-menu">|</ul>
        IFSUB {
            wrapItemAndSub = <li class="dropdown-submenu">|</li>
            ATagParams >
            stdWrap.wrap >
        }

        ACTIFSUB {
            wrapItemAndSub = <li class="dropdown-submenu">|</li>
            ATagParams >
            stdWrap.wrap >
        }

        CURIFSUB {
            wrapItemAndSub = <li class="dropdown-submenu">|</li>
            ATagParams >
            stdWrap.wrap >
        }
    }
    3 < .2
    4 < .2
    5 < .2
    6 < .2
    7 < .2
}

配置如下所示:

代码语言:javascript
复制
config {
    # use html5 doctype
    doctype = html5

    # meta tag with charset
    metaCharset = utf-8

    # render with this charset
    renderCharset = utf-8

    # clean up HTML code
    disablePrefixComment  = 1

    # send additional headers
    #additionalHeaders = X-UA-Compatible: IE=Edge

    # do not put _INT-JS into external files
    removeDefaultJS = external

    # concatenate js files together
    concatenateJs = {$config.compression}

    # compress javascript files
    compressJs = {$config.compression}

    # move inline CSS to external files
    inlineStyle2TempFile = 1

    # concatenate css files together
    concatenateCss = {$config.compression}

    # compress CSS files
    compressCss = {$config.compression}

    # default target for external links
    extTarget = _blank

    # enable spam protect for email addresses and define the character offset
    spamProtectEmailAddresses = -4

    # in spam protected email link replace the at-sign with this html
    spamProtectEmailAddresses_atSubst = <span style="display:none">not shown</span>&#64;

    # in spam protected email link replace the last dot with this html
    spamProtectEmailAddresses_lastDotSubst = <span style="display:none">to make life hard for spam bots</span>.

    # use L parameter for the language and pass through page type parameter
    linkVars = L,type,noCompress

    # language key to use for xlf translations (default/de/fr/etc.)
    language = {$lang.current_key}

    # set the locale (eg. de_CH.UTF-8)
    locale_all = {$lang.current_locale}

    # reference the sys_language record
    sys_language_uid = {$lang.current_uid}

    # language key to use for the <html lang=""> attribute
    htmlTag_langKey = {$lang.current_key}

    # if a page is not available in the current language, fall back to language 0 (default)
    sys_language_mode = content_fallback ; 0

    # hide content records, which do not exist in the current language, set to 1 if the default language of the record should be shown
    sys_language_overlay = hideNonTranslated

    # show images of default language content in overlay record (commaseparated list)
    sys_language_softMergeIfNotBlank = tt_news:image

    # default date format (overwrite for other languages)
    dateFormat = %A %e. %B %Y

    # default time format (overwrite for other languages)
    timeFormat = Uhr %H:%M Sek %S

    # enable the admin panel
    admPanel = 1

    # clear cache once a day
    cache_clearAtMidnight = 1

    # default caching period for a page
    cache_period = 172800

    # prefix #hash-links with the current path (needed for realurl)
    prefixLocalAnchors = all

    # enable real url if present
    tx_realurl_enable = 1

    # allow links to be made across different domains
    typolinkEnableLinksAcrossDomains = 1

    # force extbase to select all fe_users
    tx_extbase.persistence.classes.Tx_Extbase_Domain_Model_FrontendUser.mapping.recordType >

    # force extbase to select all fe_groups
    tx_extbase.persistence.classes.Tx_Extbase_Domain_Model_FrontendUserGroup.mapping.recordType >


}

感谢您的支持!

关于Tizian

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-09 21:56:22

如果您不想要语言回退(已设置),则必须在typoscript中更改sys_language_mode设置:

代码语言:javascript
复制
config.sys_language_mode = strict

请参阅更多here

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

https://stackoverflow.com/questions/39411940

复制
相关文章

相似问题

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