Перейти к содержанию
gatapov

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

Рекомендуемые сообщения

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задача расплывчата и непонятна. Я её могу понимать в разных интерпретациях, но в любом случае для решении вашей задачи есть стандартные функции типа 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
Это титанический труд, понимаю.. Но раз уж  начали делиться опытом,как говорится, то за язык ни кто не тянул :)
Я к тому, что многие функции не описаны (не считая официальной документации), и разобраться бывает сложно. Порой придумываешь какие-то "гениальные" алгоритмы, а потом оказывается так, что за тебя всё уже давно придумано... просто ты это не знал. 
В общем продолжайте, я вот искренне  вам благодарен и жму рук. Ни раз выручали уже. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@ImLucky, хорошо) принял к сведению) Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.