Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表达式引擎-关于类别条目的帮助_Php_Html_Variables_Expressionengine - Fatal编程技术网

Php 表达式引擎-关于类别条目的帮助

Php 表达式引擎-关于类别条目的帮助,php,html,variables,expressionengine,Php,Html,Variables,Expressionengine,好的,我已经为客户设置了添加项目的通道。它的工作方式很简单: 我有一个类别页面,显示所选类别中的所有项目 然后我有一个title_permalink页面显示一个项目,在这个页面上有6个来自该类别的最新相关项目,每个项目都链接到一个项目/视图页面。在这个页面上,它显示了项目,同样的,还有6个最新的相关项目 我需要将最近的6个相关项目更改为6个以前的项目(从类别中),具体取决于选择了哪个项目?例如,我有20个按输入日期排序的项目,我点击数字11,它是在周五09:30输入的。我需要查看页面显示之前的6

好的,我已经为客户设置了添加项目的通道。它的工作方式很简单:

我有一个类别页面,显示所选类别中的所有项目

然后我有一个title_permalink页面显示一个项目,在这个页面上有6个来自该类别的最新相关项目,每个项目都链接到一个项目/视图页面。在这个页面上,它显示了项目,同样的,还有6个最新的相关项目

我需要将最近的6个相关项目更改为6个以前的项目(从类别中),具体取决于选择了哪个项目?例如,我有20个按输入日期排序的项目,我点击数字11,它是在周五09:30输入的。我需要查看页面显示之前的6个项目(按日期和时间),具体取决于您所在的项目页面

我到处寻找,但没有找到任何帮助。我不是要别人给我答案。我只需要指出正确的方向,找到正确的解决方案

我的项目(title_permalink)页面的代码为:


{exp:channel:entries channel=“project”}
{exp:imgsizer:size src=“{project_image}”width=“980px”height=“450px”}
{/exp:imgsizer:size}
{title}

客户端:{project\u Client}–价值:{project_Value}–持续时间:{project_Duration}周–建筑师:{项目建筑师}

{categories}{/categories}

{/exp:channel:entries}
    {exp:channel:entries start_on=“{entry_date format=“%Y-%m-%d%H:%i”}”channel=“project”limit=“6”category\u group=“1”related\u categories\u mode=“yes”custom\u fields=“yes”}
  • {exp:imgsizer:size src=“{project_image}”height=“68px”width=“137px”} {/exp:imgsizer:size}
  • {/exp:channel:entries}

谢谢你的帮助

频道标签有一个名为start_on=[DATE]的参数。我建议您从您希望在之前提取条目的项目中获取条目日期,然后在相关条目标记中使用该日期。注意,您正在使用一个变量
{exp:channel:entries}
来填充另一个channel:entries标记,这样它将始终拉取您想要的项目,而不是硬编码它

{exp:channel:entries} // This tag gets your single project data
//output your project details here
{exp:channel:entries start_on="{entry_date format="%Y-%m-%d %H:%i"}" channel="project" limit="6" category_group="1" related_categories_mode="yes" custom_fields="yes"} // this tag grabs the last six projects relative to the single project being displayed
{make your links to the projects here}
{/exp:channel:entries}
{/exp:channel:entries}

您需要使用YYYY-MM-DD HH:MM格式,如上所述。

频道标签有一个名为start_on=[DATE]的参数。我建议您从您希望在之前提取条目的项目中获取条目日期,然后在相关条目标记中使用该日期。注意,您正在使用一个变量
{exp:channel:entries}
来填充另一个channel:entries标记,这样它将始终拉取您想要的项目,而不是硬编码它

{exp:channel:entries} // This tag gets your single project data
//output your project details here
{exp:channel:entries start_on="{entry_date format="%Y-%m-%d %H:%i"}" channel="project" limit="6" category_group="1" related_categories_mode="yes" custom_fields="yes"} // this tag grabs the last six projects relative to the single project being displayed
{make your links to the projects here}
{/exp:channel:entries}
{/exp:channel:entries}

您需要使用YYYY-MM-DD HH:MM格式,如上所述。

Dan回答中的一个缺陷是他嵌套了两个channel:entries标签。这可能导致灾难。您需要嵌入“相关”模板。另外,我认为您希望在之前停止,而不是在上开始。请尝试此修改后的代码:

<div id="projectView">
{exp:channel:entries channel="project"}
    {exp:imgsizer:size src="{project_image}" width="980px" height="450px"}
