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

Не импортируются атрибуты при запуске кроном


Recommended Posts


<?php

/*

* SITEMAP CLI GENERATOR - v 1.0.1 (29.10.2011)

* generate google sitemap from product, category, information, news

*

*

* changes:

* 1.0.1 - first release

*

*/

// debug

//ini_set('error_reporting', 6143);

//ini_set('display_errors', 1);

define('OPENCART_ROOT_DIR', '/site.ru/');

require_once(OPENCART_ROOT_DIR . "admin/config.php");

require_once(DIR_SYSTEM . 'startup.php');

require_once(DIR_DATABASE . 'mysql.php');

require_once(OPENCART_ROOT_DIR . 'admin/controller/tool/ajax.php');

require_once(OPENCART_ROOT_DIR . 'admin/controller/tool/fileupload.php');

//require_once(OPENCART_ROOT_DIR . 'admin/controller/tool/export.php');

require_once(OPENCART_ROOT_DIR . 'admin/model/tool/export.php');

//require_once(OPENCART_ROOT_DIR . 'admin/controller/tool/import.php');

$file = OPENCART_ROOT_DIR . '/import/backup_categories_products.xls';

// Registry

$registry = new Registry();

// Loader

$obj = new Loader($registry);

$registry->set('load', $obj);

// Config

$config = new Config();

$registry->set('config', $config);

// Database

$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);

$registry->set('db', $db);

// Settings

$query = $db->query("SELECT * FROM " . DB_PREFIX . "setting");

foreach ($query->rows as $setting) {

$config->set($setting['key'], $setting['value']);

}

// Cache

$registry->set('cache', new Cache());

// Language Detection

$query = $db->query("SELECT language_id FROM " . DB_PREFIX . "language WHERE code = '" . $config->get('config_language') . "'");

$language_id = $query->row['language_id'];

$config->set('config_language_id', $language_id);

// Default Store

$config->set('config_store_id', 0);

$obj->load->model('tool/export');

$file = fileupload("{$_SERVER['DOCUMENT_ROOT']}".'/admin/uploads');

echo json_encode(array('status'=>'ok','file'=>$file));

class ControllerToolImport extends Controller {

private $error = array();

public function index() {

$obj->load->model('tool/export');

$file = $_GET["file"];

if (file_exists($file)) {

if ($obj->model_tool_export->upload($file)) {

echo "The End";

unset($_SESSION['startRow']);

unset($_SESSION['isFirstEnter']);

unset($_SESSION['productRewardId']);

@unlink($file);

//$this->session->data['success'] = $this->language->get('text_success');

//$this->redirect($this->url->link('tool/export', 'token=' . $this->session->data['token'], 'SSL'));

}

else {

//$this->error['warning'] = $this->language->get('error_upload');

//echo "Не удалось загрузить файл!";

}

} else {

echo "Ошибка! Не удалось обнаружить файл: ".$file;

}

}

public function download() {

if ($obj->validate()) {

// set appropriate timeout limit

set_time_limit( 1800 );

// send the categories, products and options as a spreadsheet file

$obj->load->model('tool/export');

$obj->model_tool_export->download();

} else {

// return a permission error page

return $obj->forward('error/permission');

}

}

private function validate() {

if (!$obj->user->hasPermission('modify', 'tool/export')) {

$obj->error['warning'] = $obj->language->get('error_permission');

}

if (!$obj->error) {

return TRUE;

} else {

return FALSE;

}

}

}

echo "\n";

echo "Import is succefully complete!\n";

?>

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


https://opencartforum.com/topic/34309-экспортимпорт-больших-xls-файлов/?do=findComment&comment=414574

Здравствуйте, импорт крон больших xls файлов, повторяю вопрос сюда. Проблема в загрузке атрибутов. Это код крон файла, код загрузки скопирован из import.php, крутила-крутила не могу понять чего ему не хватает

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


https://opencartforum.com/files/file/1732-экспортимпорт-больших-xls-файлов/

Когда руками пользуешь, все загружается отлично. Вроде и все нужные файлы подключила и копировала их в папку с кроном, все равно импортируется только сам товар.

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


  • 2 months later...

Решила задачу автоимпорта с помощью модуля https://opencartforum.com/files/file/811-автоматическая-обработка-прайс-листов/

Решила перейти на него, т.к. в бесплатных все товары удаляются, все перелинковки исчезают, да и хочется все-таки старый товар в архивных держать, чтобы по старым ссылкам можно было зайти и перейти на новый/имеющийся в наличии.

 

На основе купленного модуля реализовала обновление/добавление товаров скидок/акций/атрибутов/опций/фотографий в планировщике задач cron, работает на хостинге nic.ru

 

Перед обновлением очищаю таблицы скидок/акций/атрибутов/опций/фотографий полностью запросами sql, можно поставить фильтр по поставщику, если у Вас их несколько.

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


Перед обновлением также отключаю все товары (можно поставить фильтр по поставщику, если у Вас их несколько), при импорте, включаются все товары, имеющиеся в прайс-листе, а оставшиеся я перевожу в архивные с помощью модуля https://opencartforum.com/files/file/2287-архивный-товар-для-opencart-153/

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


Минус пока в том, что каталог папок и справочник атрибутов раскладывать по папкам лучше вручную. Атрибуты у меня удваивались при слишком длинном наименовании и кавычках в нем. Двойники удаляются там же с помощью команды... утром после импорта проверить все же необходимо, зато импорт может происходить автоматом в незагруженное время на сервере. А если прайс поставщика формируете сами из БД в магазине и каждую карточку заполняете вручную, то вероятность неправильного импорта можно снизить до нуля.

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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