Insane18 Опубликовано 12 мая, 2015 Жалоба Поделиться Опубликовано 12 мая, 2015 Друзья подскажите плиз, нужно чтобы на странице категории продукты выводились группами по брендам, например:Samsung(тут все телефоны в бренда самсунг)Apple(тут все телефоны бренда эпл) и так далее. Есть идеи? Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 12 мая, 2015 Жалоба Поделиться Опубликовано 12 мая, 2015 Готовое вряд ли найдется. Надо просто честно программировать нужный функционал. Если готовы оплачивать - обращайтесь... Цитата Ссылка на сообщение Поделиться на другие сайты
Insane18 Опубликовано 13 мая, 2015 Автор Жалоба Поделиться Опубликовано 13 мая, 2015 Выкладываю решение: 1. В файле /views/ProductsView.php $productsByBrands = array(); foreach($products as $key => $productItem) { if(!isset($productsByBrands[$productItem->brand_id])) { $productsByBrands[$productItem->brand_id] = array( 'id' => $productItem->brand_id, 'name' => $productItem->brand, 'url' => $productItem->brand_url ); } $productsByBrands[$productItem->brand_id]['products'][$key] = $productItem; } $this->design->assign('products', $productsByBrands); 2. Заменить в шаблоне products.tpl, добавляется еще один цикл с брендами: {foreach $products as $productBrand} <div class="brand-title">{$productBrand['name']}</div> {foreach $productBrand['products'] as $product} *тут оставляем вывод продукта как было* {/foreach} {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 13 мая, 2015 Жалоба Поделиться Опубликовано 13 мая, 2015 Если Вам это подходит, то рад за Вас. А как общее решение это никоим образом не годится. Это работает только в простейшей ситуации, когда товаров в категории немного и они все умещаются на одной странице. А при нескольких страницах будет хаос с брендами. И мысль об этом у Вас, вероятно, и не возникала... Цитата Ссылка на сообщение Поделиться на другие сайты
nikolayv Опубликовано 1 марта, 2017 Жалоба Поделиться Опубликовано 1 марта, 2017 Шикарное решение, спасибо! Мне потребовался вывод в разбивке по категориям. Делюсь: ProductsView.php $categories = $this->categories->get_product_categories($products_ids); foreach($categories as $cat) { $products[$cat->product_id]->category = $this->categories->get_category((int)$cat->category_id); $cat_ids[]=$this->categories->get_category((int)$cat->category_id); } $productsByCats = array(); foreach($products as $key => $productItem) { if(!isset($productsByCats[$productItem->category->id])) { $productsByCats[$productItem->category->id] = array( 'id' => $productItem->category->id, 'name' => $productItem->category->name, 'url' => $productItem->category->url ); } $productsByCats[$productItem->category->id]['products'][$key] = $productItem; } $this->design->assign('products', $productsByCats); products.tpl {foreach $products as $productCat} <div class="heading"> <h1><span><a href='catalog/{$productCat['url']}'>{$productCat['name']}</a></span></h1> </div> {foreach $productCat['products'] as $product} *тут оставляем вывод продукта как было* {/foreach} {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.