Скажем, у меня есть массив данных, который я хочу, чтобы отобразить в виде списка:Templating: каков наилучший способ отображения списка элементов с разделителями?
$goods = [
['title' => 'First item', 'description' => 'First item description'],
['title' => 'Second item', 'description' => 'Second item description'],
['title' => 'Third item', 'description' => 'Third item description']
];
И следующий вид:
<div class="good-block">
<h1>{{ $good['title'] }}</h1>
<p>{{ $good['description'] }}</p>
</div>
Теперь я хочу, чтобы отобразить все элементы с помощью <hr>
как разделитель.
Поэтому окончательный вид выглядит следующим образом:
@foreach ($goods as $good)
<div class="good-block">
<h1>{{ $good['title'] }}</h1>
<p>{{ $good['description'] }}</p>
</div>
<hr />
@endforeach
Проблема заключается в том, что, очевидно, сепаратор будет отображаться после последнего элемента, а не только между элементами. В случае простых массивов implode
может использоваться как инструмент для сращивания.
Но как использовать этот подход в файлах шаблонов? Есть ли другой подход, позволяющий сохранить код чистым и логичным, не добавляя ненужные условия, такие как проверка текущего элемента не является последним элементом массива?
Спасибо!
Если вы не хотите, чтобы PHP обрабатывал это, вы могли бы использовать 'CSS' для установки свойства' display' последнего '.good-block''
'element to' none; ', что-то вроде' .good-block: last-child> hr {display: none; } '(' CSS' люди не стесняются исправить это) –