Изменения модуля загрузки/выгрузки

Интеграция программы в различные учётные системы и интернет магазины.
panv
Сообщения: 26
Зарегистрирован: 11 мар 2010 17:43

16 мар 2010 16:01

Добрый день, что нужно изменить в модуле загрузки - выгрузки для использования короткого описания товара, формируемого в программе E-Trade Content Creator. Движок SHOPCMS таблица products столбец brief_description
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

16 мар 2010 17:06

Какая версия движка SHOPCMS у вас используется?
У нас есть модуль под две версии до 3.1.1 и от 3.1.1.

Какой шаблон экспорта из СС используется?
Обычно используется шаблон с тегами <table> (таблица).
export_template.png
export_template.png (38.5 КБ) 9160 просмотров

Вы изменяли код шаблона экспорта? Если изменяли, то метод описанный ниже может потребовать корректировки.

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

Новый исходный код модуля, строки №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());
         }
      }
С уважением, поддержка ElbuzGroup.
panv
Сообщения: 26
Зарегистрирован: 11 мар 2010 17:43

16 мар 2010 17:11

Какая версия движка SHOPCMS у вас используется?

3.1.1
Какой шаблон экспорта из СС используется?

<p>
Вы изменяли код шаблона экспорта?

нет

При таких изменениях HTTP 500 - Внутренняя ошибка сервера
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

16 мар 2010 17:26

По умолчанию, в шаблоне с использованием тега <p> не экспортируется описание товара.

Вам необходимо изменить код шаблона с:

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

{НАЧАЛО_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}
<p><b>{НАЗВАНИЕ_БЛОКА}</b></p>
   {НАЧАЛО_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
   <p>{НАЗВАНИЕ_ХАРАКТЕРИСТИКИ}:&nbsp;{ЗНАЧЕНИЕ_ХАРАКТЕРИСТИКИ}</p>
   {КОНЕЦ_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
{КОНЕЦ_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}

на:

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

<p>{ОПИСАНИЕ_ТОВАРА}</p>
{НАЧАЛО_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}
<p><b>{НАЗВАНИЕ_БЛОКА}</b></p>
   {НАЧАЛО_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
   <p>{НАЗВАНИЕ_ХАРАКТЕРИСТИКИ}:&nbsp;{ЗНАЧЕНИЕ_ХАРАКТЕРИСТИКИ}</p>
   {КОНЕЦ_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
{КОНЕЦ_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}


Новый вид исходного кода модуля, строки №355-380, при использовании тега <p> при экспорте:
module_new_source_code_screenshot_p_tag.png
module_new_source_code_screenshot_p_tag.png (115.2 КБ) 9156 просмотров


Новый исходный код модуля, строки №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 - Внутренняя ошибка сервера

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

16 мар 2010 18:25

Отправли вам на почту полную версию доработанного модуля.
С уважением, поддержка ElbuzGroup.
KOCT9i
Сообщения: 22
Зарегистрирован: 31 авг 2010 11:45

01 ноя 2010 14:44

etrade_ie_csv_shopcms3_1_1.php (Import/Export from E-Trade soft products for ShopCMS 3.1.1 (and more) Version 1.1)
Вопрос:
Каким образом при экспорте выливать краткие описания товаров на сайт сделал все как написано выше но не на сайте при просмотре списка товаров не в полном описании нет строки краткого описания продукции, не пойму в чем проблема, может галочку где то не поставил, заранее благодарен.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

01 ноя 2010 15:04

Проверьте есть ли в экспортном файле CSV описание товара в необходимых тегах.
С уважением, поддержка ElbuzGroup.
KOCT9i
Сообщения: 22
Зарегистрирован: 31 авг 2010 11:45

01 ноя 2010 15:33

Вот пример csv который делаю через (внешний модуль выгрузки) в СС
http://supercomp.com.ua/export_cc_for_e ... 1.2010.csv
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

01 ноя 2010 15:48

Вы используете шаблон выгрузки с использованием тегов <p></p>, проверьте есть ли у вас в коде шаблона выгрузка поля ОПИСАНИЕ.
По умолчанию, в шаблоне с использованием тега <p> не экспортируется описание товара, об этом сообщалось в этой теме, посмотрите чуть выше. Вам необходимо изменить код шаблона для экспорта поля "описание".
С уважением, поддержка ElbuzGroup.
KOCT9i
Сообщения: 22
Зарегистрирован: 31 авг 2010 11:45

01 ноя 2010 15:52

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

<p>{ОПИСАНИЕ_ТОВАРА}</p>
{НАЧАЛО_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}
<p><b>{НАЗВАНИЕ_БЛОКА}</b></p>
{НАЧАЛО_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
<p>{НАЗВАНИЕ_ХАРАКТЕРИСТИКИ}:&nbsp;{ЗНАЧЕНИЕ_ХАРАКТЕРИСТИКИ}</p>
{КОНЕЦ_ЦИКЛА_ХАРАКТЕРИСТИК_ТОВАРА}
{КОНЕЦ_ЦИКЛА_БЛОКОВ_ХАРАКТЕРИСТИК}

Вроде стоит? И как краткое описание добавить на сайт, чтоб выводилось в списке товаров краткое описание товара?
Ответить

Вернуться в «Интеграция E-Trade PriceList Importer»