qwaszx Опубликовано 14 января, 2014 Жалоба Поделиться Опубликовано 14 января, 2014 Может кто подскажет, как сделать в карточке товара, вывод товаров этой же категории автоматически? по аналогии со связанными товарами, только что бы не в админке указывать, а они сами автоматически выводились в случайном порядке? Цитата Ссылка на сообщение Поделиться на другие сайты
pavel_wis Опубликовано 15 января, 2014 Жалоба Поделиться Опубликовано 15 января, 2014 Вам нужно в productView.php передать в шаблон переменную, где буду выбраны товары по категорииНиже строчки$this->design->assign('category', reset($product->categories)); $cat_products=$this->products->get_products(array('category_id'=>$product->categories->id));и передать в шаблон$this->design->assign('cat_products', $cat_products); Могут быть пунктуационные ошибки,пишу просто по памяти Цитата Ссылка на сообщение Поделиться на другие сайты
qwaszx Опубликовано 15 января, 2014 Автор Жалоба Поделиться Опубликовано 15 января, 2014 " и передать в шаблон$this->design->assign('cat_products', $cat_products); " Можно с этого места поподробнее? не совсем понятно, в какой шаблон именно, и в какое место шаблона? Цитата Ссылка на сообщение Поделиться на другие сайты
artbe Опубликовано 17 января, 2014 Жалоба Поделиться Опубликовано 17 января, 2014 Было такое решение на форуме, посмотрите внимательно Цитата Ссылка на сообщение Поделиться на другие сайты
artbe Опубликовано 17 января, 2014 Жалоба Поделиться Опубликовано 17 января, 2014 в view/Product.php после $this->design->assign('related_products', $related_products); } Добавить: else { $products->categories = $this->categories->get_categories(array('product_id'=>$product->id)); $category = reset($products->categories); $related_products = array(); $after = false; $products = $this->products->get_products(array('category_id' => $category->id, 'limit' => 100, 'in_stock'=>1, 'visible'=>1)); foreach($products as $p) { if($after && count($related_products) < 6) $related_products[$p->id] = $p; elseif($p->id == $product->id) $after = true; } if(count($related_products) < 6) foreach($products as $p) if($p->id != $product->id && count($related_products) < 6) $related_products[$p->id] = $p; else break; $related_products_images = $this->products->get_images(array('product_id'=>array_keys($related_products))); foreach($related_products_images as $related_product_image) if(isset($related_products[$related_product_image->product_id])) $related_products[$related_product_image->product_id]->images[] = $related_product_image; $related_products_variants = $this->variants->get_variants(array('product_id'=>array_keys($related_products), 'instock'=>true)); foreach($related_products_variants as $related_product_variant) { if(isset($related_products[$related_product_variant->product_id])) { $related_product_variant->price *= (100-$discount)/100; $related_products[$related_product_variant->product_id]->variants[] = $related_product_variant; } } foreach($related_products as $r) { $r->image = &$r->images[0]; $r->variant = &$r->variants[0]; } $this->design->assign('related_products', $related_products); } Спасибо скажите mart'y! Цитата Ссылка на сообщение Поделиться на другие сайты
qwaszx Опубликовано 19 января, 2014 Автор Жалоба Поделиться Опубликовано 19 января, 2014 СПАИБО тебе и mart'y!!!!!!! Цитата Ссылка на сообщение Поделиться на другие сайты
hrusha Опубликовано 19 января, 2014 Жалоба Поделиться Опубликовано 19 января, 2014 в view/Product.php после $this->design->assign('related_products', $related_products); } Добавить: else { $products->categories = $this->categories->get_categories(array('product_id'=>$product->id)); $category = reset($products->categories); $related_products = array(); $after = false; $products = $this->products->get_products(array('category_id' => $category->id, 'limit' => 100, 'in_stock'=>1, 'visible'=>1)); foreach($products as $p) { if($after && count($related_products) < 6) $related_products[$p->id] = $p; elseif($p->id == $product->id) $after = true; } if(count($related_products) < 6) foreach($products as $p) if($p->id != $product->id && count($related_products) < 6) $related_products[$p->id] = $p; else break; $related_products_images = $this->products->get_images(array('product_id'=>array_keys($related_products))); foreach($related_products_images as $related_product_image) if(isset($related_products[$related_product_image->product_id])) $related_products[$related_product_image->product_id]->images[] = $related_product_image; $related_products_variants = $this->variants->get_variants(array('product_id'=>array_keys($related_products), 'instock'=>true)); foreach($related_products_variants as $related_product_variant) { if(isset($related_products[$related_product_variant->product_id])) { $related_product_variant->price *= (100-$discount)/100; $related_products[$related_product_variant->product_id]->variants[] = $related_product_variant; } } foreach($related_products as $r) { $r->image = &$r->images[0]; $r->variant = &$r->variants[0]; } $this->design->assign('related_products', $related_products); } Спасибо скажите mart'y!Всем спасибо. Очень помогло. Всех с КРЕЩЕНИЕМ. Здоровья, успехов и творчества Цитата Ссылка на сообщение Поделиться на другие сайты
Tarasbulba Опубликовано 10 октября, 2015 Жалоба Поделиться Опубликовано 10 октября, 2015 нифига не работает Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 11 октября, 2015 Жалоба Поделиться Опубликовано 11 октября, 2015 нифига не работает это очень информативно. выдает ошибки? не выводит товары? Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.