Дополнительные фотографии в PhpShop

Помощь пользователям в работе с программой E-Trade Content Creator
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

День добрый.
Загружаем характеристики, через внешний модуль (вариант 2). При парсенге есть возможность выбрать несколько фотографий, и они успешно сохраняются, но, к сожалению, они не подгружаются, при экспорте. Помогите, пожалуйста, исправить скрипт выгрузки через внешний модуль, и корректного отображения фотографий на сайте.
ps если такой функционал у Вас предусмотрен.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

О каком скрипте идёт речь, для какого движка?
С уважением, поддержка ElbuzGroup.
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

etrade_ie_csv_phpshop_v2.php скрипт внешнего модуля.
PhpShop - движок сайта.
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

не расматривали ещё возможность помощи нам?
Аватара пользователя
support
Сообщения: 10563
Зарегистрирован: 09 ноя 2008 21:37

Если будет результат Вас уведомят об этом.
Помните, что в доработке модуля может быть отказано.
C уважением, поддержка ElbuzGroup.
Документация E-Trade Jumper
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

Не могли бы вы вот с ем еще помочь?:

Движок PHPshop в каждом товаре в sql прописывает ссылки на 3 фотографии:
Маленькая - фотография, которая в каталоге товаров отображается
Средняя - которая в карточке товара отображается.
Больгая - которая отображается, когда фотографию наводишь курсор, появляется "плюс" и при нажатии фотография увеличивается.

Внешний модуль, при экспорте к товару привязывает ссылки на 2 фотографии. для маленькой - ссылку на маленьую, для средней и большой - одную общую ссылку на большую фотку.

Как сделать, чтобы после экспорта учитывались 3 фотографии?
Понимаю, что Парсер (СС) к товару привязывает только 2 фотки. Но это не проблема. Все равно приходится с помощью XnView делать ресайз всех фоток.
Так что 3-ю фотку можно было в ручную программой размер поменять и все.
Основаной вопрос, что прописать во внешнем модуле, чтобы после экспорта учитывались 3 фотки, а не 2.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

PHPshop_pics.png
PHPshop_pics.png (103.48 КБ) 7746 просмотров
С уважением, поддержка ElbuzGroup.
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

Спасибо большое за оперативность!
Правда у нас ничего не получилось. Скорее всего мы просто вас не поняли и сделали совсем не так, как нужно было.
Вот что мы изменили:
Изображение

Не могли бы поподробнее прокомментировать, что нужно сделать?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Должен получиться вот такой код:

Код: Выделить всё

		// Техн. характеристики товара для добавления в поле Описание товара
		if ($record_type=='fs') {
			$parameter4=mysql_real_escape_string($parameter4);
			$parameter8=mysql_real_escape_string($parameter8);

			$parameters_query = mysql_query("SELECT id FROM ".$phpshop_products." WHERE id='" . $parameter1 . "' limit 1");	
			
			if (strlen($parameter2)==0) $parameter2="no_photo.gif";

			//$parameter2=str_replace ('jpg', 'JPG', $parameter2);
			//$parameter3=str_replace ('jpg', 'JPG', $parameter3);

			if ($my_row = mysql_fetch_row($parameters_query)) { 
				mysql_query("UPDATE ".$phpshop_products." SET content='".$parameter4."', pic_small='".$UserImageFiles.$parameter2."', pic_big='".$UserImageFiles.$parameter3."' WHERE id='".$parameter1."' limit 1");
				
				mysql_query("UPDATE ".$phpshop_foto." SET name='".$UserImageFiles.$parameter1."_addon.jpg' WHERE parent='".$parameter1."' limit 1");
				$count_products_upd++;
			}			
			
			// Добавляем фото если нет в таблице
			$parameters_query = mysql_query("SELECT id FROM ".$phpshop_foto." WHERE parent='" . $parameter1 . "' limit 1");	
			
			if (mysql_fetch_row($parameters_query)==FALSE) {
				mysql_query("insert into ".$phpshop_foto." (parent, name) VALUES(".$parameter1.",'".$UserImageFiles.$parameter1."_addon.jpg')");
			}
		}
Т.е. код

Код: Выделить всё

name='".$UserImageFiles.$parameter2."
заменяем на:

Код: Выделить всё

name='".$UserImageFiles.$parameter1."_addon.jpg'
код:

Код: Выделить всё

'".$UserImageFiles.$parameter2."'
заменяем на:

Код: Выделить всё

'".$UserImageFiles.$parameter1."_addon.jpg'
тем самым мы указываем в качесте дополнительной фотографии имя файла в виде:

Код: Выделить всё

1234_addon.jpg
где 1234 это уникальный код товара и префикс дополнительной картинки "_addon".

По умолчанию программа СС формирует названия файлов картинок в таком виде:

Код: Выделить всё

p{ID}_small и p{ID}_big
т.е. присутствует символ "p" в начале имени файла, вам необходимо изменить шаблон имени файла для экспорта в программе E-Trade Content Creator на:

Код: Выделить всё

{ID}_small и {ID}_big
с целью последующего "безпроблемного" изменения имени файла дополнительной картинки на:

Код: Выделить всё

