2

「English」というテキストをクリックして、英語版のウェブサイトを取得したいと考えています。グラフィカルメニューができる前:

lib.tslangmenu = HMENU
lib.tslangmenu {
  special = language
  special.value = 0,1,2
  addQueryString = 1
  1 = GMENU
  1.NO {
    XY = 24,16
    5 = IMAGE
    5.file = fileadmin/templates/images/deutsch.jpg || fileadmin/templates/images/englisch.jpg || fileadmin/templates/images/kroatisch.jpg
  }

  1.ACT < 1.NO
  1.ACT = 1
  1.ACT.wrap = <span class="langhide"> | </span>

  1.CUR < 1.ACT
  1.CUR = 1
}

これはこれまでのところうまくいきました。ここで、メニューをテキストベースのメニューに変更する必要があります。

lib.tslangmenu {
  special = language
  special.value = 0,1,2
  special.normalWhenNoLanguage = 0
  addQueryString = 1
  1 = TMENU
  1.NO = 1
  1.NO.stdWrap.override = Deutsch || English || Hrvatski

  1.ACT < 1.NO
  1.ACT = 1
  1.ACT.stdWrap = <span class="langhide"> | </span>

  1.CUR < 1.ACT
  1.CUR = 1
}

これで、 によるラップspanは完全に無視されます。また、メニューは次のように表示されるようになりました。

MyCurrentPageName 英語 Hrvatski

ドイツ語を使用している場合、単語deutschは現在のページ タイトルで上書きされます。同じことが他のすべての言語にも当てはまります。このブログ記事にある TS も試しました。しかし、現在は同じことをしています。これを機能させるにはどうすればよいですか?

4

2 に答える 2

3

最初のエラーはラップにあります:ラップされてNOいないため、スパンは生成されません(NOアイテムの場合)。ページタイトルが表示される問題は、間違ったコピーが原因です。この線

1.ACT < 1.NO

本当にする必要があります

1.ACT < .1.NO

念のため、これが私がアクティブに使用しているTS-configです。

lib.languageMenu = HMENU
lib.languageMenu {
  special = language
  special.value = 0,1

  1 = TMENU
  1 {
    wrap = <ul class="langMenu">|</ul>
    noBlur = 1
    NO = 1
    NO {
      linkWrap = <li class="menu-item normal">|</li>

      stdWrap.override = English || Deutsch
      stdWrap.htmlSpecialChars = 1
    }

    ACT < .NO
    ACT {
      doNotLinkIt = 1
      linkWrap = <li class="menu-item active">|</li>
    }

    # NO + Translation doesn't exist
    USERDEF1 < .NO
    USERDEF1.doNotLinkIt = 1

    # ACT + Translation doesn't exist
    USERDEF2 < .ACT
    USERDEF2.doNotLinkIt = 1
  }
}

よろしく、
ジョスト

于 2012-12-17T16:45:37.790 に答える