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

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

Изменить экспорт товаров с сохранением в XLS

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

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

Сообщений: 136


« : 11.06.2015, 15:46:32 »

В файле экспорта посмотрел, за вывод товаров отвечают строки:
Код
foreach($products as $prod){
           $row = array();
           $row[] = $prod->product_id;
           $row[] = $prod->product_ean;
           $row[] = $prod->product_quantity;
           $row[] = $prod->product_date_added;
           $row[] = $prod->product_price;        
           $row[] = $prod->tax;
           $row[] = utf8_decode($prod->cat_name);
           $row[] = utf8_decode($prod->name);
           $row[] = utf8_decode($prod->short_description);
           $row[] = utf8_decode($prod->description);
           $data[] = $row;
       }
Если этот так, тогда можно туда добавить поля для других данных, например "Ссылка на картинку" ?
И если это все получиться - ка добавить в раздел "Импорт Экспорт" свою ссылку на выгрузку файла?
Может кто подскажет как создать аддон для JoomShopping?
« Последнее редактирование: 11.06.2015, 16:00:06 от worldmen » Записан
vipiusss
Профи
********

Репутация: +260/-8
Online Online

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


Skype: renor_


« Ответ #1 : 11.06.2015, 16:27:49 »

в комм раздел
Записан
worldmen
Осваиваюсь на форуме
***

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

Сообщений: 136


« Ответ #2 : 11.06.2015, 16:56:00 »

в комм раздел
- это к чему?
В дополнение - я не знаю откуда взять наименование поля для объекта $products
Записан
dmitry_stas
Профи
********

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

Сообщений: 7766



« Ответ #3 : 11.06.2015, 16:59:41 »

можно туда добавить поля для других данных, например "Ссылка на картинку" ?

в запрос чуть выше который добавьте еще одно поле для выборки ( например в ЖШ 4.х для картинки - prod.image ), ну и в массивы $head и $row по аналогии потом добавьте это поле.

я не знаю откуда взять наименование поля для объекта $products

из базы данных - таблица #__jshopping_products
Записан
worldmen
Осваиваюсь на форуме
***

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

Сообщений: 136


« Ответ #4 : 11.06.2015, 18:22:25 »

Хорошо.
Мне нужно еще валюта, хоть она и одна пока. Можно сделать пока так:
Код
$row[] = "UAH";
но в дальнейшем может быть несколько валют. в таблице #__jshopping_products есть только ключевое поле currency_id, а саму валюту можно как-то вытащить?
« Последнее редактирование: 11.06.2015, 18:33:49 от worldmen » Записан
nevigen
Moderator
*****

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

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


http://n*****n.com


« Ответ #5 : 11.06.2015, 18:31:06 »

ну еси есть ИД то есть и таблица валют.
рядышком наверное ? Wink
Записан
worldmen
Осваиваюсь на форуме
***

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

Сообщений: 136


« Ответ #6 : 11.06.2015, 18:37:18 »

ну еси есть ИД то есть и таблица валют.
рядышком наверное ? Wink
- Это понятно, только это ж надо через объекты его достать. А какие объекты нужно использовать для этого?
В _jshopping_currencies есть валюта, а как ее от туда достать?

Почему-то ссылки на изображения в файле экспорта не появляется, хотя там есть. Вот мой код:
Код
array("Name","Price","Valuta","Edinica_izmer","ean","qty","date","tax","category","short_description","Description","image_link");
$data[] = $head;
 
foreach($products as $prod){
$row = array();
$row[] = $prod->name;
$row[] = $prod->product_price;
$row[] = "UAH";
$row[] = "шт.";
//$row[] = $prod->product_id;
$row[] = $prod->product_ean;
$row[] = $prod->product_quantity;
$row[] = $prod->product_date_added;
 
$row[] = $prod->tax;
$row[] = $prod->cat_name; //utf8_decode
$row[] = $prod->short_description;
$row[] = $prod->description; //utf8_decode
$row[] = $prod->image;
$data[] = $row;
 
« Последнее редактирование: 11.06.2015, 18:53:08 от worldmen » Записан
dmitry_stas
Профи
********

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

Сообщений: 7766



« Ответ #7 : 11.06.2015, 20:26:17 »

Почему-то ссылки на изображения в файле экспорта не появляется, хотя там есть.

вероятно потому что не сделали

в запрос чуть выше который добавьте еще одно поле для выборки ( например в ЖШ 4.х для картинки - prod.image )
Записан
worldmen
Осваиваюсь на форуме
***

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

Сообщений: 136


« Ответ #8 : 12.06.2015, 10:37:37 »

вероятно потому что не сделали
точно, в SQL запрос забыл добавить.
Мне дошло, в запрос добавляем что нужно (связи соответственно) и экспортируем что хотим:
Код
$query = "SELECT prod.product_id, prod.product_ean, prod.product_quantity, 
prod.product_date_added, prod.product_price,
tax.tax_value as tax, prod.`"
.$lang->get('name')."` as name, prod.`".$lang->get('short_description')."` as short_description,  prod.`".$lang->get('description')."` as description, cat.`".$lang->get('name')."` as cat_name
,prod.image
                 FROM `#__jshopping_products` AS prod
                 LEFT JOIN `#__jshopping_products_to_categories` AS categ USING (product_id)
                 LEFT JOIN `#__jshopping_categories` as cat on cat.category_id=categ.category_id
                 LEFT JOIN `#__jshopping_taxes` AS tax ON tax.tax_id = prod.product_tax_id              
                 GROUP BY prod.product_id"
;
Записан
worldmen
Осваиваюсь на форуме
***

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

Сообщений: 136


« Ответ #9 : 12.06.2015, 16:22:15 »

Нужно еще связать товар с категорией, т.е. создать ссылку на категорию тех товаров, в которой этот товар находится.
Категории товаров нашел - _jshopping_categories. А как связать в запросе?
Я не нашел какое поле отвечает за категорию в таблице товаров (_jshopping_products).
Записан
dmitry_stas
Профи
********

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

Сообщений: 7766



« Ответ #10 : 12.06.2015, 17:01:19 »

никакое. вам нужна #__jshopping_products_to_category
Записан
worldmen
Осваиваюсь на форуме
***

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

Сообщений: 136


« Ответ #11 : 13.06.2015, 16:08:08 »

пока пробовал на локальной машине - все в порядке, попробовал на сайте, получилось вывод ссылки для картинки такой
Код
$row[] = $jshopConfig->image_product_path . $prod->image;	// "Ссылка_изображения"
/home/логин/data/www/сайт.com/components/com_jshopping/files/img.jpg
Как его сделать так что б было сайт.com/components/com_jshopping/files/img.jpg
А ссылка на категорию практически правильная:
Код
$row[] = $_SERVER['HTTP_HOST']."/".$prod->psevdonim; 	// Адрес_подраздела - ссылка на категорию
сайт.com/vodyanaya-pompa
но без http://, а хотелось бы с ним, как его добавить,?
Записан
worldmen
Осваиваюсь на форуме
***

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

Сообщений: 136


« Ответ #12 : 13.06.2015, 20:13:59 »

Нашел:
Код
$row[] = $jshopConfig->image_product_live_path ."/". $prod->image;
 
$row[] = JURI::root().$prod->psevdonim;
Записан
Страниц: [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