Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

В 04.04.2024 в 20:26, ju2r4c сказав:

Благодарю за быстрые ответы.

Бывает что атрибутов в карточке нет, они только:

- в стандартных фильтрах (product_filter, filter_description, filter, filter_group_description)

- в OCFilter (ocfilter_filter_value_to_product, ocfilter_filter_value, ocfilter_filter_value_description, ocfilter_filter, ocfilter_filter_description)

Подскажите как правильно и на каком этапе брать инфу в этих фильтрах и как использовать эти результаты?

Чтобы в результате можно было сформировать в выгрузку <param name="Название фильтра">Значение фильтра</param>

 

OpenCart 3

Отдельно эти запросы в скрипте использовал в таком виде

-- Стандартные фильтры
SELECT fd.name AS filter_value, fgd.name AS group_name
			FROM " . DB_PREFIX . "product_filter AS pf
			JOIN " . DB_PREFIX . "filter_description AS fd ON pf.filter_id = fd.filter_id
			JOIN " . DB_PREFIX . "filter AS f ON fd.filter_id = f.filter_id
			JOIN " . DB_PREFIX . "filter_group_description AS fgd ON f.filter_group_id = fgd.filter_group_id
			WHERE pf.product_id = '" . (int)$product_id . "' 
			AND fd.language_id = '" . (int)$language_id . "' 
			AND fgd.language_id = '2'
            
-- OCFilter            
SELECT ffd.name AS filter_name, fvvd.name AS filter_value
				FROM " . DB_PREFIX . "ocfilter_filter_value_to_product AS fvtp
				JOIN " . DB_PREFIX . "ocfilter_filter_value AS fvv ON fvtp.value_id = fvv.value_id AND fvtp.filter_id = fvv.filter_id
				JOIN " . DB_PREFIX . "ocfilter_filter_value_description AS fvvd ON fvv.value_id = fvvd.value_id AND fvvd.language_id = '" . (int)$language_id . "' AND fvvd.filter_id = fvtp.filter_id
				JOIN " . DB_PREFIX . "ocfilter_filter AS ff ON fvv.filter_id = ff.filter_id AND ff.filter_id = fvtp.filter_id AND ff.source > 2
				JOIN " . DB_PREFIX . "ocfilter_filter_description AS ffd ON ff.filter_id = ffd.filter_id AND ffd.language_id = '2' AND ffd.source > 2
				WHERE fvtp.product_id = '" . (int)$product_id . "'

 

 

В пункте 4.3


 

//ocfilter
$sql = "SELECT od.name, ovd.name as text FROM " . DB_PREFIX . "ocfilter_filter_value_to_product v2p
        LEFT JOIN " . DB_PREFIX . "ocfilter_filter_description od ON (v2p.filter_id = od.filter_id)
        LEFT JOIN " . DB_PREFIX . "ocfilter_filter_value_description ovd ON (v2p.value_id = ovd.value_id)
        WHERE v2p.product_id = '" . $product['product_original_id'] ."'
        AND od.language_id = '" . $data['language'] . "'
        AND ovd.language_id = '" . $data['language'] . "'
        ";
$attrs_query = $this->db->query($sql);
foreach($attrs_query->rows as $att_item){
  $product['attributes'][] = array(
    'name' => $att_item['name'],
    'text' => $att_item['text'],
    'finish' => $att_item['name']
  );
}

//стандартный фильтр
$sql = "SELECT fgd.name as name, fd.name as text FROM " . DB_PREFIX . "filter_description fd
        LEFT JOIN " . DB_PREFIX . "filter_group_description fgd ON (fgd.filter_group_id = fd.filter_group_id)
        LEFT JOIN " . DB_PREFIX . "product_filter pf ON (pf.filter_id = fd.filter_id)
        WHERE pf.product_id = '" . $product['product_original_id'] . "'
        AND fd.language_id = '" . $data['language'] . "'
        AND fgd.language_id = '" . $data['language'] . "'";
$filter_query = $this->db->query($sql);
$product['attributes'] = $filter_query->rows;

 

  • +1 1
Надіслати
Поділитися на інших сайтах

05.04.2024 в 08:12, Exploits сказал:

 

В пункте 4.3


 

//ocfilter
$sql = "SELECT od.name, ovd.name as text FROM " . DB_PREFIX . "ocfilter_filter_value_to_product v2p
        LEFT JOIN " . DB_PREFIX . "ocfilter_filter_description od ON (v2p.filter_id = od.filter_id)
        LEFT JOIN " . DB_PREFIX . "ocfilter_filter_value_description ovd ON (v2p.value_id = ovd.value_id)
        WHERE v2p.product_id = '" . $product['product_original_id'] ."'
        AND od.language_id = '" . $data['language'] . "'
        AND ovd.language_id = '" . $data['language'] . "'
        ";