<img src="{sized}" width="{width}" height="{height}"/>
{/exp:imgsizer:size}
<div id="projectView_overlay"></div>
<div id="projectView_content">
    <h3>{title}</h3>
    <p class="projectView_floatLeft"><b>Client:</b> {project_client} &ndash; <b>Value:</b> £{project_value} &ndash; <b>Duration:</b> {project_duration} weeks &ndash; <b>Architect:</b> {project_architect}</p>
<p class="projectView_floatRight" style="color:#fff; font-size: 12.5px; font-weight:bold; margin-bottom: 5px;">{categories}<a href="{path='projects/list'}" style="color:#fff;"><< Back to<br />{category_name}</a>{/categories}</p>
</div>

<br style="clear:both"/>
</div><!--END PROJECT VIEW-->

{embed="projects/related" stop_before="{entry_date format="%Y-%m-%d %H:%i"}"}
{/exp:channel:entries}

Dan回答中的一个缺陷是他嵌套了两个通道:entries标签。这可能导致灾难。您需要嵌入“相关”模板。另外,我认为您希望在之前停止,而不是在上开始。请尝试此修改后的代码:

<div id="projectView">
{exp:channel:entries channel="project"}
    {exp:imgsizer:size src="{project_image}" width="980px" height="450px"}
<img src="{sized}" width="{width}" height="{height}"/>
{/exp:imgsizer:size}
<div id="projectView_overlay"></div>
<div id="projectView_content">
    <h3>{title}</h3>
    <p class="projectView_floatLeft"><b>Client:</b> {project_client} &ndash; <b>Value:</b> £{project_value} &ndash; <b>Duration:</b> {project_duration} weeks &ndash; <b>Architect:</b> {project_architect}</p>
<p class="projectView_floatRight" style="color:#fff; font-size: 12.5px; font-weight:bold; margin-bottom: 5px;">{categories}<a href="{path='projects/list'}" style="color:#fff;"><< Back to<br />{category_name}</a>{/categories}</p>
</div>

<br style="clear:both"/>
</div><!--END PROJECT VIEW-->

{embed="projects/related" stop_before="{entry_date format="%Y-%m-%d %H:%i"}"}
{/exp:channel:entries}

您好,谢谢您的帮助,但不幸的是,这不起作用,因为我不知道他们将点击哪个项目。我需要它来提取前6个项目,具体取决于他们单击的项目。@John Stant-将代码放在项目页面上,而不是包含项目列表的页面上。对不起,你指的是哪一页?是:项目列表类别页面还是实际的项目标题页面?我在title\u permalink页面上尝试了它,但什么也没发生。@John Stant-在projects/view模板上。你需要完成我给你的代码,它自己不会做任何事情。我会编辑一点代码。你给出的代码只允许我自己指定一个日期,这意味着我在每个项目/视图页面上仍然有相同的6个项目。我需要6个以前的项目依赖于一个被点击,所以他们将改变每次用户点击不同的项目。嗨,谢谢你的帮助,但这不会工作,不幸的是,我不知道他们将点击到什么项目。我需要它来提取前6个项目,具体取决于他们单击的项目。@John Stant-将代码放在项目页面上,而不是包含项目列表的页面上。对不起,你指的是哪一页?是:项目列表类别页面还是实际的项目标题页面?我在title\u permalink页面上尝试了它,但什么也没发生。@John Stant-在projects/view模板上。你需要完成我给你的代码,它自己不会做任何事情。我会编辑一点代码。你给出的代码只允许我自己指定一个日期,这意味着我在每个项目/视图页面上仍然有相同的6个项目。我需要6个以前的项目依赖于一个被点击,所以他们将改变每次用户点击不同的项目。工程像一个魅力!!我对你感激不尽。非常感谢丹,他也曾尽力帮助过我。我能问一下吗,为什么要先停下来?我说的对吗?通过使用stop_before=“{entry_date format=“%Y-%m-%d%H:%I”}它获取当前项目日期之前的所有项目,然后在当前项目上停止?您的假设是正确的。因为默认的“orderby”是“date”,默认的“sort”是“desc”,它从“stop_before”向后看“约会,这正是你要找的。很有魅力!!我对你感激不尽。非常感谢丹,他也曾尽力帮助过我。我能问一下吗,为什么要先停下来?我说的对吗?通过使用stop_before=“{entry_date format=“%Y-%m-%d%H:%I”}它可以获取之前的所有项目