Всем привет!
Прошу помочь с решением моей задачи. Есть заголовок страницы товаров, который складывается из названия категории и выбранных атрибутов. Выбранные атрибуты зачастую не совсем логично отображаются. Мне нужно дополнить формулу - добавить условие для каких атрибутов прописать и название атрибута и значение атрибута, а для каких только значение атрибута.
Надеюсь понятно объяснил =)
Этот код делает примерно следующий вид заголовка:
"Категория + Заголовок атрибута 1 (1 значение, 2 значение, ...)", Заголовок атрибута 2 (1 значение, 2 значение, ...)":
Платья Пол (Для женщин), Застежка (С пуговицами)
protected function formatAttributes($attributes)
{
$attributeStrings = [];
/** @var FilterInterface $attribute */
foreach ($attributes as $attribute) {
$attribute->init();
$items = $attribute->getActiveItems();
$names = array_column($items, 'title');
if (count($names)) {
$attributeStrings[] = $attribute->getLabel() . ' (' . implode(', ', $names) . ')';
}
}
return implode(', ', $attributeStrings);
}
Мне нужен такой вид:
Платья для женщин с пуговицами
Я заметил, что если "getLabel" заменить на "init", то моя задача решается. Но тут подвох - не для всех атрибутов мне нужно удалить заголовки атрибута.
В итоге код должен быть примерно таким:
Если атрибут = Пол или Застежка, то не выводить заголовки атрибута, в остальных случаях выводить.
Можете подсказать, Что-то я совсем не догоняю.