n1c Posted February 16, 2016 Report Share Posted February 16, 2016 Добрый день друзья!Подскажите, пожалуйста, как вывести amount (количество) и price (цену) возле номера заказа в ЛК?Чтобы получилось так: Ваш заказ №1 (3шт, по 100$);Ваш заказ №2 (1шт, по 300$); Quote Link to post Share on other sites
Kniazdiit Posted February 16, 2016 Report Share Posted February 16, 2016 Что-то типа такого? https://yadi.sk/i/GausVT-movx5f Quote Link to post Share on other sites
n1c Posted February 16, 2016 Author Report Share Posted February 16, 2016 Что-то типа такого? https://yadi.sk/i/GausVT-movx5f да, только в личном кабинете пользователя. и без каких либо скриптов)) просто цифры) Quote Link to post Share on other sites
Kors Posted February 16, 2016 Report Share Posted February 16, 2016 да, только в личном кабинете пользователя. и без каких либо скриптов)) просто цифры) Сомнительно, что кто Вам подскажет, как это сделать без скриптов...То есть надо по щучьему велению, по Вашему хотению.Тогда Вам к проруби... Добрый день друзья!Подскажите, пожалуйста, как вывести amount (количество) и price (цену) возле номера заказа в ЛК?Чтобы получилось так:Ваш заказ №1 (3шт, по 100$);Ваш заказ №2 (1шт, по 300$); И образец записей у Вас бессмысленный, как будто не знаете, что такое заказ... Quote Link to post Share on other sites
n1c Posted February 16, 2016 Author Report Share Posted February 16, 2016 Сомнительно, что кто Вам подскажет, как это сделать без скриптов...То есть надо по щучьему велению, по Вашему хотению.Тогда Вам к проруби... И образец записей у Вас бессмысленный, как будто не знаете, что такое заказ... имелось введу без jQuery, JS потому что на скрине видно что используютсяа образец просто навел пример, потому как бывают разные люди Quote Link to post Share on other sites
Kors Posted February 16, 2016 Report Share Posted February 16, 2016 (edited) имелось введу без jQuery, JS потому что на скрине видно что используются а образец просто навел пример, потому как бывают разные люди Обычно разные люди знают, что в заказе не бывает Ваш заказ №1 (3шт, по 100$); а бывают НЕСКОЛЬКО товаров по РАЗНЫМ ценам... Подскажите, пожалуйста, как вывести amount (количество) и price (цену) возле номера заказа в ЛК?Надо добавлять код в view/UserView.php и в шаблоне. Если готовы оплачивать - обращайтесь... Edited February 16, 2016 by Kors Quote Link to post Share on other sites
n1c Posted February 17, 2016 Author Report Share Posted February 17, 2016 (edited) Может кто-то направит на верный путь.Делаю в UserView.php в метод пост — $purchasesкод как в OrderView.php $purchases = $this->orders->get_purchases(array('order_id'=>intval($order->id))); if(!$purchases) return false; $products_ids = array(); $variants_ids = array(); foreach($purchases as $purchase) { $products_ids[] = $purchase->product_id; $variants_ids[] = $purchase->variant_id; } $products = array(); foreach($this->products->get_products(array('id'=>$products_ids)) as $p) $products[$p->id] = $p; $variants = array(); foreach($this->variants->get_variants(array('id'=>$variants_ids)) as $v) $variants[$v->id] = $v; foreach($variants as $variant) $products[$variant->product_id]->variants[] = $variant; foreach($purchases as &$purchase) { if(!empty($products[$purchase->product_id])) $purchase->product = $products[$purchase->product_id]; if(!empty($variants[$purchase->variant_id])) { $purchase->variant = $variants[$purchase->variant_id]; } } и в конец добавляю: $this->design->assign('purchases', $purchases); но выводит ошибки, purchases не принимает Edited February 17, 2016 by n1c Quote Link to post Share on other sites
Kors Posted February 17, 2016 Report Share Posted February 17, 2016 Уже первая строка у Вас смысла не имеет, так как в view/UserView.php нет никакого $order и $order->id... Quote Link to post Share on other sites
n1c Posted February 17, 2016 Author Report Share Posted February 17, 2016 (edited) Сделал сам. Но есть небольшой баг...в шаблоне user.tpl либо пропадает номер заказа, либо выводит огромный список заказов одних и тех же...подскажите как исправить? в UserView.php после: if(empty($this->user)) { ... } вставляем: $purchases = $this->orders->get_purchases(array('orders')); if(!$purchases) return false; после: $this->design->assign('orders', $orders); вставляем: $this->design->assign('purchases', $purchases); идем в design/theme/user.tpl и находим и после: {foreach name=orders item=order from=$orders} вставляем: {foreach $purchases as $purchase} и в средине пишем (тоже меняем и правим под себя): {($purchase->price)|convert} {$currency->sign} {($purchase->amount)|convert} {$cart->total_products|plural:'товар':'товаров':'товара'} Edited February 17, 2016 by n1c Quote Link to post Share on other sites
Kosjak76 Posted February 18, 2016 Report Share Posted February 18, 2016 Бред)Если хотите, чтобы работало - сначала надо у массива orders выбрать idПотом выбрать purchases по этим idА потом привязать purchases к orders Quote Link to post Share on other sites
Kors Posted February 18, 2016 Report Share Posted February 18, 2016 Бред) Именно так. Бред начинается у Вас с первой строки Вашего нового кода: $purchases = $this->orders->get_purchases(array('orders'));Сделал сам. Но есть небольшой баг...в шаблоне user.tpl либо пропадает номер заказа, либо выводит огромный список заказов одних и тех же...подскажите как исправить? Скорее всего, это у Вас БОЛЬШОЙ баг - выводит все заказанные товары - и от своих заказов и от чужих, а Вы этого не замечаете, так как тестируете на малом числе заказов. Quote Link to post Share on other sites
n1c Posted February 18, 2016 Author Report Share Posted February 18, 2016 Именно так. Бред начинается у Вас с первой строки Вашего нового кода: Скорее всего, это у Вас БОЛЬШОЙ баг - выводит все заказанные товары - и от своих заказов и от чужих, а Вы этого не замечаете, так как тестируете на малом числе заказов. а Kors как всегда, ничего путевого, но надо написать Quote Link to post Share on other sites
n1c Posted February 18, 2016 Author Report Share Posted February 18, 2016 Бред)Если хотите, чтобы работало - сначала надо у массива orders выбрать idПотом выбрать purchases по этим idА потом привязать purchases к orders спасибо, посижу, попробую Quote Link to post Share on other sites
n1c Posted February 18, 2016 Author Report Share Posted February 18, 2016 Бред)Если хотите, чтобы работало - сначала надо у массива orders выбрать idПотом выбрать purchases по этим idА потом привязать purchases к orders если выводить как в OrderView массив $purchases = $this->orders->get_purchases(array('orders_id'=>intval($orders->id))); то сразу ошибка идет Quote Link to post Share on other sites
Kosjak76 Posted February 18, 2016 Report Share Posted February 18, 2016 Потому что вы лепите непонятно что и куда, абсолютно не разбираясь в этом. $orders->id = ПОЛНЫЙ БРЕД Quote Link to post Share on other sites
n1c Posted February 18, 2016 Author Report Share Posted February 18, 2016 Потому что вы лепите непонятно что и куда, абсолютно не разбираясь в этом. $orders->id = ПОЛНЫЙ БРЕД а что не бред?выше вы указывали: Если хотите, чтобы работало - сначала надо у массива orders выбрать id Quote Link to post Share on other sites
trainracing Posted February 18, 2016 Report Share Posted February 18, 2016 оже очень интересна конечная работающая реализация) Quote Link to post Share on other sites
n1c Posted February 19, 2016 Author Report Share Posted February 19, 2016 Что-то типа такого? https://yadi.sk/i/GausVT-movx5f У вас нет реализации? Или вы просто уточнили? Quote Link to post Share on other sites
Kosjak76 Posted February 19, 2016 Report Share Posted February 19, 2016 Вот именно, я имел в виду, что надо обойти весь массив $orders, у каждого элемента найти id и собрать НОВЫЙ масссив с этими АйДи.А если вы хотите волшебную строчку - то это вам к колдунам, а не программистам Зачем у вас в профиле написано Программирование, если вы не имеете понятия, что такое МАССИВ???И как с ним нужно работать? Quote Link to post Share on other sites
n1c Posted February 19, 2016 Author Report Share Posted February 19, 2016 Вот именно, я имел в виду, что надо обойти весь массив $orders, у каждого элемента найти id и собрать НОВЫЙ масссив с этими АйДи.А если вы хотите волшебную строчку - то это вам к колдунам, а не программистам Зачем у вас в профиле написано Программирование, если вы не имеете понятия, что такое МАССИВ???И как с ним нужно работать? в лифте тоже много чего написано, а если любите пообсуждать на форуме Simpla вместо самой темы которую задают, то могу написать что написано в моем лифте Quote Link to post Share on other sites
Kosjak76 Posted February 19, 2016 Report Share Posted February 19, 2016 Если хотите готовый код - за 10-20 долл с удовольствием вам помогу.Если хотите на халяву - придется немного подумать.Я вам дал направление.Ждите, может быть кто-то выложит вам все готовое Удачи! Quote Link to post Share on other sites
n1c Posted February 19, 2016 Author Report Share Posted February 19, 2016 Если хотите готовый код - за 10-20 долл с удовольствием вам помогу.Если хотите на халяву - придется немного подумать.Я вам дал направление.Ждите, может быть кто-то выложит вам все готовое Удачи! чет 10-20 долларов многовато звучит за такое...это ведь не модуль! Quote Link to post Share on other sites
mishanya Posted February 19, 2016 Report Share Posted February 19, 2016 (edited) а что не бред?выше вы указывали: Костя правильно все указал. нужно делать например так.заменить в UserView.php $orders = $this->orders->get_orders(array('user_id'=>$this->user->id)); на $orders = array(); $orders_ids = array(); foreach($this->orders->get_orders( array('user_id'=>$this->user->id) ) as $o) { $orders_ids[] = $o->id; $orders[$o->id] = $o; } if(!empty($orders)) { $purchases = $this->orders->get_purchases(array('order_id'=>$orders_ids)); foreach($purchases as $p) $orders[$p->order_id]->purchases[] = $p; } а не совать все подряд непонимая что как работает и тем более еще в метод пост. вы же делаете это кому-то как программист и не за спасибо Edited February 19, 2016 by mishanya Quote Link to post Share on other sites
n1c Posted February 19, 2016 Author Report Share Posted February 19, 2016 (edited) Костя правильно все указал. нужно делать например так.заменить в UserView.php $orders = $this->orders->get_orders(array('user_id'=>$this->user->id)); на $orders = array(); $orders_ids = array(); foreach($this->orders->get_orders( array('user_id'=>$this->user->id) ) as $o) { $orders_ids[] = $o->id; $orders[$o->id] = $o; } if(!empty($orders)) { $purchases = $this->orders->get_purchases(array('order_id'=>$orders_ids)); foreach($purchases as $p) $orders[$p->order_id]->purchases[] = $p; } а не совать все подряд непонимая что как работает и тем более еще в метод пост. вы же делаете это кому-то как программист и не за спасибо за спасибо или не за спасибо, это вопрос уже другой, но 10-20$ за несколько строк это перебор. как говорится "меньше кусай, на дольше хватит" Edited February 19, 2016 by n1c Quote Link to post Share on other sites
Kosjak76 Posted February 19, 2016 Report Share Posted February 19, 2016 Вот же му**к! Ему все разжевали, готовый код дали, а оно еще чем-то и недовольно...Хоть бы спасибо сказал! Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.