Первый таймер, надеюсь, я объясню это достаточно хорошо ...
PHP / Smarty, я работаю над разделом страницы, в котором отображаются маркированные списки заметок, связанных либо с общей страницей, либо с отдельными местами на этой странице. В некоторых местах нет заметок. Что-то вроде:
Общее
Нью-Йорк
- примечание 2
- примечание 3
Boston
У меня есть два массива, назначенных для .tpl, с которыми я работаю, и заполненных классом пользовательского интерфейса: $ place и $ notes
$ place содержит объекты объектов, каждый из которых уникален по 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 и не беспокоиться о порядке)