redscotina Опубликовано 19 мая, 2016 Жалоба Поделиться Опубликовано 19 мая, 2016 (изменено) Здравствуйте.Как сделать в корзине вывод двух цен одного товара, показать текущую по которой покупает клиент и самую первую Изменено 19 мая, 2016 пользователем redscotina Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 19 мая, 2016 Жалоба Поделиться Опубликовано 19 мая, 2016 (изменено) что такое самая первая цена? вы о старой цене варианта? Изменено 19 мая, 2016 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
redscotina Опубликовано 19 мая, 2016 Автор Жалоба Поделиться Опубликовано 19 мая, 2016 что такое самая первая цена? вы о старой цене варианта? Есть несколько вариантов цен, мне параллельно, в текущей что выбрал пользователь нужно выводить еще другую цену от другого варианта товара Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 19 мая, 2016 Жалоба Поделиться Опубликовано 19 мая, 2016 Сначала надо разобраться ТОЧНО в том, что надо: цену от КАКОГО именно другого варианта надо вывести.Возможно, Вы хотите выводить в корзине дополнительно цену первого по порядку варианта.Если так, то готового значения в шаблоне для этого нет. Надо сначала программировать нужное в PHP, и потом уже выводить в шаблоне... Цитата Ссылка на сообщение Поделиться на другие сайты
redscotina Опубликовано 19 мая, 2016 Автор Жалоба Поделиться Опубликовано 19 мая, 2016 (изменено) Сначала надо разобраться ТОЧНО в том, что надо: цену от КАКОГО именно другого варианта надо вывести.Возможно, Вы хотите выводить в корзине дополнительно цену первого по порядку варианта.Если так, то готового значения в шаблоне для этого нет. Надо сначала программировать нужное в PHP, и потом уже выводить в шаблоне...Точно цену первого варианта того же товара. Конструкция: {$purchase->product->variant[1]->price|convert} не работает! ЧЯДНТ? Изменено 19 мая, 2016 пользователем redscotina Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 19 мая, 2016 Жалоба Поделиться Опубликовано 19 мая, 2016 Точно цену первого варианта того же товара. Конструкция: {$purchase->product->variant[1]->price|convert} не работает! ЧЯДНТ? для товара в корзине не выбираются все его варианты а только тот что был добавлен в корзину.вам нужно еще отдельно выбирать для каждого товара варианты, в api/Cart.php Цитата Ссылка на сообщение Поделиться на другие сайты
redscotina Опубликовано 20 мая, 2016 Автор Жалоба Поделиться Опубликовано 20 мая, 2016 То есть насколько я понял: foreach($items as $variant_id=>$item) { $purchase = null; if(!empty($products[$item->variant->product_id])) { $purchase = new stdClass(); $purchase->product = $products[$item->variant->product_id]; $purchase->variant = $item->variant; $purchase->amount = $item->amount; $cart->purchases[] = $purchase; $cart->total_price += $item->variant->price*$item->amount; $cart->total_products += $item->amount; } } То есть сюда надо добавить код: $purchase->variant[1] = $item->variant[1]; Что то вроде этого? Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 20 мая, 2016 Жалоба Поделиться Опубликовано 20 мая, 2016 Нет. А добавлять и изменять желательно с пониманием, а не просто тыком... Надо смотреть в других местах, как реализован выбор из базы всех вариантов товара (например в ProductView.php или ProductsView.php) и действовать по аналогии... И опять же желательно хоть с минимальным пониманием... Если не выйдет, ждите, когда кто-то из знатоков напишет решение. Иногда mishanya бесплатно выкладывает решение подобных задач. Если не дождетесь, то пробуйте соблазнить знатоков денежкой... Цитата Ссылка на сообщение Поделиться на другие сайты
Решение mishanya Опубликовано 20 мая, 2016 Решение Жалоба Поделиться Опубликовано 20 мая, 2016 То есть насколько я понял: foreach($items as $variant_id=>$item) { $purchase = null; if(!empty($products[$item->variant->product_id])) { $purchase = new stdClass(); $purchase->product = $products[$item->variant->product_id]; $purchase->variant = $item->variant; $purchase->amount = $item->amount; $cart->purchases[] = $purchase; $cart->total_price += $item->variant->price*$item->amount; $cart->total_products += $item->amount; } } То есть сюда надо добавить код: $purchase->variant[1] = $item->variant[1]; Что то вроде этого? что-то вроде.. НЕТ. добавите перед foreach($items as $variant_id=>$item) следующее $all_variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'in_stock'=>true)); foreach( $all_variants as $vs) $products[$vs->product_id]->variants[] = $vs; тогда будут доступны все варианты в массиве {$purchase->product->variants} Цитата Ссылка на сообщение Поделиться на другие сайты
redscotina Опубликовано 20 мая, 2016 Автор Жалоба Поделиться Опубликовано 20 мая, 2016 что-то вроде.. НЕТ. добавите перед foreach($items as $variant_id=>$item) следующее $all_variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'in_stock'=>true)); foreach( $all_variants as $vs) $products[$vs->product_id]->variants[] = $vs; тогда будут доступны все варианты в массиве {$purchase->product->variants} Окей воткнул код в /api/Cart.php Однако конструкция в /design/*/html/cart.tpl {$purchase->product->variants->variant[1]->price|convert} Все равно отдает 0 ЧЯДНТ? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 20 мая, 2016 Жалоба Поделиться Опубликовано 20 мая, 2016 (изменено) Окей воткнул код в /api/Cart.php Однако конструкция в /design/*/html/cart.tpl {$purchase->product->variants->variant[1]->price|convert} Все равно отдает 0 ЧЯДНТ? потому что нет такой переменной $purchase->product->variants->variant. есть массив вариантов $purchase->product->variants, и нужно обращаться к нему. и нумерация элементов в массиве в данном случае начинается с 0 а не с 1. элемента с первым номером может и не быть если у товара только один вариант Изменено 20 мая, 2016 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
redscotina Опубликовано 20 мая, 2016 Автор Жалоба Поделиться Опубликовано 20 мая, 2016 потому что нет такой переменной $purchase->product->variants->variant. есть массив вариантов $purchase->product->variants, и нужно обращаться к нему.Поясните пожалуйста, как правильно извлечь цену первого варианта в шаблон? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 20 мая, 2016 Жалоба Поделиться Опубликовано 20 мая, 2016 (изменено) Поясните пожалуйста, как правильно извлечь цену первого варианта в шаблон? нууу {$purchase->product->variants[0]->price|convert} Изменено 20 мая, 2016 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
redscotina Опубликовано 20 мая, 2016 Автор Жалоба Поделиться Опубликовано 20 мая, 2016 нууу {$purchase->product->variants[0]->price|convert} Спасибо большое, не догадался что [0] являеться первым значением, писал [1], надо записать себе на будущее Покорнейше благодарю, проблема решена Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 21 мая, 2016 Жалоба Поделиться Опубликовано 21 мая, 2016 Решение, которое представил здесь mishanya, выглядит простым, легким и аккуратным.На самом же деле оно содержит принципиально важную технологическую ошибку.Автор об этом, видимо, не только не знает, но и знать не хочет. Ибо подобная принципиальная ошибка у него былаhttp://forum.simplacms.ru/topic/11391-%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B-%D0%B2-%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B5/А на намек в той теме он не среагировал. Забавно, что и прочие спецы не замечают такого... Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 21 мая, 2016 Жалоба Поделиться Опубликовано 21 мая, 2016 Решение, которое представил здесь mishanya, выглядит простым, легким и аккуратным.На самом же деле оно содержит принципиально важную технологическую ошибку.Автор об этом, видимо, не только не знает, но и знать не хочет. Ибо подобная принципиальная ошибка у него былаhttp://forum.simplacms.ru/topic/11391-%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B-%D0%B2-%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B5/А на намек в той теме он не среагировал. Забавно, что и прочие спецы не замечают такого... я намеками не работаю, у меня к сожалению нет столько свободного времени чтобы искать по намекам ошибку. я ее не вижу. но если вы укажите что за ошибка я ее исправлю. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 21 мая, 2016 Жалоба Поделиться Опубликовано 21 мая, 2016 я намеками не работаю, у меня к сожалению нет столько свободного времени чтобы искать по намекам ошибку. я ее не вижу. но если вы укажите что за ошибка я ее исправлю. Вот и я о том же - Вы как увидите задачу, которую вроде бы знаете как решать, сразу кидаетесь код писать. Времени не хватает - пишете скорей-скорей. Задуматься о чем-то более серьезном, кроме комбинаций циклов и условных операторов, Вам недосуг. В результате - формально работает, но качество неважнецкое. Времени на выкладывание дефектных решений хватает, стало быть... В таком силе можно работать с отдельным заказчиком - когда Ваша нерациональность будет на одном сайте в единственном числе - не сильно заметно.А Вы-то пишете на форуме публично - тут такая небрежность выглядит по меньшей мере странной. А выкладывать на форуме на публику надо бы с большей ответственностью... А я работаю намеками, и коллеги, с которыми имею дело, в подавляюшем большинстве случаев над этими намеками задумываются и их быстро распознают. Посколько все прекрасно понимают, что неформально это вопрос престижа и профессионализма... Дам еще намек.В указанной выше теме про связанные в корзине у Вас та же принципиальная ошибка. В той теме стоял вопрос о выводе связанных на странице корзины. Этот функционал можно видеть в более ранних версиях (по крайней мере 2.2.4), но в закомментированном виде. Попробуйте сравнить свой подход к решению задачи и подход автора Simpla. На первый взгляд разницы почти нет. А если чуть задуматься, то все становится иначе... Цитата Ссылка на сообщение Поделиться на другие сайты
torry Опубликовано 21 мая, 2016 Жалоба Поделиться Опубликовано 21 мая, 2016 (изменено) Вот и я о том же - Вы как увидите задачу, которую вроде бы знаете как решать, сразу кидаетесь код писать. Времени не хватает - пишете скорей-скорей. Задуматься о чем-то более серьезном, кроме комбинаций циклов и условных операторов, Вам недосуг. В результате - формально работает, но качество неважнецкое. Времени на выкладывание дефектных решений хватает, стало быть... В таком силе можно работать с отдельным заказчиком - когда Ваша нерациональность будет на одном сайте в единственном числе - не сильно заметно.А Вы-то пишете на форуме публично - тут такая небрежность выглядит по меньшей мере странной. А выкладывать на форуме на публику надо бы с большей ответственностью... А я работаю намеками, и коллеги, с которыми имею дело, в подавляюшем большинстве случаев над этими намеками задумываются и их быстро распознают. Посколько все прекрасно понимают, что неформально это вопрос престижа и профессионализма... Дам еще намек.В указанной выше теме про связанные в корзине у Вас та же принципиальная ошибка. В той теме стоял вопрос о выводе связанных на странице корзины. Этот функционал можно видеть в более ранних версиях (по крайней мере 2.2.4), но в закомментированном виде. Попробуйте сравнить свой подход к решению задачи и подход автора Simpla. На первый взгляд разницы почти нет. А если чуть задуматься, то все становится иначе... Изменено 21 мая, 2016 пользователем torry Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.