使用Expression Engine我需要在作业页面上显示其他可用作业。工作是合同或永久性的,在工作页面上我只需要显示相同类型的其他工作。
以下打印所有其他作业及其类型:
{exp:channel:entries channel="jobs" dynamic="no"}
<p>{title}
{job_type}</p>
{/exp:channel:entries}
这将仅打印所有联系人作业:
{exp:channel:entries channel="jobs" search:job_type="Contract" dynamic="no"}
<p>{title}
{job_type}</p>
{/exp:channel:entries}
因此,我尝试使用{job_type}字段来优化搜索结果。但是有了以下内容我根本得不到任何结果:
{exp:channel:entries channel="jobs" search:job_type="{job_type}" dynamic="no"}
<p>{title}
{job_type}</p>
{/exp:channel:entries}
有人说我需要使用PHP标签,所以我尝试了以下内容,但它返回了所有结果:
{exp:channel:entries channel="jobs" search:job_type="<?=$this->EE->input->get('job_type')?>" dynamic="no"}
<p>{title}
{job_type}</p>
{/exp:channel:entries}
我如何实现我的需要?我是EE的新手,但我认为这会是一些标准的东西?
注意,URL结构不允许我使用网址段来过滤结果。 谢谢
答案 0 :(得分:0)
您无法嵌套{exp:channel:entries}
标记,因为它会导致可变冲突。您需要使用embedded template,并将{job_type}
值传递给该模板。
所以在你的主{exp:channel:entries}
循环中:
{embed="embeds/more_jobs" job_type="{job_type}"}
然后您的 embeds / job_type 模板如下所示:
{exp:channel:entries channel="jobs" search:job_type="{embed:job_type}" dynamic="no"}
<p>{title}
{job_type}</p>
{/exp:channel:entries}