Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как вывести список заказов и товаров в заказе


Recommended Posts

На странице истории заказов отображается список заказов пользователя.

Как вывести дополнительно товары относящиеся к каждому товару? То есть состав каждого заказа?

 

Надіслати
Поділитися на інших сайтах


Задача расплывчата и непонятна. Я её могу понимать в разных интерпретациях, но в любом случае для решении вашей задачи есть стандартные функции типа getOrders, getOrder, getOrderProducts 

Т.е. сначала получаете список заказов и их ID. Далее в цикле c полученными ID получаете данные из getOrderProducts, формируете полученные данные и передаёте\выводите куда нужно

Змінено користувачем ImLucky
Надіслати
Поділитися на інших сайтах


11 minutes ago, ImLucky said:

Задача расплывчата и непонятна. Я её могу понимать в разных интерпретациях, но в любом случае для решении вашей задачи есть стандартные функции типа getOrders, getOrder, getOrderProducts 

Т.е. сначала получаете список заказов и их ID. Далее в цикле c полученными ID получаете данные из getOrderProducts, формируете полученные данные и передаёте\выводите куда нужно

Вы все правильно поняли.Именно то. что я хочу получить. Только как это исполнить в контроллере и вывести в twig не хватает мозгов и опыта.

Может направите?

Надіслати
Поділитися на інших сайтах


3 minutes ago, gatapov said:

Вы все правильно поняли.Именно то. что я хочу получить. Только как это исполнить в контроллере и вывести в twig не хватает мозгов и опыта.

Может направите?

Как это исполнить в контроллере - я вам уже сказал. И даже привел названия функций и общий алгоритм действий. Дело не в двух строках заключается, поэтому готовый код и решение - я выложить не могу.    

Надіслати
Поділитися на інших сайтах


Если сами разберетесь, то вам понадобиться функция getOrder($order_id). В контроллере страницы, где отображаются заказы вам нужно найти цикл, где получаются данные о заказах из моделей и добавляются в массив. Находите и добавляете, в массив, например, $order_info.

// foreach
$data['orders'] = array(
	// что-то
	'order_info' => $this->model_account_order->getOrder($order_id);
	// что-то
);

Переходите в twig шаблон и находите что-то вроде:

{% for order in orders %}
<tr>
  <td class="text-right">#{{ order.order_id }}</td>
  <td class="text-left">{{ order.name }}</td>
  <td class="text-right">{{ order.products }}</td>
  <td class="text-left">{{ order.status }}</td>
  <td class="text-right">{{ order.total }}</td>
  <td class="text-left">{{ order.date_added }}</td>
  <td class="text-right"><a href="{{ order.view }}" data-toggle="tooltip" title="{{ button_view }}" class="btn btn-info"><i class="fa fa-eye"></i></a></td>
</tr>
{% endfor %}

Теперь в нем будет доступен массив order.order_info какие данные содержит массив можно узнать в контроллере с помощью функции var_dump(); Теперь товары можно выводить в twig шаблоне.

 

Больше ничем помочь не могу, увы.

 

Описание функций моделей можно найти тут, а файлов шаблона тут.

  • +1 3
Надіслати
Поділитися на інших сайтах

6 minutes ago, halfhope said:

Описание функций моделей можно найти тут, а файлов шаблона тут.

Спасибо за ссылки. У меня в избранном были некоторые ваши статьи, но потом ваш домен куда-то пропал. И ни где не мог найти интересующей информации. А оказывается переехали. Добавил в избранное опять. Не пропадайте. 

  • +1 1
Надіслати
Поділитися на інших сайтах


@halfhope Кстати расширить бы вашу "библиотеку".  Действительно полезная вещь. Конечно, всегда можно всё самому найти в контроллерах и понять как оно работает, но бывает много времени занимает. Вот на данный момент, к примеру, нету таких функций как:
 

//Переадресация
$this->response->redirect();

//Обновление валют
$loader->model('localisation/currency');
$model = $registry->get('model_localisation_currency');
$model->refresh(true);

Разбить бы всё по версиям до 2.1 и после 2.1
Это титанический труд, понимаю.. Но раз уж  начали делиться опытом,как говорится, то за язык ни кто не тянул :)
Я к тому, что многие функции не описаны (не считая официальной документации), и разобраться бывает сложно. Порой придумываешь какие-то "гениальные" алгоритмы, а потом оказывается так, что за тебя всё уже давно придумано... просто ты это не знал. 
В общем продолжайте, я вот искренне  вам благодарен и жму рук. Ни раз выручали уже. 

Надіслати
Поділитися на інших сайтах


11 hours ago, halfhope said:

Если сами разберетесь, то вам понадобиться функция getOrder($order_id). В контроллере страницы, где отображаются заказы вам нужно найти цикл, где получаются данные о заказах из моделей и добавляются в массив. Находите и добавляете, в массив, например, $order_info.


// foreach
$data['orders'] = array(
	// что-то
	'order_info' => $this->model_account_order->getOrder($order_id);
	// что-то
);

Переходите в twig шаблон и находите что-то вроде:


{% for order in orders %}
<tr>
  <td class="text-right">#{{ order.order_id }}</td>
  <td class="text-left">{{ order.name }}</td>
  <td class="text-right">{{ order.products }}</td>
  <td class="text-left">{{ order.status }}</td>
  <td class="text-right">{{ order.total }}</td>
  <td class="text-left">{{ order.date_added }}</td>
  <td class="text-right"><a href="{{ order.view }}" data-toggle="tooltip" title="{{ button_view }}" class="btn btn-info"><i class="fa fa-eye"></i></a></td>
</tr>
{% endfor %}

Теперь в нем будет доступен массив order.order_info какие данные содержит массив можно узнать в контроллере с помощью функции var_dump(); Теперь товары можно выводить в twig шаблоне.

 

Больше ничем помочь не могу, увы.

 

Описание функций моделей можно найти тут, а файлов шаблона тут.

Спасибо за расширенный ответ! Вы помогли! Буду делать

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.