Помогите с импортом! (РЕШЕНО)

Прислано: uasite

вт, 22/11/2011 - 11:43

Использую ноде импорт и ноде импорт апдейт
при перезагрузке прайса в котором нет описания и картинки,
те описаения и картинки которые были внесены ранее перезаписываются на пустоту и исчезают
Вопрос как исключить некоторые поля из импорта
или не перезаписывать их
или перезаписывать с теми данными которые были

Некий Паул на орге писал небольшой модуль как раз для этого,
чтоб картинки при апдейте перезаписывались те которые и были.
Для этого предворительно выбирая ноду из базы данных и передавая
параметры в постовый массив.
модуль прилагаю
точно код этого модуля есть в ноде импорт апдейт внизу закоментированный

вроде все сделал как он писал
ничего не работает

очень прошу помогите

Заранее благодарен всем кто не будет меня ругать а просто посоветует что делать

Прикрепленный файлРазмер
my_module.rar941 байт

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано faraon в вт, 22/11/2011 - 14:40.

Офтоп: На сколько востребована была бы программа под Windows, которая импортирует ноды, поля, подтягивает изображения в Drupal с помощь модуля services с файла XLS? Есть уже наработки, все готово и работает, просто думаю стоит ли ее переделывать для универсального решения (визуально сопоставить поля XLS и CCK, и т.п.)


Опубликовано uasite в вт, 22/11/2011 - 20:31.

насколько я читал
тема актуальная и нормального решения я не нашел
а сколько такая может стоить?


Опубликовано VasyOK в вт, 22/11/2011 - 20:31.

uasite, что в вашем моделе не так я не знаю. А вы смотрели сборку openstore? В ней модуль импорта уже настроенный. Он только цены обновляет.

faraon, насколько программа востребована, можно сказать только когда программа уже написана. Вы со мной согласны?


Опубликовано uasite в вт, 22/11/2011 - 20:32.

Люююди!!
подскажите где пправить модуль ноде импорт чтоб он не обнулял описание и поле картинки в уберкарт ??


Опубликовано uasite в вт, 22/11/2011 - 20:34.

openstore??
на орге?


Опубликовано uasite в вт, 22/11/2011 - 20:38.

о нашел сейчас поставлю и попробую


Опубликовано uasite в вт, 22/11/2011 - 22:49.

Поставил
к сожалению не подходит
клиенту приходят прайсы раз в неделю где меняется цена, прайсы без описания и без картинок
он сам вносит описания и картинки

ноде импорт апдейт обновляет существуюшие ноды по заголовку
это как раз подходит
не подходит то, что обнуляется поле описание и поле картинка тк в прайсе который пришел нет ни картинки ни описания


Опубликовано VasyOK в ср, 23/11/2011 - 04:06.

Прекратите плодить темы. Если надо бесплатно, то пользуйтесь тем что есть (как я). Уверяю вас работы в направлении усовершенствования импорта ведутся.

Просто пользоватьcя пропатченым модулем node import, сделать прайс один раз с картинками, а потом вставляйте в него нужные столбцы.

Если надо платно - на форуме есть соответствующая тема.


Опубликовано Softovick в ср, 23/11/2011 - 05:02.

А если feeds?


Опубликовано VasyOK в ср, 23/11/2011 - 06:20.

А там такая функция есть?


Опубликовано Softovick в ср, 23/11/2011 - 07:40.

VasyOK написал(а):

А там такая функция есть?

Там чего только нет. Главное настроить правильно.


Опубликовано uasite в ср, 23/11/2011 - 10:25.

Перефразирую, может все таки кто подскажет

Как исключить некоторые поля из импорта
чтоб не перезаписывались

где примерно смотреть или копать
может подскажете какие функции собирают запрос или как их найти и где они в ноде импорт


Опубликовано faraon в ср, 23/11/2011 - 13:10.

"VasyOK" написал(а):

faraon, насколько программа востребована, можно сказать только когда программа уже написана. Вы со мной согласны?

Программа и написана, только на входе не XLS, а база MS SQL Server, синхронизирую свое приложение с уберкартом. Кстати, очень удобно работать с картинками - в проге загрузил или удалил, описание написал - на сайт передается в фоновом режиме, если картинка изменилась. Старые картинки сохраняются. Переделать для XLS не сложно и можно сделать удобное приложение. Вопрос только на сколько это актуально для пользователей, учитывая, что не у каждого Windows.


