Jump to content
Sign in to follow this  
svetlanank8

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

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";

?>

Share this post


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

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

Edited by svetlanank8

Share this post


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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

 

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

 

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

Edited by svetlanank8

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Edited by svetlanank8

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.