Форум русской поддержки Joomla!® CMS
27.05.2017, 12:21:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

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

 (Прочитано 1049 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sni10
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 110


I am a law abiding citizen . . .


« : 21.10.2013, 03:17:23 »

Добрый вечер уважаемые знатоки. Уткнулся в тьму собственной безграмотности при поиске одного нехитрого решения.

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

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

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



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

Репутация: +104/-4
Offline Offline

Сообщений: 1549


разработка компонентов


« Ответ #1 : 21.10.2013, 04:28:23 »

Правильно полагаете.  Откуда $this->orders там возьмется?
Записан
denben777
Осваиваюсь на форуме
***

Репутация: +76/-1
Offline Offline

Пол: Мужской
Сообщений: 157


« Ответ #2 : 21.10.2013, 04:30:31 »

...Простите не умею ресайзить имейджи в bbcode....

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

Результат:
« Последнее редактирование: 21.10.2013, 14:36:36 от denben777 » Записан
varX
Живу я здесь
******

Репутация: +104/-4
Offline Offline

Сообщений: 1549


разработка компонентов


« Ответ #3 : 21.10.2013, 04:44:58 »

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

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 110


I am a law abiding citizen . . .


« Ответ #4 : 21.10.2013, 13:47:24 »

Всем спасибо за помощь. И с ресайзом разобрался и функцию отредактировал.

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

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

Всем отплюсовал.
« Последнее редактирование: 26.03.2014, 15:14:41 от Sni10 » Записан
praim86
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #5 : 05.04.2014, 20:19:28 »

Цитировать
Sni10
Поделись как добился сего... Sad
Записан
darknefrit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 62


Мечтай так как будто будешь жить вечно


« Ответ #6 : 10.05.2014, 15:32:09 »

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

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

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


Поделись как добился сего... Sad
Записан
praim86
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #7 : 12.05.2014, 16:58:18 »

darknefrit Спасибо тебе, мил человек! Smiley
Записан
pavel2950
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 20


« Ответ #8 : 13.05.2017, 08:58:45 »

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

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

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



Я правильно понял, ты таким способом картинку в историю заказа вывел ?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet