История заказов на странице профиля

  • 8 Ответов
  • 1140 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Sni10

  • Осваиваюсь на форуме
  • ***
  • 110
  • 5
  • I am a law abiding citizen . . .
Добрый вечер уважаемые знатоки. Уткнулся в тьму собственной безграмотности при поиске одного нехитрого решения.

Решил вывести список (историю) заказов прямо на странице профиля нашего пользователя.

Казалось все просто взять myaccount.php и инклюдить в него /../order/listorder.php и дело в шляпе.
Но не получилось. Инклюд удался но условие (count($this->orders) не выполняется и выводится лишь елс _JSHOP_NO_ORDERS.

Дайте пинка нубу в нужном направлении пожалуйста. Возможно сам разберусь. Полагаю что в инклюде не определяется переменная $order. Но как ее вызвать принудительно через инклюд? Но это мысль "пальцем в ж небо".



Заранее спасибо.
PS Мысль старался сформулировать предельно просто. но не факт что удалось  :(
« Последнее редактирование: 21.10.2013, 15:48:00 от Sni10 »

*

varX

  • Живу я здесь
  • ******
  • 1591
  • 104
  • разработка компонентов
Правильно полагаете.  Откуда $this->orders там возьмется?

*

denben777

  • Осваиваюсь на форуме
  • ***
  • 157
  • 75
...Простите не умею ресайзить имейджи в bbcode....

Решение:
Код
[url=ссылка на изображение][img width=400]эта же ссылка на изображение[/img][/url]

Результат:

*

varX

  • Живу я здесь
  • ******
  • 1591
  • 104
  • разработка компонентов
Идите в контроллер, правьте функцию myaccount().
А именно, подключайте таблицу
Код: php
$order = JTable::getInstance('order', 'jshop');
Получайте данные
Код: php
$orders = $order->getOrdersForUser($user->id);
Передавайте в шаблон
Код: php
$view->assign('orders', $orders);

*

Sni10

  • Осваиваюсь на форуме
  • ***
  • 110
  • 5
  • I am a law abiding citizen . . .
Всем спасибо за помощь. И с ресайзом разобрался и функцию отредактировал.

Вышло то что и требовалось. А стили уже мелочи.

lcd25 спасибо за инструкцию таблица-данные-шаблон. Буду разбирать по гайкам и дальше учиться.

Всем отплюсовал.
« Последнее редактирование: 26.03.2014, 17:14:41 от Sni10 »

*

praim86

  • Новичок
  • *
  • 5
  • 0
Цитировать
Sni10
Поделись как добился сего... :(

*

darknefrit

  • Осваиваюсь на форуме
  • ***
  • 62
  • 1
  • Мечтай так как будто будешь жить вечно
Я тоже задался подобным вопросом и сделал так, правильно или нет не знаю:

com_joomshoppin/controllers/user.php
 function myaccount(){

после   if ($seodata->title==""){
            $seodata->title = _JSHOP_MY_ACCOUNT;
        }

добавил:
        $order = JTable::getInstance('order', 'jshop');
        $orders = $order->getOrdersForUser($user->id);
  foreach($orders as $key=>$value){
            $orders[$key]->order_href = SEFLink('index.php?option=com_jshopping&controller=user&task=order&order_id='.$value->order_id,0,0,$jshopConfig->use_ssl);
        }

перед   $view->display();
добавил:
 $view->assign('orders', $orders);
        $view->assign('image_path', $jshopConfig->live_path."images");
        $dispatcher->trigger('onBeforeDisplayOrdersView', array(&$view));
     
Ну и естсетвенно в шаблон ЖШ user/myaccount.php скопировал вёрстку из listorder.php

И Всё. Заработало. Дальше дело вёрстки.


Поделись как добился сего... :(
Сегодня помог ты завтра помогут тебе

*

praim86

  • Новичок
  • *
  • 5
  • 0
darknefrit Спасибо тебе, мил человек! ^-^

*

pavel2950

  • Осваиваюсь на форуме
  • ***
  • 82
  • 1
Я тоже задался подобным вопросом и сделал так, правильно или нет не знаю:

com_joomshoppin/controllers/user.php
 function myaccount(){

после   if ($seodata->title==""){
            $seodata->title = _JSHOP_MY_ACCOUNT;
        }

добавил:
        $order = JTable::getInstance('order', 'jshop');
        $orders = $order->getOrdersForUser($user->id);
  foreach($orders as $key=>$value){
            $orders[$key]->order_href = SEFLink('index.php?option=com_jshopping&controller=user&task=order&order_id='.$value->order_id,0,0,$jshopConfig->use_ssl);
        }

перед   $view->display();
добавил:
 $view->assign('orders', $orders);
        $view->assign('image_path', $jshopConfig->live_path."images");
        $dispatcher->trigger('onBeforeDisplayOrdersView', array(&$view));
     
Ну и естсетвенно в шаблон ЖШ user/myaccount.php скопировал вёрстку из listorder.php

И Всё. Заработало. Дальше дело вёрстки.



Я правильно понял, ты таким способом картинку в историю заказа вывел ?