lihach Опубликовано 24 ноября, 2018 Жалоба Поделиться Опубликовано 24 ноября, 2018 (изменено) Доброго времени суток, уважаемые форумчане. На одном форуме нашел интересную вещь. Логика заключается в том, что мы выбираем весь товары из категории (в скрипте есть ограничение в 100, если уВас больше — увеличьте на предполагаемых длину). Скрипт выбирает связанный товар (6 штук), которые идутпосле данного товара. При достижении конца списка скрипт добирает нехватку из начала списка. Таким образомсписок связанных товар фиксированный до тех пока не внесут изменения в каталог.Итак, открываем файл view/ProductView.php и в районе 144 строки находим код$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);} // end: генерируемые связанные товары Но происходит ошибка в строке выделенной красным.КАК ИСПРАВИТЬ??? Изменено 24 ноября, 2018 пользователем lihach Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 24 ноября, 2018 Жалоба Поделиться Опубликовано 24 ноября, 2018 (изменено) КАК ИСПРАВИТЬ??? Для начала найдите все дефисы в операторах -> ваша красная строчка должна выглядеть как-то так $products->categories = $this->categories->get_categories(array('product_id'=>$product->id)); Изменено 24 ноября, 2018 пользователем chocolate_moles Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.