簡體   English   中英

如何在href中使用typo3常量?

[英]How to use a typo3 constant in an href?

為了tx_dti.settings.url = https:/someserver/ ,我可以在模板tx_dti.settings.url = https:/someserver/頁面的主URL定義為常量: tx_dti.settings.url = https:/someserver/

現在,我想在文本元素中使用此常量來鏈接內部頁面,例如:
<a href="{tx_dti.settings.url}?id=13" class="internal-link">Contact Form</a>

不幸的是,我上面提到的方法不起作用。
用常量替換服務器的正確語法是什么?
目的是當我從開發人員轉移到生產服務器時,我只想更改常量。

一般來說:
您不能在拼寫模板(常量和設置)之外使用拼寫常量。 如果要在其他情況下使用印刷文字常量的值,則需要傳輸該值。

如果要在流體中使用常數,則需要將值轉換為流體變量。

temp.content = FLUIDTEMPLATE
temp.content {
    template = ...
    variables {
        domain = TEXT
        domain.value = {$myTSconstant}
        :
    }
}

要么

settings { 
    domain = TEXT
    domain.value = {$myTSconstant}
    :
}

如果要在內容元素的數據字段中使用常量,則可以使用標記並將標記替換為活字,作為呈現的最后一步。

"<p>This is my text and here I use a marker: __MYMARKER__</p>"

相應的打字稿:

page {
    :

    stdWrap.replacement {
         1.search = __MYMARKER__
         1.replace = {$myTSconstant}
    }
}

注意:
總是在花括號內的名稱前使用帶$ TS常量。
不要將其與流體中的可變用法(沒有$ )混淆。

關於您的問題:
正如Riccardo提到的那樣:甚至不要對鏈接使用常量,甚至: 不要手動建立鏈接 如果您確實需要URL中的域,請使用config.absRefPrefix設置(最好是config.baseURL )將其自動化。

我猜您可以使用config.absRefPrefixconfig.baseURL (請參閱https://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/

您可以在TypoScript常量中進行設置:

tx_dti.settings.url = http://myserver

然后在TypoScript安裝程序中:

config.baseURL = {$tx_dti.settings.url}

要么

config.absRefPrefix = {$tx_dti.settings.url}

這足夠了還是我誤解了您的要求?

暫無
暫無

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

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