$attrs_query = $this->db->query($sql);
foreach($attrs_query->rows as $att_item){
  $product['attributes'][] = array(
    'name' => $att_item['name'],
    'text' => $att_item['text'],
    'finish' => $att_item['name']
  );
}

//стандартный фильтр
$sql = "SELECT fgd.name as name, fd.name as text FROM " . DB_PREFIX . "filter_description fd
        LEFT JOIN " . DB_PREFIX . "filter_group_description fgd ON (fgd.filter_group_id = fd.filter_group_id)
        LEFT JOIN " . DB_PREFIX . "product_filter pf ON (pf.filter_id = fd.filter_id)
        WHERE pf.product_id = '" . $product['product_original_id'] . "'
        AND fd.language_id = '" . $data['language'] . "'
        AND fgd.language_id = '" . $data['language'] . "'";
$filter_query = $this->db->query($sql);
$product['attributes'] = $filter_query->rows;

 

 

Спасибо за быстрый ответ.

Ещё уточнения есть.

 

Вопрос 0

Получается это запрос для каждого товара.

600 товаров умноженных на опции размера итого 6000 товаров и запросов во время выгрузки :))

Хостер уже прислал письмо :))

 

Может на этапе 4.2 (ДО обхода в цикле) сделать общую выборку запросом?

И на 4.3 в цикле выбирать из этого результата параметры для конкретного текущего id товара?

Как такое сделать?

 

Вопрос 1

На этапе 3.2 (Умножать товар на опции) выбрал размеры.

И на 3.12 указал Размер и [[optionset1]]. И ожидаю получить <param name="Размер">27 см</param>

Но после формирования параметров в 4.3 наверно этот параметр затирается.

Как это решить?

 

Вопрос 2

Нужно для Касты выгружать тег article.

В 4.3 пишу этот код:

$product['article'] = $product['model'];

И ожидаю в теге article значение как в vendorCode

Но не создаётся тег article

Как это решить?

 

 

 

Надіслати
Поділитися на інших сайтах


В 05.04.2024 в 12:48, ju2r4c сказав:

 

Спасибо за быстрый ответ.

Ещё уточнения есть.

 

Вопрос 0

Получается это запрос для каждого товара.

600 товаров умноженных на опции размера итого 6000 товаров и запросов во время выгрузки :))

Хостер уже прислал письмо :))

 

Может на этапе 4.2 (ДО обхода в цикле) сделать общую выборку запросом?

И на 4.3 в цикле выбирать из этого результата параметры для конкретного текущего id товара?

Как такое сделать?

 

Вопрос 1

На этапе 3.2 (Умножать товар на опции) выбрал размеры.

И на 3.12 указал Размер и [[optionset1]]. И ожидаю получить <param name="Размер">27 см</param>

Но после формирования параметров в 4.3 наверно этот параметр затирается.

Как это решить?

 

Вопрос 2

Нужно для Касты выгружать тег article.

В 4.3 пишу этот код:

$product['article'] = $product['model'];

И ожидаю в теге article значение как в vendorCode

Но не создаётся тег article

Как это решить?

0) В целом для одной генерации пусть и 6000 запросов это не так много чтобы хостер ругался. Точно на это? Может товаров много и это доп нагрузку создает. Тогда проще поставить генерацию на крон задание раз в сутки ночью. По оптимизации надо смотреть таблицы, думаю что можно, но к сожалению нет столько времени чтобы такой кастомный код доводить до идеала в плане производительности. 

 

1) Затирает когда стандартный фильтр. Можно вместо

$product['attributes'] = $filter_query->rows;

поставить так

$product['attributes'] = array_merge($product['attributes'], $filter_query->rows);

То есть это все стандартный php код которым можно получать и обрабатывать данные как вам нужно

 

2) В пункте 3.12 слева <article> правее ((p.model))

  • +1 1
Надіслати
Поділитися на інших сайтах

10.04.2024 в 11:56, nykone сказал:

Доброго дня! Підкажіть будь ласка, як вивести ось цю інформацію: 

<g:free_shipping_threshold>
<g:price_threshold>100 USD</g:price_threshold>
</g:free_shipping_threshold>

?

Доброго дня!

В пункті 4.3 додайте

 

