Перейти к содержимому


Фото
- - - - -

Amount и price в личном кабинете

amount price user order simpla cart total_price

  • Чтобы отвечать, сперва войдите на форум
27 ответов в теме

#1 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 16.02.2016 - 17:08

Добрый день друзья!

Подскажите, пожалуйста, как вывести amount (количество) и price (цену) возле номера заказа в ЛК?

Чтобы получилось так:

Ваш заказ №1 (3шт, по 100$);

Ваш заказ №2 (1шт, по 300$);



#2 Kniazdiit

Kniazdiit
  • Забаненый
  • 166 сообщений
  • Пользователь

Опубликовано 16.02.2016 - 17:19

Что-то типа такого? https://yadi.sk/i/GausVT-movx5f



#3 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 16.02.2016 - 17:23

Что-то типа такого? https://yadi.sk/i/GausVT-movx5f

 

да, только в личном кабинете пользователя. и без каких либо скриптов)) просто цифры)



#4 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 16.02.2016 - 19:25

да, только в личном кабинете пользователя. и без каких либо скриптов)) просто цифры)

 

Сомнительно, что кто Вам подскажет, как это сделать без скриптов...

То есть надо по щучьему велению, по Вашему хотению.

Тогда Вам к проруби...

 

Добрый день друзья!
Подскажите, пожалуйста, как вывести amount (количество) и price (цену) возле номера заказа в ЛК?
Чтобы получилось так:
Ваш заказ №1 (3шт, по 100$);
Ваш заказ №2 (1шт, по 300$);

 

И образец записей у Вас бессмысленный, как будто не знаете, что такое заказ...



#5 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 16.02.2016 - 20:12

Сомнительно, что кто Вам подскажет, как это сделать без скриптов...

То есть надо по щучьему велению, по Вашему хотению.

Тогда Вам к проруби...

 

 

И образец записей у Вас бессмысленный, как будто не знаете, что такое заказ...

 

имелось введу без jQuery, JS потому что на скрине видно что используются

а образец просто навел пример, потому как бывают разные люди



#6 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 16.02.2016 - 20:19

имелось введу без jQuery, JS потому что на скрине видно что используются
а образец просто навел пример, потому как бывают разные люди

 
Обычно разные люди знают, что в заказе не бывает
 

Ваш заказ №1 (3шт, по 100$);

 
а бывают НЕСКОЛЬКО товаров по РАЗНЫМ ценам...
 

Подскажите, пожалуйста, как вывести amount (количество) и price (цену) возле номера заказа в ЛК?

Надо добавлять код в view/UserView.php и в шаблоне.
Если готовы оплачивать - обращайтесь...

Изменено: Kors, 16.02.2016 - 20:23


#7 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 17.02.2016 - 18:13

Может кто-то направит на верный путь.

Делаю в 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 не принимает


Изменено: n1c, 17.02.2016 - 18:14


#8 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 17.02.2016 - 19:40

Уже первая строка у Вас смысла не имеет, так как в view/UserView.php  нет никакого $order и $order->id...



#9 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 18.02.2016 - 01:04

Сделал сам. Но есть небольшой баг...в шаблоне 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:'товар':'товаров':'товара'}

Изменено: n1c, 18.02.2016 - 01:50


#10 Kosjak76

Kosjak76
  • Модератор
  • 3 851 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 18.02.2016 - 08:11

Бред)

Если хотите, чтобы работало - сначала надо у массива orders выбрать id

Потом выбрать purchases по этим id

А потом привязать purchases к orders



#11 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 18.02.2016 - 09:42

Бред)

 

Именно так.

Бред начинается у Вас с первой строки Вашего нового кода:

 

$purchases = $this->orders->get_purchases(array('orders'));

Сделал сам. Но есть небольшой баг...в шаблоне user.tpl либо пропадает номер заказа, либо выводит огромный список заказов одних и тех же...подскажите как исправить?

 

Скорее всего, это у Вас БОЛЬШОЙ баг - выводит все заказанные товары - и от своих заказов и от чужих, а Вы этого не замечаете, так как тестируете на малом числе заказов.



#12 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 18.02.2016 - 12:43

Именно так.

Бред начинается у Вас с первой строки Вашего нового кода:

 

 

Скорее всего, это у Вас БОЛЬШОЙ баг - выводит все заказанные товары - и от своих заказов и от чужих, а Вы этого не замечаете, так как тестируете на малом числе заказов.

 

а Kors как всегда, ничего путевого, но надо написать



#13 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 18.02.2016 - 12:44

Бред)

Если хотите, чтобы работало - сначала надо у массива orders выбрать id

Потом выбрать purchases по этим id

А потом привязать purchases к orders

 

спасибо, посижу, попробую



#14 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 18.02.2016 - 17:25

Бред)

Если хотите, чтобы работало - сначала надо у массива orders выбрать id

Потом выбрать purchases по этим id

А потом привязать purchases к orders

 

если выводить как в OrderView массив

$purchases = $this->orders->get_purchases(array('orders_id'=>intval($orders->id)));

то сразу ошибка идет



#15 Kosjak76

Kosjak76
  • Модератор
  • 3 851 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 18.02.2016 - 17:32

Потому что вы лепите непонятно что и куда, абсолютно не разбираясь в этом. :)

$orders->id = ПОЛНЫЙ БРЕД



#16 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 18.02.2016 - 18:03

Потому что вы лепите непонятно что и куда, абсолютно не разбираясь в этом. :)

$orders->id = ПОЛНЫЙ БРЕД

 

а что не бред?

выше вы указывали:

 

Если хотите, чтобы работало - сначала надо у массива orders выбрать id


#17 trainracing

trainracing
  • Пользователь
  • 176 сообщений
  • Дизайн, SEO, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 18.02.2016 - 18:07

оже очень интересна конечная работающая реализация)



#18 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 19.02.2016 - 17:47

Что-то типа такого? https://yadi.sk/i/GausVT-movx5f

 

У вас нет реализации? Или вы просто уточнили?



#19 Kosjak76

Kosjak76
  • Модератор
  • 3 851 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 19.02.2016 - 18:07

Вот именно, я имел в виду, что надо обойти весь массив $orders, у каждого элемента найти id и собрать НОВЫЙ масссив с этими АйДи.

А если вы хотите волшебную строчку - то это вам к колдунам, а не программистам :)

Зачем у вас в профиле написано Программирование, если вы не имеете понятия, что такое МАССИВ???

И как с ним нужно работать?



#20 n1c

n1c
  • Пользователь
  • 264 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 19.02.2016 - 18:21

Вот именно, я имел в виду, что надо обойти весь массив $orders, у каждого элемента найти id и собрать НОВЫЙ масссив с этими АйДи.

А если вы хотите волшебную строчку - то это вам к колдунам, а не программистам :)

Зачем у вас в профиле написано Программирование, если вы не имеете понятия, что такое МАССИВ???

И как с ним нужно работать?

 

в лифте тоже много чего написано, а если любите пообсуждать на форуме Simpla вместо самой темы которую задают, то могу написать что написано в моем лифте







Также с меткой «amount, price, user, order, simpla, cart, total_price»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых