Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

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

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

 

Link to post
Share on other sites

получить в контроллере товары и вывести в шаблоне

Link to post
Share on other sites

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

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

Edited by ImLucky
Link to post
Share on other sites

11 minutes ago, ImLucky said:

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

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

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

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

Link to post
Share on other sites

3 minutes ago, gatapov said:

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

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

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

Link to post
Share on other sites

Если сами разберетесь, то вам понадобиться функция 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
Link to post
Share on other sites
6 minutes ago, halfhope said:

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

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

  • +1 1
Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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 шаблоне.

 

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

 

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

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.