Автор Тема: Работа RSS для товаров  (Прочитано 381 раз)

27 Ноября 2013, 12:45:31
  • Ветеран
  • *****
  • Сообщений: 980
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Недавно обратил внимание, что при просмотре RSS товаров они выводятся не
по времени подгрузки на сайт а хаотично, как бы этот процесс упорядочить.

Кто в курсе?
Не боги горшки обжигают, не зачем им такой хренью заниматься.
27 Ноября 2013, 13:03:42
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 33028
  • Репутация: +26761/-0
    • Просмотр профиля
В модуле можно установить как сортировать.
27 Ноября 2013, 17:08:54
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 980
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Варианты доступные для понимания перепробовал,
в общем что то менялось, но желаемого результата не получил.
По ходу что то надо менять здесь,

$orderByValues = array(0 => 'name', 1 => 'price', 2 => 'date_add', 3 => 'date_upd', 4 => 'position', 5 => 'manufacturer_name', 6 => 'quantity');

но что не допер.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
27 Ноября 2013, 18:09:34
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 13635
  • Репутация: +14563/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Версия prestashop какая?
Модуль feeder какой версии?
27 Ноября 2013, 18:28:02
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 980
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
PS  1.4.2.5  и  1.4.5.1

Версия фидера 1.0

rss version="2.0"
Не боги горшки обжигают, не зачем им такой хренью заниматься.
28 Ноября 2013, 00:48:56
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 20888
  • Репутация: +25279/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Сортировка в этом модуле
$orderBy = Tools::getProductsOrder('by', Tools::getValue('orderby'));
$orderWay = Tools::getProductsOrder('way', Tools::getValue('orderway'));
Можно поставить сразу нужное значение.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
28 Ноября 2013, 13:03:18
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 980
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
У меня эти строки выглядят по другому:

$number = ((int)(Tools::getValue('n')) ? (int)(Tools::getValue('n')) : 10);
$orderByValues = array(0 => 'name', 1 => 'price', 2 => 'date_add', 3 => 'date_upd', 4 => 'position', 5 => 'manufacturer_name', 6 => 'quantity');
$orderWayValues = array(0 => 'ASC', 1 => 'DESC');
$orderBy = Tools::strtolower(Tools::getValue('orderby', $orderByValues[(int)(Configuration::get('PS_PRODUCTS_ORDER_BY'))]));
$orderWay = Tools::strtoupper(Tools::getValue('orderway', $orderWayValues[(int)(Configuration::get('PS_PRODUCTS_ORDER_WAY'))]));
if (!in_array($orderBy, $orderByValues))
$orderBy = $orderByValues[0];
if (!in_array($orderWay, $orderWayValues))
$orderWay = $orderWayValues[0];
$id_category = ((int)(Tools::getValue('id_category')) ? (int)(Tools::getValue('id_category')) : 1);
$products = Product::getProducts((int)($cookie->id_lang), 0, ($number > 10 ? 10 : $number), $orderBy, $orderWay, $id_category, true);
$currency = new Currency((int)($cookie->id_currency));
$affiliate = (Tools::getValue('ac') ? '?ac='.(int)(Tools::getValue('ac')) : '');

И что в них надо поменять, чтобы товар подгружался в RSS по дате загрузки на сайт.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
28 Ноября 2013, 14:04:48
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 20888
  • Репутация: +25279/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
$orderBy = $orderByValues[2];
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
28 Ноября 2013, 15:26:42
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 980
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
$orderBy = $orderByValues[2];

$orderBy = $orderByValues[2];
if (!in_array($orderWay, $orderWayValues))
$orderWay = $orderWayValues[2];

Итак поменял и этак ничего не происходит.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
28 Ноября 2013, 17:05:03
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105584
  • Репутация: +39547/-0
    • Просмотр профиля
    • Webstudio UwK
Проверьте какие значения передаются в rss feed
Например, стандарный url такой
http://site.ru/modules/feeder/rss.php?id_category=0&orderby=position&orderway=ascЕсли параметры переданны не правильно, то установите значения переменных
$orderBy = 'date_upd'; // или 'name', 'price', 'date_add', 'position', 'manufacturer_name',  'quantity'
$orderWay = 'DESC'; // или 'ASC'
$smarty->assign(array(
'feedUrl' => 'http://'.Tools::getHttpHost(false, true).__PS_BASE_URI__.'modules/'.$this->name.'/rss.php?id_category='.$id_category.'&orderby='.$orderBy.'&orderway='.$orderWay,
));
Cоздание интернет сайтов Webstudio UwK
29 Ноября 2013, 01:54:15
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 980
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Получилось сделать вот так:

$orderByValues = array(2 => 'name', 1 => 'price', 0 => 'date_add', 3 => 'date_upd', 4 => 'position', 5 => 'manufacturer_name', 6 => 'quantity');
$orderWayValues = array(1 => 'ASC', 0 => 'DESC');

Спасибо всем кто принял участие.
Не боги горшки обжигают, не зачем им такой хренью заниматься.