3

デフォルトの新しいウィンドウで外部メニュー リンクを開くソリューションを探しています。(ターゲット フィールドに _blank を書き込まないで) しかし、URL を変更しないと、URL はもはや ..../test.html ではなく ...www.external-url.co..... になります。

私はすでに試しました

タイポスクリプトで

config.extTarget = _blank

定数で

styles.content.links.extTarget = _blank

しかし、成功しませんでした。ご協力ありがとう御座います。

4

5 に答える 5

3

新しいウィンドウのメニューで外部 URL を開く必要がある場合は、以下のタイポスクリプトを確認して試してください。

lib.mainmenu = HMENU
lib.mainmenu {
  special = directory
  special.value = 1
  1=TMENU
  1.wrap=<ul>|</ul>
  1.NO {
    # do not create a link here else there are double <a> tags
    doNotLinkIt = 1
    wrapItemAndSub=<li>|</li>
    stdWrap.cObject = CASE
    stdWrap.cObject {
      key.field = doktype
      default = TEXT
      default {
        field = title
        typolink.parameter.field = uid
        stdWrap.htmlSpecialChars = 1
      }

      # 3 = external url
      3 = TEXT
      3 {
        field = title
        typolink.parameter.field = url
        typolink.extTarget = _blank
      }

    }
  }
}
于 2013-02-05T10:15:35.523 に答える
3

Sankar バージョンは単純化でき、「ターゲット」が設定されている場合、メニュー項目はフィールド値を取ります。

lib.mainmenu = HMENU
lib.mainmenu{
    entryLevel = 0
    1 = TMENU
    1{
        expAll = 1
        wrap = <ul>|</ul>
        NO = 1 
        NO.wrapItemAndSub = <li>|</li>
        NO.ATagParams{
            override = target="_blank"
            override.if{
                isFalse.field = target
                equals = 3
                value.field = doktype
            }
        }
        ACT < .NO
        ACT.ATagParams.noTrimWrap = |class="active" ||
    }
}
于 2014-07-16T21:04:12.347 に答える
1

jQuery を使用するだけで、CMS を気にする必要はありません

$("a[href^='http:']:not([href*='" + window.location.host + "'])").attr("target", "_blank");
于 2013-02-05T10:31:18.173 に答える