Добавить условие в foreach
Есть код который обрабатывает массив с элементами
<?php foreach($this->primary as $key=>$item): ?>
<div class="category_item_container">
<?php $this->item = $item;
echo $this->loadTemplate('item');
?>
</div>
<?php endforeach; ?>
В него нужно добваить условие $this->item->created_by == JFactory::getUser()->id , чтобы выводились только те элементы, которые были созданы авторизированным пользователем.
Я попыталась сделать разными способами, в том числе так :
<?php
foreach($this->primary as $key=>$item):
$this->item = $item;
if ($this->item->created_by == JFactory::getUser()->id){
continue;
}
echo $this->loadTemplate('item');
endforeach;
?>
Однако все равно выводятся все элементы массива. Подскажите как нужно сделать, чтобы выводились только те элементы, которые были созданы авторизированным пользователем.
Ответы (2 шт):
Автор решения: lezhni
→ Ссылка
<?php
foreach ($this->primary as $key => $item):
if ($item->created_by !== JFactory::getUser()->id) {
continue;
}
echo $this->loadTemplate('item');
endforeach;
?>
Автор решения: TemirStack
→ Ссылка
Если JFactory::getUser()->id - это ИД авторизованного пользователя.
Почему бы тогда так не написать?
<?php
foreach($this->primary as $key=>$item):
$this->item = $item;
if ($this->item->created_by == JFactory::getUser()->id){
echo $this->loadTemplate('item');
}
endforeach;
?>