2016-10-26 19 views
0

Это «мой» старый языковой переключатель, который также учитывает tx_news и не связывает язык, если нет перевода для страницы или новости (это функция из USERDEF):Меню TypoScript: USERDEF1 и USERDEF2 не работают для tx_news

temp.lang_nav = HMENU 
temp.lang_nav { 
    special = language 
    special.value = 0,1 
    special.normalWhenNoLanguage = 0 
    wrap = | 
    1 = TMENU 
    1 { 
    NO = 1 
    NO { 
     linkWrap = <li>|</li> 
     stdWrap.override = DE || EN 
     # Build Typolink ourself 
     doNotLinkIt = 1 
     stdWrap.typolink.parameter.data = page:uid 
     stdWrap.typolink.additionalParams = &L=0 || &L=1 
     stdWrap.typolink.addQueryString = 1 
     stdWrap.typolink.addQueryString.exclude = L,id,cHash,no_cache 
     stdWrap.typolink.addQueryString.method = GET 
     stdWrap.typolink.useCacheHash = 1 
     stdWrap.typolink.no_cache = 0 
    } 

    // Active language 
    ACT = 1 
    ACT < .NO 
    ACT { 
     stdWrap.typolink.ATagParams = class="active" 
    } 

    // = NO + No translation 
    USERDEF1 = 1 
    USERDEF1 < .NO 
    USERDEF1{ 
     //doNotShowLink = 1 
     stdWrap.typolink > 
    } 
    // = ACT + No translation 
    USERDEF2 = 1 
    USERDEF2 < .USERDEF1 

    } 
} 

Кроме того, я использовал вариант согласно https://gist.github.com/michelalbers/fb0c2e04af1d6ff94788, который имеет более современный синтаксис.

Пользователь сообщил, что внезапно состояние USERDEF больше не пинает для нетранслируемых новостей.

На самом деле, я не могу доказать, что это действительно работало для нетранслируемых новостей раньше, но я совершенно уверен.

Что вы думаете; Жук? Неправильный синтаксис? USERDEF не для новостей, только для страниц? Или это никогда не срабатывало?

Если последнее, есть ли способ достичь такого эффекта (не ссылаться на перевод для нетранслируемых новостей)?

+0

Я удивлен, что он когда-либо работал, если не было перевода tx_news. – pgampe

+0

Хм .. может быть, тогда это не так! – Urs

ответ

0

По-видимому, то, о чем я прошу, не является особенностью.

Обходной путь, позволяющий пользователям совершать посадку на глобальной странице 404 при использовании переключателя lang на нетранслируемом элементе, заключается в том, чтобы сделать отдельную 404 страницу для новостей с более ясным объяснением.

Если вы установили что-то вроде

'pageNotFound_handling' => 'USER_FUNCTION:typo3conf/ext/template/Classes/Various/noAccess.php:noAccess->pageNotFound', 

в localconf, вы можете там делать эту работу.