Typo3でプログラム的に属性hrefを拡張する最良の方法は何ですか?
リンクはRTEによって設定されました
<a class="download" target="_blank" href="fileadmin/ablage/test_material/pdf_1.pdf">
に変更されます
<a class="download" target="_blank" href="fileadmin/ablage/test_material/pdf_1.pdf#zoom=100">
そのリンクに固定クラスがある場合は、jQueryを使用できます...
jQuery(document).ready(function(){
$('.download').each(function(){
var linkhref = $(this).attr('href');
$(this).attr('href', linkhref + '#zoom=100');
});
});
テストされていないコード:
パラメータにセクションを追加してみてください
lib.parseFunc_RTE.tags.link.typolink.parameter.append = TEXT
lib.parseFunc_RTE.tags.link.typolink.parameter.append {
value = #zoom=100
if.equals.data = parameters:0
if.equals.substring = -3,3
if.value = pdf
}
または、「セクション」を使用してみてください
lib.parseFunc_RTE.tags.link.typolink.section.cObject = TEXT
lib.parseFunc_RTE.tags.link.typolink.section.cObject {
value = zoom=100
if.equals.data = parameters:0
if.equals.substring = -3,3
if.value = pdf
}
しかし、最も重要な問題は「if」ステートメントです。最初のパラメータはファイルの名前だと思います(覚えていません)。最後の3文字は「pdf」である必要があります。DAMを使用する場合は、UIDを取得し、そこからファイルタイプを取得する必要があります。
大まかな推測ですが、これはヒントを与える可能性があります。どのパラメータがありますか。
lib.parseFunc_RTE.tags.link.typolink.parameter.append = TEXT
lib.parseFunc_RTE.tags.link.typolink.parameter.append {
data = parameters : allParams
htmlSpecialChars = 1
wrap = ?debug=|
}
補足:これはすべてのRTEフィールドに影響します!
このコードはそれを行います。
parseFunc_RTE.tags.link.typolink.parameter.append = TEXT
parseFunc_RTE.tags.link.typolink.parameter.append {
value = #zoom=100
if.equals.data = parameters : allParams
if.equals.substring = -3,3
if.value = pdf
}