mira Опубликовано 24 ноября, 2011 Жалоба Поделиться Опубликовано 24 ноября, 2011 Добрый день!Подскажите, пожалуйста, каким образом можно вывести в корзине одно из свойств товара (например, цвет). Заранее спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 24 ноября, 2011 Жалоба Поделиться Опубликовано 24 ноября, 2011 Указывайте версию симплы иначе никто вам не поможет! Цитата Ссылка на сообщение Поделиться на другие сайты
mira Опубликовано 24 ноября, 2011 Автор Жалоба Поделиться Опубликовано 24 ноября, 2011 1.4 Цитата Ссылка на сообщение Поделиться на другие сайты
yakutec Опубликовано 27 октября, 2013 Жалоба Поделиться Опубликовано 27 октября, 2013 Для версии 2.2.4правим файл /docs/api/Cart.php $images = $this->products->get_images(array('product_id'=>$products_ids)); foreach($images as $image) $products[$image->product_id]->images[$image->id] = $image; $features = $this->features->get_options(array('product_id'=>$products_ids)); foreach($features as $feature) $products[$feature->product_id]->features[$feature->feature_id] = $feature; foreach($items as $variant_id=>$item) *жирным выделен кусок кода, кода, который нужно добавить.в шаблоне у товара появилось свойство features, которое содержит свойства товара. Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 8 декабря, 2013 Жалоба Поделиться Опубликовано 8 декабря, 2013 а как это же вывести еще и в order.tpl, подскажите плизз, для 2.1.5 Цитата Ссылка на сообщение Поделиться на другие сайты
Виталий Анатольевич Опубликовано 8 декабря, 2013 Жалоба Поделиться Опубликовано 8 декабря, 2013 $features = $this->features->get_options(array('product_id'=>$products_ids)); foreach($purchases as &$purchase) $products[$feature->product_id]->features[$feature->feature_id] = $feature; после foreach($variants as $variant) $products[$variant->product_id]->variants[] = $variant; Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 8 декабря, 2013 Жалоба Поделиться Опубликовано 8 декабря, 2013 а код этот запихивать в /api/orders.php? потому что там я не нашел : foreach($variants as $variant) $products[$variant->product_id]->variants[] = $variant; а в Cart.php у меня есть только (закомментированы строки свойств для корзины): foreach($variants as $variant) { $items[$variant->id] = new stdClass(); $items[$variant->id]->variant = $variant; $items[$variant->id]->amount = $session_items[$variant->id]; $products_ids[] = $variant->product_id; } $products = array(); foreach($this->products->get_products(array('id'=>$products_ids)) as $p) $products[$p->id]=$p; $images = $this->products->get_images(array('product_id'=>$products_ids)); foreach($images as $image) $products[$image->product_id]->images[$image->id] = $image; // Свойства // $features = $this->features->get_product_options($products_ids); // foreach($features as &$feature) // { // $products[$feature->product_id]->features[] = $feature; // } Цитата Ссылка на сообщение Поделиться на другие сайты
Виталий Анатольевич Опубликовано 8 декабря, 2013 Жалоба Поделиться Опубликовано 8 декабря, 2013 в OrderView.php примерно 91 строка Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 8 декабря, 2013 Жалоба Поделиться Опубликовано 8 декабря, 2013 Спасибо, а теперь добавляю в ордер.тпл: {foreach $purchase->product->features as $f} <li> <label>{$f->name}</label> <span>{$f->value}</span> </li> {/foreach} но ничего не происходит. может не то добавляю? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 8 декабря, 2013 Жалоба Поделиться Опубликовано 8 декабря, 2013 А если так: {foreach $purchase->features as $f} Цитата Ссылка на сообщение Поделиться на другие сайты
Виталий Анатольевич Опубликовано 8 декабря, 2013 Жалоба Поделиться Опубликовано 8 декабря, 2013 прошу прощения... ошибочка в моих строках $features = $this->features->get_product_options($products_ids); foreach($features as &$feature) $products[$feature->product_id]->features[$feature->feature_id] = $feature; Цитата Ссылка на сообщение Поделиться на другие сайты
Snegovik Опубликовано 5 ноября, 2014 Жалоба Поделиться Опубликовано 5 ноября, 2014 Версия simpla 2.3.3 Задача стояла вывести в корзине свойство товара(только свойство, без имени свойства). Почему-то в файле /api/Features.php в функции get_options вручную была прописана группировка результатов, игнорируя переменную $group_by. /api/Features.php: закомментировать if(isset($filter['feature_id'])) $group_by = 'GROUP BY feature_id, value'; после if(isset($filter['features'])) foreach($filter['features'] as $feature=>$value) { $features_filter .= $this->db->placehold('AND (po.feature_id=? OR po.product_id in (SELECT product_id FROM __options WHERE feature_id=? AND value=? )) ', $feature, $feature, $value); } вставляем if(isset($filter['count'])){ $count_product_id =''; } else $count_product_id = ', count(po.product_id) as count'; В этом же фале меняем $query = $this->db->placehold("SELECT po.product_id, po.feature_id, po.value, count(po.product_id) as count FROM __options po $visible_filter $category_id_filter WHERE 1 $feature_id_filter $product_id_filter $brand_id_filter $features_filter GROUP BY po.feature_id, po.value ORDER BY value=0, -value DESC, value");на $query = $this->db->placehold("SELECT po.product_id, po.feature_id, po.value $count_product_id FROM __options po $visible_filter $category_id_filter WHERE 1 $feature_id_filter $product_id_filter $brand_id_filter $features_filter $group_by ORDER BY value=0, -value DESC, value");/api/Cart.php: После $images = $this->products->get_images(array('product_id'=>$products_ids)); foreach($images as $image) $products[$image->product_id]->images[$image->id] = $image; вставить $features = $this->features->get_options(array('product_id'=>$products_ids, 'feature_id'=>'ид свойства', 'count'=>'false')); foreach($features as $feature) $products[$feature->product_id]->features[$feature->feature_id] = $feature; если в параметрах функции get_options не указывать 'feature_id', тогда она вернет массив всех свойств. Ну и вывод в cart.tpl {foreach $purchase->product->features as $f} <span>{$f->value}</span> {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
xsepa Опубликовано 13 мая, 2016 Жалоба Поделиться Опубликовано 13 мая, 2016 (изменено) Версия simpla 2.3.3 Задача стояла вывести в корзине свойство товара(только свойство, без имени свойства). Почему-то в файле /api/Features.php в функции get_options вручную была прописана группировка результатов, игнорируя переменную $group_by. /api/Features.php: закомментировать if(isset($filter['feature_id'])) $group_by = 'GROUP BY feature_id, value'; после if(isset($filter['features'])) foreach($filter['features'] as $feature=>$value) { $features_filter .= $this->db->placehold('AND (po.feature_id=? OR po.product_id in (SELECT product_id FROM __options WHERE feature_id=? AND value=? )) ', $feature, $feature, $value); } вставляем if(isset($filter['count'])){ $count_product_id =''; } else $count_product_id = ', count(po.product_id) as count'; В этом же фале меняем $query = $this->db->placehold("SELECT po.product_id, po.feature_id, po.value, count(po.product_id) as count FROM __options po $visible_filter $category_id_filter WHERE 1 $feature_id_filter $product_id_filter $brand_id_filter $features_filter GROUP BY po.feature_id, po.value ORDER BY value=0, -value DESC, value");на $query = $this->db->placehold("SELECT po.product_id, po.feature_id, po.value $count_product_id FROM __options po $visible_filter $category_id_filter WHERE 1 $feature_id_filter $product_id_filter $brand_id_filter $features_filter $group_by ORDER BY value=0, -value DESC, value");/api/Cart.php: После $images = $this->products->get_images(array('product_id'=>$products_ids)); foreach($images as $image) $products[$image->product_id]->images[$image->id] = $image; вставить $features = $this->features->get_options(array('product_id'=>$products_ids, 'feature_id'=>'ид свойства', 'count'=>'false')); foreach($features as $feature) $products[$feature->product_id]->features[$feature->feature_id] = $feature; если в параметрах функции get_options не указывать 'feature_id', тогда она вернет массив всех свойств. Ну и вывод в cart.tpl {foreach $purchase->product->features as $f} <span>{$f->value}</span> {/foreach} пробую в версии 2.3.7 - не работает - может сталкивались? - а нет, все работает!! - руки Изменено 13 мая, 2016 пользователем xsepa Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.