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

FAQ: Модуль Экспорт/Импорт


vavbiz

Recommended Posts

Fatal error: Class 'OLE_PPS' not found in /home/oriroru/public_html/admin/OLE/PPS/File.php on line 32всю ночь борюсь с этим модулем

viewtopic.php?f=20&t=967
Надіслати
Поділитися на інших сайтах


Минуточку!К примеру скачал человек "opencart-1-4-9-17-export-import-ru", распаковал, распакованное залил на сервер под "админ".И вот как-то раз, совершенно через браузёр, заходит человек в папочку www.сайт.com/shop/admin/pear/ - и ничо не видит. Точнее ничего "такого" не видит, а видит только "Directory has no index file.Browsing this site or directory without an index file is prohibited." :) :( :("Так на какую кнопку надо нажимать, чтобы ...?" (С)

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


Спасибо за подсказку. Инструкцию по установке "PEAR", модуля? Читаю. Отсюда и вопросы, что непонятно. Совсем непонятно и абсолютно устрашающе описана (на оригинальном ресурсе) установка "PEAR" на сервер. Кошмар какой-то.Может я не с того ресурса читаю? Я человек сугубо гражданский и всей терминологии могу не понять. Особенно, когда программисты с умилением сообщают аудитории, что "всё вполне прямолинейно", и запросто.Типа:

4. Make sure you have a working copy of the CLI version of PEAR on your local computer (the "pear" command, not the web interface)

(http://pear.php.net/manual/en/installation.checking.php)Кто-нибудь здесь говорит на мессопотамском? Переведите, пожалуйста. Дело не в аглицкой мове. (Говорю свободно, с обеих рук, читаю с закрытыми глазами).Я, признаться, прочитав всю эту инструкцию, был до такой степени озадачен, и даже где-то удручён, что даже начал на все стоп-сигналы останавливаться. Без исключения. Днём.
Надіслати
Поділитися на інших сайтах


Я со своей проблемой тоже разобрался, XML не правильно импортировал...

А можно по-подробнее?Этот модуль у меня работал на 1.4.7.Поставил ocStore0.1.3 (на opencart1.4.8, к слову, то же самое), к нему прикрутил модуль opencart-1-4-8-15-export-import.zip.Пытаюсь втягивать файл, созданный экспортом из 1.4.7, - выдает ошибку:The filename /tmp/phpsV5KFa is not readableУже пробовал сначала экспортировать текущую (демо) базу в XLS, а затем этот же файл втягивать - все то же. "Лошадь идет вдоль борозды". Куда копать?
Надіслати
Поділитися на інших сайтах


Была сделана одна отличная Доработка В ней были созданы дополнительные поля. Может быть кто-то знает как доработать данный модуль что бы импорт/экспорт работал с данными полями?

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


у меня есть вопрос:

судя по описанию модуля: ...В текущей версии не обновляет данные, а полностью их

перезаписывает.

т.е. если я ранее импортировал список выгрузки товаров из 1С, предварительно конвертировав его в xls. далее в самой cms (opencart), где в ручную каждому товару добавлю описание, фотографию и т.д., все это уничтожится... все труды напрасны или как поясните???

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


  • 4 weeks later...

у меня есть вопрос:

судя по описанию модуля: ...В текущей версии не обновляет данные, а полностью их

перезаписывает.

т.е. если я ранее импортировал список выгрузки товаров из 1С, предварительно конвертировав его в xls. далее в самой cms (opencart), где в ручную каждому товару добавлю описание, фотографию и т.д., все это уничтожится... все труды напрасны или как поясните???

Да. Данные уничтожаются.

Экспортируем список из Опенкарта и правим/добавляем. Заливаем назад.

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


Дописал модуль для поддержки Product Attributes Pictures (PAPs) Lite v1.2

В xls файле дополнительный лист PAPs.

Может не совсем корректно - не пинайте.

opencart-1-4-9-17-export-import-ru-paps.zip

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


при попытке экспорта файла выдаётся ошибка

Warning: set_time_limit() has been disabled for security reasons in /var/www/ukrpartner/ukrpartner.com.ua/shop/admin/controller/tool/export.php on line 76

здесь на форуме при аналогичной проблеме советовали повысить значение set_time_limit. Но при описании проблемы хостеру (мирохост), они ответили следующее

Данная функция set_time_limit отключена на текущем хостинг пакете по соображениям безопасности . Ограничение по времени выполнения скриптов установлено в 10 минут .

Подскажите, как обойти эту проблему?

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


  • 2 weeks later...

а у меня при установке вообще

Error: Table 'avtoas_0.paps_headings' doesn't exist
Error No: 1146
SELECT DISTINCT p.product_id,   p.attr_name AS option_name,   p.show_att_name AS show_option_name,   p.show_att_vals  AS show_option_vals,   p.show_att_price  AS show_option_price,   p.allow_att_sel  AS allow_option_sel,   p.pics_in_row  AS picture_in_row,   p.thumb_w  AS thumb_wihgt,   p.large_w  AS large_wihgt,   pf.aliases  AS alias,   pf.filenames   AS files,   pg.unlink_pas   AS unkink,   pg.va_title   AS va_titl,   pg.va_stitle   AS va_stitl,   pg.img_title   AS img_titl,   pg.opt4t AS opt,   pg.popup_style AS popup_styl,   pg.ds_title  AS ds_titl,   pg.ds_subtitle  AS ds_subtitl,   pg.ds_img_title  AS ds_img_titl FROM `paps_headings` p INNER JOIN `paps_files` pf ON pf.product_id=p.product_id AND p.attr_name=pf.attr_name INNER JOIN `paps_globals` pg ON p.product_id=pg.product_id ORDER BY product_id ;
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

а у меня при установке вообще

Error: Table 'avtoas_0.paps_headings' doesn't exist
Error No: 1146
SELECT DISTINCT p.product_id,   p.attr_name AS option_name,   p.show_att_name AS show_option_name,   p.show_att_vals  AS show_option_vals,   p.show_att_price  AS show_option_price,   p.allow_att_sel  AS allow_option_sel,   p.pics_in_row  AS picture_in_row,   p.thumb_w  AS thumb_wihgt,   p.large_w  AS large_wihgt,   pf.aliases  AS alias,   pf.filenames   AS files,   pg.unlink_pas   AS unkink,   pg.va_title   AS va_titl,   pg.va_stitle   AS va_stitl,   pg.img_title   AS img_titl,   pg.opt4t AS opt,   pg.popup_style AS popup_styl,   pg.ds_title  AS ds_titl,   pg.ds_subtitle  AS ds_subtitl,   pg.ds_img_title  AS ds_img_titl FROM `paps_headings` p INNER JOIN `paps_files` pf ON pf.product_id=p.product_id AND p.attr_name=pf.attr_name INNER JOIN `paps_globals` pg ON p.product_id=pg.product_id ORDER BY product_id ;

та же беда

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


а у меня при установке вообще

Error: Table 'avtoas_0.paps_headings' doesn't exist
Error No: 1146
SELECT DISTINCT p.product_id,   p.attr_name AS option_name,   p.show_att_name AS show_option_name,   p.show_att_vals  AS show_option_vals,   p.show_att_price  AS show_option_price,   p.allow_att_sel  AS allow_option_sel,   p.pics_in_row  AS picture_in_row,   p.thumb_w  AS thumb_wihgt,   p.large_w  AS large_wihgt,   pf.aliases  AS alias,   pf.filenames   AS files,   pg.unlink_pas   AS unkink,   pg.va_title   AS va_titl,   pg.va_stitle   AS va_stitl,   pg.img_title   AS img_titl,   pg.opt4t AS opt,   pg.popup_style AS popup_styl,   pg.ds_title  AS ds_titl,   pg.ds_subtitle  AS ds_subtitl,   pg.ds_img_title  AS ds_img_titl FROM `paps_headings` p INNER JOIN `paps_files` pf ON pf.product_id=p.product_id AND p.attr_name=pf.attr_name INNER JOIN `paps_globals` pg ON p.product_id=pg.product_id ORDER BY product_id ;

Такая же беда :(

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


Error: Table 'avtoas_0.paps_headings' doesn't exist
Error No: 1146
SELECT DISTINCT p.product_id,   p.attr_name AS option_name,   p.show_att_name AS show_option_name,   p.show_att_vals  AS show_option_vals,   p.show_att_price  AS show_option_price,   p.allow_att_sel  AS allow_option_sel,   p.pics_in_row  AS picture_in_row,   p.thumb_w  AS thumb_wihgt,   p.large_w  AS large_wihgt,   pf.aliases  AS alias,   pf.filenames   AS files,   pg.unlink_pas   AS unkink,   pg.va_title   AS va_titl,   pg.va_stitle   AS va_stitl,   pg.img_title   AS img_titl,   pg.opt4t AS opt,   pg.popup_style AS popup_styl,   pg.ds_title  AS ds_titl,   pg.ds_subtitle  AS ds_subtitl,   pg.ds_img_title  AS ds_img_titl FROM `paps_headings` p INNER JOIN `paps_files` pf ON pf.product_id=p.product_id AND p.attr_name=pf.attr_name INNER JOIN `paps_globals` pg ON p.product_id=pg.product_id ORDER BY product_id ;
ребята, ну так поищите в коде текст

avtoas_0
и уберите его.

судя по всему это имя базы_данных, которое автор просто не вычистил из кода.

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

ребята, ну так поищите в коде текст

avtoas_0
и уберите его.

судя по всему это имя базы_данных, которое автор просто не вычистил из кода.

в каком коде то убирать текст и какой?

у меня не

avtoas_0
а имя моей бд показывало
Надіслати
Поділитися на інших сайтах


в каком коде то убирать текст и какой?

у меня не

avtoas_0
а имя моей бд показывало

Хм, а таблица такая в базе существует?

Этот (opencart-1-4-9-17-export-import-ru-paps.zip) модуль рассчитан что у вас установлен и работает PAPs.

Посмотрите на структуру Вашей базы, должны быть три таблицы: paps_files, paps_globals и paps_headings. (без префиксов)

(Они создаются в процессе установки модуля PAPs)

Выполните в phpMyAdmin:

paps_lite_v1.0.zip

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


а можете на досуге включить хотя бы в экспорт таблицу oc_product_special или подскажите как изменить запрос в функции populateProductsWorksheet

у меня к каждому товару в special есть 4 цены (каждой из 4 груп покупателей своя цена)

и я никак не могу сделать чтоб конечный файл в конце имел 4 дополнительных ячейки (price_4, price_3 ....) с ценами customer_group_id (4, 3, ...)

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


а можете на досуге включить хотя бы в экспорт таблицу oc_product_special или подскажите как изменить запрос в функции populateProductsWorksheet

у меня к каждому товару в special есть 4 цены (каждой из 4 груп покупателей своя цена)

и я никак не могу сделать чтоб конечный файл в конце имел 4 дополнительных ячейки (price_4, price_3 ....) с ценами customer_group_id (4, 3, ...)

1. Таблица product_special и так экспортируется в отдельный лист Specials, или я что-то не правильно понял?

2. Я так понял у Вас для каждого товара 4 цены (в таблице product), и в довесок к этому для каждого товара 4 скидки? Или у Вас для всех товаров цены берутся только из специальных цен (product_special) ?

Опишите Ваши изменения в базе.

И если второй вариант, то зачем populateProductsWorksheet если есть populateSpecialsWorksheet.

Тогда привести populateSpecialsWorksheet к такому виду:

function populateSpecialsWorksheet( &$worksheet, &$database, &$priceFormat, &$boxFormat, &$textFormat )
{
	// Set the column widths
	$j = 0;
	$worksheet->setColumn($j,$j++,strlen('product_id')+1);
	$worksheet->setColumn($j,$j++,strlen('customer_group')+1);
	$worksheet->setColumn($j,$j++,strlen('priority')+1);
	$worksheet->setColumn($j,$j++,max(strlen('price1'),10)+1,$priceFormat);
	$worksheet->setColumn($j,$j++,max(strlen('price2'),10)+1,$priceFormat);
	$worksheet->setColumn($j,$j++,max(strlen('price3'),10)+1,$priceFormat);
	$worksheet->setColumn($j,$j++,max(strlen('price4'),10)+1,$priceFormat);
	$worksheet->setColumn($j,$j++,max(strlen('date_start'),19)+1,$textFormat);
	$worksheet->setColumn($j,$j++,max(strlen('date_end'),19)+1,$textFormat);
	
	// The heading row
	$i = 0;
	$j = 0;
	$worksheet->writeString( $i, $j++, 'product_id', $boxFormat );
	$worksheet->writeString( $i, $j++, 'customer_group', $boxFormat );
	$worksheet->writeString( $i, $j++, 'priority', $boxFormat );
	$worksheet->writeString( $i, $j++, 'price1', $boxFormat );
	$worksheet->writeString( $i, $j++, 'price2', $boxFormat );
	$worksheet->writeString( $i, $j++, 'price3', $boxFormat );
	$worksheet->writeString( $i, $j++, 'price4', $boxFormat );
	$worksheet->writeString( $i, $j++, 'date_start', $boxFormat );
	$worksheet->writeString( $i, $j++, 'date_end', $boxFormat );
	$worksheet->setRow( $i, 30, $boxFormat );
	
	// The actual product specials data
	$i += 1;
	$j = 0;
	$query  = "SELECT ps.*, cg.name FROM `".DB_PREFIX."product_special` ps ";
	$query .= "LEFT JOIN `".DB_PREFIX."customer_group` cg ON cg.customer_group_id=ps.customer_group_id ";
	$query .= "ORDER BY ps.product_id, cg.name";
	$result = $database->query( $query );
	foreach ($result->rows as $row) {
		$worksheet->write( $i, $j++, $row['product_id'] );
		$worksheet->write( $i, $j++, $row['name'] );
		$worksheet->write( $i, $j++, $row['priority'] );
		$worksheet->write( $i, $j++, $row['price1'], $priceFormat );
		$worksheet->write( $i, $j++, $row['price2'], $priceFormat );
		$worksheet->write( $i, $j++, $row['price3'], $priceFormat );
		$worksheet->write( $i, $j++, $row['price4'], $priceFormat );
		$worksheet->write( $i, $j++, $row['date_start'], $textFormat );
		$worksheet->write( $i, $j++, $row['date_end'], $textFormat );
		$i += 1;
		$j = 0;
	}
}
Змінено користувачем sikoko
Надіслати
Поділитися на інших сайтах


В предыдущем посте для экспорта, для импорта: заменить storeSpecialsIntoDatabase и uploadSpecials

function storeSpecialsIntoDatabase( &$database, &$specials )
{
	$sql = "START TRANSACTION;\n";
	$sql .= "DELETE FROM `".DB_PREFIX."product_special`;\n";
	$this->import( $database, $sql );

	// find existing customer groups from the database
	$sql = "SELECT * FROM `".DB_PREFIX."customer_group`";
	$result = $database->query( $sql );
	$maxCustomerGroupId = 0;
	$customerGroups = array();
	foreach ($result->rows as $row) {
		$customerGroupId = $row['customer_group_id'];
		$name = $row['name'];
		if (!isset($customerGroups[$name])) {
			$customerGroups[$name] = $customerGroupId;
		}
		if ($maxCustomerGroupId < $customerGroupId) {
			$maxCustomerGroupId = $customerGroupId;
		}
	}

	// add additional customer groups into the database
	foreach ($specials as $special) {
		$name = $special['customer_group'];
		if (!isset($customerGroups[$name])) {
			$maxCustomerGroupId += 1;
			$sql  = "INSERT INTO `".DB_PREFIX."customer_group` (`customer_group_id`, `name`) VALUES "; 
			$sql .= "($maxCustomerGroupId, '$name')";
			$sql .= ";\n";
			$database->query($sql);
			$customerGroups[$name] = $maxCustomerGroupId;
		}
	}

	// store product specials into the database
	$productSpecialId = 0;
	$first = TRUE;
	$sql = "INSERT INTO `".DB_PREFIX."product_special` (`product_special_id`,`product_id`,`customer_group_id`,`priority`,`price1`,`price2`,`price3`,`price4`,`date_start`,`date_end` ) VALUES "; 
	foreach ($specials as $special) {
		$productSpecialId += 1;
		$productId = $special['product_id'];
		$name = $special['customer_group'];
		$customerGroupId = $customerGroups[$name];
		$priority = $special['priority'];
		$price1 = $special['price1'];
		$price2 = $special['price2'];
		$price3 = $special['price3'];
		$price4 = $special['price4'];
		$dateStart = $special['date_start'];
		$dateEnd = $special['date_end'];
		$sql .= ($first) ? "\n" : ",\n";
		$first = FALSE;
		$sql .= "($productSpecialId,$productId,$customerGroupId,$priority,$price1,$price2,$price3,$price4,'$dateStart','$dateEnd')";
	}
	if (!$first) {
		$database->query($sql);
	}

	$database->query("COMMIT;");
	return TRUE;
}


function uploadSpecials( &$reader, &$database ) 
{
	$data = $reader->sheets[3];
	$specials = array();
	$i = 0;
	$isFirstRow = TRUE;
	foreach ($data['cells'] as $row) {
		if ($isFirstRow) {
			$isFirstRow = FALSE;
			continue;
		}
		$productId = trim(isset($row[1]) ? $row[1] : "");
		if ($productId=="") {
			continue;
		}
		$customerGroup = trim(isset($row[2]) ? $row[2] : "");
		if ($customerGroup=="") {
			continue;
		}
		$priority = isset($row[3]) ? $row[3] : "0";
		$price = isset($row[4]) ? $row[4] : "0";
		$price = isset($row[5]) ? $row[5] : "0";
		$price = isset($row[6]) ? $row[6] : "0";
		$price = isset($row[7]) ? $row[7] : "0";
		$dateStart = isset($row[8]) ? $row[8] : "0000-00-00";
		$dateEnd = isset($row[9]) ? $row[9] : "0000-00-00";
		$specials[$i] = array();
		$specials[$i]['product_id'] = $productId;
		$specials[$i]['customer_group'] = $customerGroup;
		$specials[$i]['priority'] = $priority;
		$specials[$i]['price1'] = $price1;
		$specials[$i]['price2'] = $price2;
		$specials[$i]['price3'] = $price3;
		$specials[$i]['price4'] = $price4;
		$specials[$i]['date_start'] = $dateStart;
		$specials[$i]['date_end'] = $dateEnd;
		$i += 1;
	}
	return $this->storeSpecialsIntoDatabase( $database, $specials );
}

Ну или как то так :)

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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