$product['attributes_full'][] = [
  'name' => 'g:free_shipping_threshold',
  'text' => '<g:price_threshold>100 USD</g:price_threshold>',
  'end' => 'g:free_shipping_threshold',
  'decode' => true,
];

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Доброго дня

Підскажіть будь ласка в чому може бути проблема і як її вирішити: перестали завантажуватись та обновлятися товари і по крону і при ручному запуску модуля. 

Ось яку помилку видає:

# Код Ответ
1 500 Ответ сервера: Internal Server Error
Ничего страшного, UniXML успешно это обходит

 

image.thumb.png.6026b6615af1e1536f70ae6ef65791be.png

Надіслати
Поділитися на інших сайтах


10.04.2024 в 19:16, optbaza сказал:

Доброго дня

Підскажіть будь ласка в чому може бути проблема і як її вирішити: перестали завантажуватись та обновлятися товари і по крону і при ручному запуску модуля. 

Ось яку помилку видає:

# Код Ответ
1 500 Ответ сервера: Internal Server Error
Ничего страшного, UniXML успешно это обходит

 

image.thumb.png.6026b6615af1e1536f70ae6ef65791be.png

Доброго дня! Можливо упираєтесь в Максимальный розмір запита в базу (max_allowed_packet)

В налаштуваннях імпорта де стоїть 1000 поставте менше число. Але подивіться логін 500-х помилок можливо там і інша причина є

Надіслати
Поділитися на інших сайтах

10.04.2024 в 19:30, Exploits сказал:

Доброго дня! Можливо упираєтесь в Максимальный розмір запита в базу (max_allowed_packet)

В налаштуваннях імпорта де стоїть 1000 поставте менше число. Але подивіться логін 500-х помилок можливо там і інша причина є

Пробував ставити менше число, але все одно таж сама помилка

Надіслати
Поділитися на інших сайтах


10.04.2024 в 19:38, optbaza сказал:

Пробував ставити менше число, але все одно таж сама помилка

Подивіться лог 500-х помилок на сервері і напишіть мені в приватні повідомлення 

Надіслати
Поділитися на інших сайтах

Добрый день. Пытаюсь сделать импорт товаров, id по которому стоит связывать в бд это поле sku, в xml файле поле id. Подскажите, пожалуйста, можно ли сделать чтобы при импорте сравнение шло по этим полям?

Надіслати
Поділитися на інших сайтах


13.04.2024 в 14:27, FeniXZT сказал:

Добрый день. Пытаюсь сделать импорт товаров, id по которому стоит связывать в бд это поле sku, в xml файле поле id. Подскажите, пожалуйста, можно ли сделать чтобы при импорте сравнение шло по этим полям?

Добрый день! Там где id слева есть шестеренка серая - там поставьте связующий ключ p.sku

  • +1 1
Надіслати
Поділитися на інших сайтах

13.04.2024 в 14:33, Exploits сказал:

Добрый день! Там где id слева есть шестеренка серая - там поставьте связующий ключ p.sku

Спасибо за быстрый ответ!

 

Возникло ещё пару вопросов:

Если поле sku не уникально, модуль будет обновлять все товары с найденным совпадением в sku или только товары загруженные с помощью этого фида? Если все товары, то не подскажете как правильно сделать чтобы обновлялись только нужные товары? 

Надіслати
Поділитися на інших сайтах


13.04.2024 в 16:42, FeniXZT сказал:

Спасибо за быстрый ответ!

 

Возникло ещё пару вопросов:

Если поле sku не уникально, модуль будет обновлять все товары с найденным совпадением в sku или только товары загруженные с помощью этого фида? Если все товары, то не подскажете как правильно сделать чтобы обновлялись только нужные товары? 

Чтобы товары только этого фида то ключ поставьте p.sku,feed

  • +1 1
Надіслати
Поділитися на інших сайтах

Подскажите при добавление Аукционной цены появляется поле <oldprice>

Скрытый текст

image.png.69a026c812a8d6f1c9a020650909ad17.png

Скрытый текст

image.png.7d38d427906f9b01274531b5f2723b72.png

_______________________

Каким образом в ФИД можно вывести <oldprice> в <price>, то есть удалить <oldprice> и оставить только поле <price> с ценой 2299 грн ?

Змінено користувачем Nannco
Надіслати
Поділитися на інших сайтах


17.04.2024 в 12:49, Nannco сказал:

Подскажите при добавление Аукционной цены появляется поле <oldprice>

  Скрыть содержимое

image.png.69a026c812a8d6f1c9a020650909ad17.png

  Скрыть содержимое

image.png.7d38d427906f9b01274531b5f2723b72.png

