Перейти к содержанию
svetlanank8

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

Рекомендуемые сообщения


<?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-файлов/

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если кому-нибудь интересно будет выявить баг за вознаграждение, я за =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

Изменено пользователем svetlanank8

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Изменено пользователем svetlanank8

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.