簡體   English   中英

在typo3中以編程方式擴展href

[英]extending href programmatically in typo3

在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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM