Мені потрібно, щоб канонічні товари, були на перших сторінках категорії. Так як я використовую відповідний модуль для цього, то я дізнався в яких таблицях бази даних, він зберігає дані. І ось який sql запит вийшов:
SQL:
UPDATE oc_product
SET sort_order = CASE
WHEN EXISTS (
SELECT 1
FROM oc_kjseries_links
WHERE oc_product.product_id = oc_kjseries_links.product_id
AND oc_kjseries_links.product_id = oc_kjseries_links.parent_id
)
THEN 0
ELSE 1000
END
Цей запит працює таким чином:
Він використовує оператор UPDATE, щоб змінити значення у стовпці sort_order таблиці oc_product.
В CASE виразі використовується підзапит EXISTS, який перевіряє, чи існують записи в таблиці oc_kjseries_links, де product_id співпадає з parent_id і також співпадає з product_id в таблиці oc_product.
Якщо такий запис знайдено, sort_order встановлюється в 0, у протилежному випадку – в 1000.
Перед виконанням цього запиту рекомендується зробити резервну копію бази даних, оскільки він змінить значення в таблиці. Важливо також переконатися, що структура таблиць і назви стовпців відповідають вашій базі даних, оскільки можливі розбіжності.