_______________________

Каким образом в ФИД можно вывести <oldprice> в <price>, то есть удалить <oldprice> и оставить только поле <price> с ценой 2299 грн ?

Добрый день! В пункте 4.3 добавьте

$product['special'] = false;

  • +1 1
Надіслати
Поділитися на інших сайтах

Вітаю, я би хотів геренерувати ЧПУ для товару безпосередньо з його назви у мене на сайті, яку я створюю використовуючи два параметри від постачальника, як це зробити?

Я використовую {{name}} {{model}} для створення назви на свойому магазині, а ЧПУ у даному випадку бере тільки {{name}} для створення.

 

image.thumb.png.fc4f1c13e5f741b975de35682ea5439c.png

Надіслати
Поділитися на інших сайтах


17.04.2024 в 15:25, AntKolomiiets сказал:

Вітаю, я би хотів геренерувати ЧПУ для товару безпосередньо з його назви у мене на сайті, яку я створюю використовуючи два параметри від постачальника, як це зробити?

Я використовую {{name}} {{model}} для створення назви на свойому магазині, а ЧПУ у даному випадку бере тільки {{name}} для створення.

 

image.thumb.png.fc4f1c13e5f741b975de35682ea5439c.png

Доброго дня! Спробуйте там прибрати шаблон генерації а в пункті Кастомний код при обході товара (середнє вікно) додати

$product['name'] .= ' ' . $product['model'];

 

тільки посилання генеруються для нових товарів

  • +1 1
Надіслати
Поділитися на інших сайтах

В 03.10.2022 в 12:33, Nannco сказав:

Подскажите как выводить скидочную цену?

Есть группа покупателей "sell20" - как мне эту цену отобразить в ФИД?

 

В инструкции написано:

В пункт 4.2 добавить 

$data['special_save'] = true;

А вот куда и от куда взять ID скидочной цены и в какое поле её прописать не пойму, подскажите пожалуйста, у меня их 3 колонки

 

Добрий день.
Можете написати рішення, як виводити в поле ціна - Ціну, яка йде для Групи покупців (Знижки) - див скрін:
1951464590_2024-04-18142041.thumb.png.06cca782843367122cbf091ac9903d69.png

Надіслати
Поділитися на інших сайтах


18.04.2024 в 14:21, AndrewZ сказал:

Добрий день.
Можете написати рішення, як виводити в поле ціна - Ціну, яка йде для Групи покупців (Знижки) - див скрін:
1951464590_2024-04-18142041.thumb.png.06cca782843367122cbf091ac9903d69.png

Доброго дня!

 

В пункті 4.2

$data['prices_custom'] = array();
$prices_query = $this->db->query("SELECT product_id, price FROM " . DB_PREFIX . "product_special WHERE customer_group_id = 7");
foreach($prices_query->rows as $price_item){
  $data['prices_custom'][$price_item['product_id']] = $price_item['price'] * $data['currency'];
}

де 7 - це потрібний ід групи покупців

 

І в пункті 4.3

if(isset($data['prices_custom'][$product['product_id']])){
  $product['price'] = $data['prices_custom'][$product['product_id']];
}

 

  • +1 1
Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

Вітаю. Оновив модуль до 7.5, все налаштував, але постійно сипеться помилка в логах:
2024-05-01 9:50:04 - PHP Notice:  Undefined index: text in /home/*****/*********/www/system/unixml/rozetka/ExportCustomXml on line 9

За 1-2 дні забиває файл логів.
Що я не так налаштував, підкажіть, будь ласка.

Надіслати
Поділитися на інших сайтах


01.05.2024 в 09:56, AndrewZ сказал:

Вітаю. Оновив модуль до 7.5, все налаштував, але постійно сипеться помилка в логах:
2024-05-01 9:50:04 - PHP Notice:  Undefined index: text in /home/*****/*********/www/system/unixml/rozetka/ExportCustomXml on line 9

За 1-2 дні забиває файл логів.
Що я не так налаштував, підкажіть, будь ласка.

Доброго дня! Це щось в кастомному коді у вас. Напишіть мені в повідомлення доступи в адмінку я подивлюсь в чому проблема

Надіслати
Поділитися на інших сайтах

  • 2 weeks later...
09.05.2024 в 10:27, nikitishin сказал:

Вітаю, підкажіть будь ласка як заборонити вивантажувати у фід facebook товари з ціною нижчою за 1 000 грн і більшою за 50 000 грн?

Доброго дня! В пункті 4.1 додайте

 AND (p.price < 50000 AND p.price > 1000)

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.