1234_addon.jpg
PHPshop_pics2.png
PHPshop_pics2.png (46.11 КБ) 7737 просмотров
После изменений в модуле и параметров в программе СС необходимо переименовать имена файлов с большими картинками в имена файлов с префиксом "_addon", сделать это можно в программе "Total Commander", для этого копируете исходные файлы (например файлы больших картинок .\big_images\*_big.jpg) в новую папку, например в папку "addon_images", выделяете все файлы в папке в программе "Total Commander", затем нажимаете кнопку "CTRL + M" или меню "Файлы" -> "Групповое переименование...", затем прописываете такие параметры:
PHPshop_pics3.png
PHPshop_pics3.png (88.28 КБ) 7737 просмотров
После переименования файлов дополнительных картинок делаете ресайз картинок и заливаете по ftp на сайт.

Импорт дополнительных картинок из файла CSV выгруженного из программы СС
Если вы используете дополнительные картинки в программе СС, тогда можно не переименовавать вручную файлы больших картинок в дополнительные ("_addon"), а изменить модуль интеграции, чтобы информация о дополнительной картинке бралась из файла CSV.

Для этого заменяем код:

Код: Выделить всё

		// Техн. характеристики товара для добавления в поле Описание товара
		if ($record_type=='fs') {
			$parameter4=mysql_real_escape_string($parameter4);
			$parameter8=mysql_real_escape_string($parameter8);

			$parameters_query = mysql_query("SELECT id FROM ".$phpshop_products." WHERE id='" . $parameter1 . "' limit 1");	
			
			if (strlen($parameter2)==0) $parameter2="no_photo.gif";

			//$parameter2=str_replace ('jpg', 'JPG', $parameter2);
			//$parameter3=str_replace ('jpg', 'JPG', $parameter3);

			if ($my_row = mysql_fetch_row($parameters_query)) { 
				mysql_query("UPDATE ".$phpshop_products." SET content='".$parameter4."', pic_small='".$UserImageFiles.$parameter2."', pic_big='".$UserImageFiles.$parameter3."' WHERE id='".$parameter1."' limit 1");
				
				mysql_query("UPDATE ".$phpshop_foto." SET name='".$UserImageFiles.$parameter2." WHERE parent='".$parameter1."' limit 1");
				$count_products_upd++;
			}			
			
			// Добавляем фото если нет в таблице
			$parameters_query = mysql_query("SELECT id FROM ".$phpshop_foto." WHERE parent='" . $parameter1 . "' limit 1");	
			
			if (mysql_fetch_row($parameters_query)==FALSE) {
				mysql_query("insert into ".$phpshop_foto." (parent, name) VALUES(".$parameter1.",'".$UserImageFiles.$parameter2."')");
			}
		}
на:

Код: Выделить всё

		// Техн. характеристики товара для добавления в поле Описание товара
		if ($record_type=='fs') {
			$parameter4=mysql_real_escape_string($parameter4);
			$parameter8=mysql_real_escape_string($parameter8);

			// 	дополнительные фотографии для товаров
			if ($parameter9=='') {
				$addon_pics[0]='';
			} else {
				if (strpos($parameter9, ",")>0) { // если есть несколько доп. фотографий
					$addon_pics = explode(",", $parameter9);
				} else {
					$addon_pics[0]=$parameter9; // есть 1 доп. фотография
				}
			}
			

			$parameters_query = mysql_query("SELECT id FROM ".$phpshop_products." WHERE id='" . $parameter1 . "' limit 1");	
			
			if (strlen($parameter2)==0) $parameter2="no_photo.gif";

			if ($my_row = mysql_fetch_row($parameters_query)) { 
				mysql_query("UPDATE ".$phpshop_products." SET content='".$parameter4."', pic_small='".$UserImageFiles.$parameter2."', pic_big='".$UserImageFiles.$parameter3."' WHERE id='".$parameter1."' limit 1");
				
				$count_products_upd++;
				
				if (count($addon_pics)>0) {
					mysql_query("UPDATE ".$phpshop_foto." SET name='".$UserImageFiles.$addon_pics[0]."' WHERE parent='".$parameter1."' limit 1");
				}
			}			
			
			// Добавляем дополнительные фото товаров (1 доп. фото)
			if (count($addon_pics>0)) {
				$parameters_query = mysql_query("SELECT id FROM ".$phpshop_foto." WHERE parent='" . $parameter1 . "' limit 1");	
				
				if (mysql_fetch_row($parameters_query)==FALSE) {
					mysql_query("insert into ".$phpshop_foto." (parent, name) VALUES(".$parameter1.",'".$UserImageFiles.$addon_pics[0]."')");
				}
			}
		}
С уважением, поддержка ElbuzGroup.
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

Спасибо!
Не помогло...
Может быть вы не совсем поняли, что мы хотели и поэтому не то нам посоветовали... :)
Вот что хотелось бы (так у нас выглядит после заливки фото в ручную через админку PHPshop):

Так выглядит маленькая фотка в каталоге (из парсера так же, то есть все ОК) Это фото small
Изображение

Так выглядит увеличенная фотка при нажатии на маленькую фотку в каталоге (из парсера так же, то есть все ОК) это фото big
Изображение

Так выглядит фотка в карточке товара (из парсера так же, то есть все ОК) это фото big
Изображение

А вот так должна выглядеть увеличенная фото при нажатии на обычную фотку в карточке товара. После внесенных изменений не работает. То есть при нажатии на увеличении показывается такая же фотка, как и обычная.
Вот это должна быть фото Addon. Но при просмотре ссылки на фотку, ссылка ведет все на ту же big...
Изображение
Ответить

Вернуться в «Техническая поддержка программы E-Trade Content Creator»