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

Достать Main Category в экспорт через php


Jays0n

Recommended Posts

Здравствуйте.

 

Купил модуль anyCSV/XLS, в котором нет родной функции экспорта главной категории (импорт есть :ugeek:), но есть возможность сделать кастомное поле в которое можно вписать php код.

 

Вот его справка:

Вставьте php, который будет выполнен при обработке каждой строки. Результат выполнения нужно присвоить переменной $result.
Например, если нужно импортировать/экспортировать значение 52, в указанное выше поле базы данных, напишите: $result = 52;.
В области видимости выполнения данного php доступны: переменная $num_row с номером, обрабатываемой строки (без учета первой
строки с названиями колонок, если таковая присутствует в файле), переменная $result_xpath с результатом обработки xPath 
(если настраивался выше). А также доступны значения в колонках соответствующей строки. Данные значения будут находиться в 
переменной: ${'Название колонки'}. Вы также можете изменить значения в этих колонках. Например, если при обработке нужно
присвоить значение 5 в колонке под называнием Количество соответствущей строки, напишите: ${'Количество'} = 5; Для работы
с базой данный используйте стандартный объект db OpenCart. Например, для подучения содержимого таблицы товаров напишите:
$products = $this->db->query("SELECT * FROM " . DB_PREFIX . "product");

 

Таблица в которой находится Main Category называется “oc_product_to_category” и выглядит так http://prntscr.com/p232pj 

 

Собственно, что там написать (выборку делать не умею), что бы выгрузить главную категорию товара? Просто ID категории подойдет идеально.

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


1 час назад, spectre сказал:

select category_id from oc_product_to_category where product_id = 'id товара' and main_category = 1

спасибо

 

но не знаю синтаксис, кто то может правильно написать, по примеру справки с выводом в $result?

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


//id из сосендней колонки
$id=${'ID'};

$mainid = $this->db->query("SELECT category_id  FROM " . DB_PREFIX . "product_to_category  WHERE product_id = " . $id . " and main_category = 1");

$result=$mainid->row['category_id'];

 

Самое интересное, что код работает, когда выгружаю любой один товар, но когда товара 2 и болееошибка http://prntscr.com/p2i8hw

 

Что не так?

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


Ошибка была в коде модуля, решил сам, вместо:

 $value = $value['values'][0];

нужно написать

                    if (isset($value['values'][0])) {
                        $value = $value['values'][0];
                    } else {
                        $value = null;
                    }

это жесть, самая худшая поддержка модуля которую встречал.

 

@spectre спасибо еще раз, по экспорту id главной категории, ваше решение рабочее.

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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