Опубликовано faraon в ср, 23/11/2011 - 13:11.

Стоить может немного, если будет универсальная (за счет массовых продаж).


Опубликовано faraon в ср, 23/11/2011 - 13:24.

Давно делал. Если не ошибаюсь, делал, чтобы не обновлялось описание и картинки:
В function node_import_update_form_product_node_form_alter($data)

<?php

вместо $row 
db_fetch_array(db_query("SELECT uc_products.nid, uc_products.vid, content_field_image_cache.field_image_cache_fid, content_field_image_cache.field_image_cache_list, content_field_image_cache.field_image_cache_data FROM uc_products, content_field_image_cache WHERE uc_products.model = %d AND uc_products.nid = content_field_image_cache.nid LIMIT 1"$sku));

поставить     $row db_fetch_array(db_query("SELECT uc_products.nid, uc_products.vid, node_revisions.body FROM uc_products, node_revisions WHERE uc_products.model = %d AND uc_products.nid = node_revisions.nid LIMIT 1"$sku));

дальше добавить      $data['#post']['body']= $row['body'];
и ниже строки убрать:
//      $data['#post']['field_image_cache'] = Array(Array('data' => $row['field_image_cache_data'], 'list' => //$row['field_image_cache_list'], 'fid' => $row['field_image_cache_fid']));
//      $data['#post']['cck:field_image_cache:data'] = $row['field_image_cache_data'];
//      $data['#post']['cck:field_image_cache:fid'] = $row['field_image_cache_fid'];
//      $data['#post']['cck:field_image_cache:list'] = $row['field_image_cache_list'];


?>


Опубликовано VasyOK в ср, 23/11/2011 - 13:33.

uasite, вас и с первого раза поняли. Не вам одному надо.


Опубликовано faraon в ср, 23/11/2011 - 13:51.

uasite, если не заработал код, который я привел, напишите в личку


Опубликовано uasite в пт, 25/11/2011 - 01:47.

с описанием получилось
а вот с картинкой у меня стопор
уже не знаю что делать перепробовал все варианты методом тыка

Вот это в исходном постовом массиве
[field_image_cache] => Array
(
[0] => Array
(
[fid] =>
[list] => 1
[data] =>
)

)

Вот так я его перезаписываю
[field_image_cache] => Array
(
[0] => Array
(
[data] => a:2:{s:3:"alt";s:0:"";s:5:"title";s:0:"";}
[list] => 1
[fid] => 1934
)

)
И вот так после этого ругается
Fatal error: Cannot unset string offsets in /home/uapricen/public_html/cum/modules/filefield/filefield_widget.inc on line 483
ошибка возникает только если я перезаписываю вышеприведенную часть массива


Опубликовано uasite в пт, 25/11/2011 - 02:00.

Уважаемые гуру друпала помогите разобраться
я в программировании слаб
как и в апи друпала
все пробую методом тыка
Fatal error: Cannot unset string offsets in /home/uapricen/public_html/cum/modules/filefield/filefield_widget.inc on line 483
эта ошибка я так понял возникает тк функция обращается к строке как к массиву
как это можно исправить?


Опубликовано uasite в пт, 25/11/2011 - 03:22.

Методом тыка как всегда
Но получилось!!!
немного кривовато но все же

посмотрел чего ругается функция ансет
она ожидает что елемент массива date сам является массивом с элементом у которого ключ description
ну вот я его и создал
правда теперь альты и титлы картинки при апдейте перезаписываются на пустоту
но это потом посмотрю


Опубликовано realburnis в сб, 24/12/2011 - 16:35.

Друзья, а чем вас не устраивают решения Drumode и Druporte ?


Опубликовано K0r5hun в сб, 24/12/2011 - 19:53.

Предположу - тем, что они платные :)


Опубликовано realburnis в пт, 20/01/2012 - 19:08.

"uasite" написал(а):

а сколько такая может стоить?

Совсем не дорого ;-) http://www.drupal.ru/node/50309


Опубликовано realburnis в пт, 20/01/2012 - 19:10.

"K0r5hun" написал(а):

тем, что они платные :)

Платно - совсем не обязательно значит не рассматривать такие варианты.


Опубликовано VasyOK в вс, 12/02/2012 - 15:37.

С 6 - кой эти вопросы я уже забыл.

У кого получилось с feeds пишите в личку. Покажу глюки на вашем сайте.

У кого не получилось с feeds (но очень хочеца) тоже пишите.