[英]Typoscript if/else best practise
仍然有我和這個打字稿...
如果存在應過濾的XML,則在項目常量中可能定義了companyId。
[$plugin.xml_path.companyId = '']
plugin.xml_xpath.conf.xpath.path = /jobs/job/company
[else]
plugin.xml_xpath.conf.xpath.path = /jobs/job/company[@id={$plugin.xml_path.companyId}]
[global]
只要定義了ID,此代碼就起作用,如果未定義ID,則僅獲得帶有標記的輸出。
該公司大約有10個子公司,這些公司僅應顯示與其相關的工作。 但是,在母公司頁面(未提供ID常量)上,應列出所有作業。 每個工作都與1個子公司相關。
我已經閱讀了有關stdWrap.ifEmpty
但我不知道這對我的處境有何幫助?
有人可以指出我正確的方向嗎?
如果不需要, if
可以在一個小的XPath表達式中完成所有操作。
/jobs/job/company[@id={$plugin.xml_path.companyId} or @id="" or not(@id)]
說明:
@id={$plugin.xml_path.companyId}
查找具有匹配ID的公司 @id=""
查找ID為空的公司 not(@id)
尋找沒有ID的公司 我不確定2和3,所以我將兩者都包括在內。 根據需要刪除。
更新到更多指定的問題:
這也很容易做到。
/jobs/job/company[{$plugin.xml_path.companyId}="" or @id={$plugin.xml_path.companyId}]
請嘗試以下打字稿:
plugin.xml_xpath.conf.xpath.path = /jobs/job/company[@id={$plugin.xml_path.companyId}]
[globalVar = LIT: {$plugin.xml_xpath.conf.xpath.path} = ]
plugin.xml_xpath.conf.xpath.path = /jobs/job/company
[end]
如果“ plugin.xml_xpath.conf.xpath.path”為空,則路徑將替換為“ / jobs / job / company”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.