第一次来这里,我希望我解释得足够好......
PHP/Smarty,我正在处理页面的一部分,该部分显示与一般页面或该页面上的各个位置相关联的注释的项目符号列表。有些地方没有注释。就像是:
一般的
- 注1
纽约
- 笔记2
- 注3
波士顿
- 注4
我有两个数组分配给我正在使用并由 UI 类填充的 .tpl:$places 和 $notes
$places包含地点对象,每个对象由 place_id 唯一
$notes包含唯一标识的笔记对象,每个对象可能有也可能没有 place_id 作为属性之一
这就是我的想法:
{if (**ANY NOTES EXIST IN $notes WITH NO place_id**)}
<ul id="list-general">
<h4>General</h4>
{foreach from=**[NOTES WITH NO place_id]** item=note}
<li id="note-{$note->get_id()}">$note->get_text()</li>
{/foreach}
</ul>
{else}
<ul id="list-general" class="hide">
<h4>General</h4>
</ul>
{/if}
{foreach from=$places item=place}
{assign var=curr_place_id value=$place->get_id()}
{if (**ANY NOTES EXIST IN $notes WHERE place_id == $curr_place_id**)}
<ul id="list-{$curr_place_id}">
<h4>{$place->get_name()}</h4>
{foreach from=**[NOTES WHERE place_id == $curr_place_id]** item=note}
<li id="note-{$note->get_id()}">$note->get_text()</li>
{/foreach}
</ul>
{else}
<ul id="list-{$curr_place_id}" class="hide">
<h4>{$place->get_name()}</h4>
</ul>
{/if}
{/foreach}
我对这一切都很陌生,而且我很难使用CAPS中的项目......所以,我的问题是:评估两个不同数组中对象属性的最佳方法是什么,以及可能构建仅包含我需要的注释的临时数组。
(如果您想知道,我正在创建隐藏节点,这样我就可以通过 javascript 访问它们而不必担心顺序)