Страница 1 из 5
Изменения модуля загрузки/выгрузки
Добавлено: 16 мар 2010 16:01
panv
Добрый день, что нужно изменить в модуле загрузки - выгрузки для использования короткого описания товара, формируемого в программе E-Trade Content Creator. Движок SHOPCMS таблица products столбец brief_description
Re: Изменения модуля загрузки/выгрузки
Добавлено: 16 мар 2010 17:06
TechAdmin
Какая версия движка SHOPCMS у вас используется?
У нас есть модуль под две версии до 3.1.1 и от 3.1.1.
Какой шаблон экспорта из СС используется?
Обычно используется шаблон с тегами <table> (таблица).

- export_template.png (38.5 КБ) 10041 просмотр
Вы изменяли код шаблона экспорта? Если изменяли, то метод описанный ниже может потребовать корректировки.
Для заполнения краткого описания товара, нужно изменить модуль экспорта данных. Необходимо краткое описание товара "выдернуть" из сплошного текста.
Новый вид исходного кода модуля, строки №355-380:

- module_new_source_code_screenshot.png (70.91 КБ) 10041 просмотр
Новый исходный код модуля, строки №356-390:
Код: Выделить всё
// Техн. характеристики товара для добавления в поле Описание товара
if ($record_type=='fs') {
// формирование краткого описания товара из общего описания
$begin_text='<tr><td colspan="2">';
$end_text='</td></tr><tr><td width="25%"';
$whereis_start=strpos($parameter4, $begin_text);
$whereis_end=strpos($parameter4, $end_text);
$my_brief_description=substr($parameter4, $whereis_start+strlen($begin_text), $whereis_end-$whereis_start-strlen($begin_text));
// Перекодировка из win1251 в utf8
if (DB_CHARSET=="utf8") {
$parameter4=iconv("windows-1251", 'utf-8', $parameter4);
$my_brief_description=iconv("windows-1251", 'utf-8', $my_brief_description);
}
$parameter4=mysql_real_escape_string($parameter4);
$my_brief_description=mysql_real_escape_string($my_brief_description);
$parameters_query = db_query("SELECT productID FROM ".$PRODUCTS_TABLE." WHERE productID='" . $parameter1 . "' limit 1") or die($PRODUCTS_TABLE." - Invalid query: " . db_error());
if ($my_row = db_fetch_row($parameters_query)) {
db_query("UPDATE ".$PRODUCTS_TABLE." SET description='".$parameter4."', brief_description='".$my_brief_description."', default_picture=".$parameter1." WHERE productID='".$parameter1."' limit 1") or die($PRODUCTS_TABLE." - Invalid query: " . db_error());
db_query("UPDATE ".$PRODUCT_PICTURES." SET filename='".strtolower($parameter2)."', thumbnail='".strtolower($parameter2)."', enlarged='".strtolower($parameter3)."' WHERE photoID='".$parameter1."' limit 1") or die($PRODUCTS_TABLE." - Invalid query: " . db_error());
$count_products_upd++;
}
// Добавляем фото если нет в таблице
$parameters_query = db_query("SELECT photoID FROM ".$PRODUCT_PICTURES." WHERE photoID='" . $parameter1 . "' limit 1") or die($PRODUCT_PICTURES." - Invalid query: " . db_error());
if ($my_row != db_fetch_row($parameters_query)) {
db_query("insert into ".$PRODUCT_PICTURES." (photoID, productID, filename, thumbnail, enlarged) VALUES(".$parameter1.",".$parameter1.",'".strtolower($parameter2)."','".strtolower($parameter2)."','".strtolower($parameter3)."')") or die($PRODUCT_PICTURES." - Invalid query: " . db_error());
}
}
Re: Изменения модуля загрузки/выгрузки
Добавлено: 16 мар 2010 17:11
panv
Какая версия движка SHOPCMS у вас используется?
3.1.1
Какой шаблон экспорта из СС используется?
<p>
Вы изменяли код шаблона экспорта?
нет
При таких изменениях HTTP 500 - Внутренняя ошибка сервера
Re: Изменения модуля загрузки/выгрузки
Добавлено: 16 мар 2010 17:26
TechAdmin
По умолчанию, в шаблоне с использованием тега <p> не экспортируется описание товара.
Вам необходимо изменить код шаблона с:
Код: Выделить всё
{НАЧАЛО_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}
<p><b>{НАЗВАНИЕ_БЛОКА}</b></p>
{НАЧАЛО_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
<p>{НАЗВАНИЕ_ХАРАКТЕРИСТИКИ}: {ЗНАЧЕНИЕ_ХАРАКТЕРИСТИКИ}</p>
{КОНЕЦ_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
{КОНЕЦ_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}
на:
Код: Выделить всё
<p>{ОПИСАНИЕ_ТОВАРА}</p>
{НАЧАЛО_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}
<p><b>{НАЗВАНИЕ_БЛОКА}</b></p>
{НАЧАЛО_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
<p>{НАЗВАНИЕ_ХАРАКТЕРИСТИКИ}: {ЗНАЧЕНИЕ_ХАРАКТЕРИСТИКИ}</p>
{КОНЕЦ_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
{КОНЕЦ_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}
Новый вид исходного кода модуля, строки №355-380, при использовании тега <p> при экспорте:

- module_new_source_code_screenshot_p_tag.png (115.2 КБ) 10037 просмотров
Новый исходный код модуля, строки №356-390, при использовании тега <p> при экспорте:
Код: Выделить всё
// Техн. характеристики товара для добавления в поле Описание товара
if ($record_type=='fs') {
// формирование краткого описания товара из общего описания
$begin_text='<p>';
$end_text='</p>';
$whereis_start=strpos($parameter4, $begin_text);
$whereis_end=strpos($parameter4, $end_text);
$my_brief_description=substr($parameter4, $whereis_start+strlen($begin_text), $whereis_end-$whereis_start-strlen($begin_text));
// Перекодировка из win1251 в utf8
if (DB_CHARSET=="utf8") {
$parameter4=iconv("windows-1251", 'utf-8', $parameter4);
$my_brief_description=iconv("windows-1251", 'utf-8', $my_brief_description);
}
$parameter4=mysql_real_escape_string($parameter4);
$my_brief_description=mysql_real_escape_string($my_brief_description);
$parameters_query = db_query("SELECT productID FROM ".$PRODUCTS_TABLE." WHERE productID='" . $parameter1 . "' limit 1") or die($PRODUCTS_TABLE." - Invalid query: " . db_error());
if ($my_row = db_fetch_row($parameters_query)) {
db_query("UPDATE ".$PRODUCTS_TABLE." SET description='".$parameter4."', brief_description='".$my_brief_description."', default_picture=".$parameter1." WHERE productID='".$parameter1."' limit 1") or die($PRODUCTS_TABLE." - Invalid query: " . db_error());
db_query("UPDATE ".$PRODUCT_PICTURES." SET filename='".strtolower($parameter2)."', thumbnail='".strtolower($parameter2)."', enlarged='".strtolower($parameter3)."' WHERE photoID='".$parameter1."' limit 1") or die($PRODUCTS_TABLE." - Invalid query: " . db_error());
$count_products_upd++;
}
// Добавляем фото если нет в таблице
$parameters_query = db_query("SELECT photoID FROM ".$PRODUCT_PICTURES." WHERE photoID='" . $parameter1 . "' limit 1") or die($PRODUCT_PICTURES." - Invalid query: " . db_error());
if ($my_row != db_fetch_row($parameters_query)) {
db_query("insert into ".$PRODUCT_PICTURES." (photoID, productID, filename, thumbnail, enlarged) VALUES(".$parameter1.",".$parameter1.",'".strtolower($parameter2)."','".strtolower($parameter2)."','".strtolower($parameter3)."')") or die($PRODUCT_PICTURES." - Invalid query: " . db_error());
}
}
При таких изменениях HTTP 500 - Внутренняя ошибка сервера
Скорей всего вы где то допустили ошибку.
Re: Изменения модуля загрузки/выгрузки
Добавлено: 16 мар 2010 18:25
TechAdmin
Отправли вам на почту полную версию доработанного модуля.
Re: Изменения модуля загрузки/выгрузки
Добавлено: 01 ноя 2010 14:44
KOCT9i
etrade_ie_csv_shopcms3_1_1.php (Import/Export from E-Trade soft products for ShopCMS 3.1.1 (and more) Version 1.1)
Вопрос:
Каким образом при экспорте выливать краткие описания товаров на сайт сделал все как написано выше но не на сайте при просмотре списка товаров не в полном описании нет строки краткого описания продукции, не пойму в чем проблема, может галочку где то не поставил, заранее благодарен.
Re: Изменения модуля загрузки/выгрузки
Добавлено: 01 ноя 2010 15:04
TechAdmin
Проверьте есть ли в экспортном файле CSV описание товара в необходимых тегах.
Re: Изменения модуля загрузки/выгрузки
Добавлено: 01 ноя 2010 15:33
KOCT9i
Вот пример csv который делаю через (внешний модуль выгрузки) в СС
http://supercomp.com.ua/export_cc_for_e ... 1.2010.csv
Re: Изменения модуля загрузки/выгрузки
Добавлено: 01 ноя 2010 15:48
TechAdmin
Вы используете шаблон выгрузки с использованием тегов <p></p>, проверьте есть ли у вас в коде шаблона выгрузка поля ОПИСАНИЕ.
По умолчанию, в шаблоне с использованием тега <p> не экспортируется описание товара, об этом сообщалось в этой теме, посмотрите чуть выше. Вам необходимо изменить код шаблона для экспорта поля "описание".
Re: Изменения модуля загрузки/выгрузки
Добавлено: 01 ноя 2010 15:52
KOCT9i
Код: Выделить всё
<p>{ОПИСАНИЕ_ТОВАРА}</p>
{НАЧАЛО_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}
<p><b>{НАЗВАНИЕ_БЛОКА}</b></p>
{НАЧАЛО_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
<p>{НАЗВАНИЕ_ХАРАКТЕРИСТИКИ}: {ЗНАЧЕНИЕ_ХАРАКТЕРИСТИКИ}</p>
{КОНЕЦ_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
{КОНЕЦ_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}
Вроде стоит? И как краткое описание добавить на сайт, чтоб выводилось в списке товаров краткое описание товара?