还有我和这个Typoscript ......
可能是Project常量中定义的companyId,如果有XML应该过滤到它。
[$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,此代码就可以工作,如果没有定义,我只得到一个带有标记的输出。
公司有大约10家儿童公司,只能展示与他们相关的工作。但是在Mothercompany的页面上(没有给出ID常量),应列出所有工作。每份工作都与一家儿童公司有关。
我已经阅读了stdWrap.ifEmpty
,但我不知道这对我的情况有何帮助?
有人能指出我正确的方向吗?
答案 0 :(得分:0)
您不需要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)
寻找没有身份证明的公司我不确定2和3,所以我把两者都包括在内。随意删除。
更新为更具体的问题:
这也很容易做到。
/jobs/job/company[{$plugin.xml_path.companyId}="" or @id={$plugin.xml_path.companyId}]
答案 1 :(得分:0)
请尝试下面的错别字:
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”。