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

Главные вкладки

Аватар пользователя uasite uasite 22 ноября 2011 в 15:43

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

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

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

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

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

ВложениеРазмер
Файл my_module.rar941 байт

Комментарии

Аватар пользователя faraon faraon 22 ноября 2011 в 18:40

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

Аватар пользователя VasyOK VasyOK 23 ноября 2011 в 0:31

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

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

Аватар пользователя uasite uasite 23 ноября 2011 в 2:49

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

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

Аватар пользователя uasite uasite 23 ноября 2011 в 0:32

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

Аватар пользователя faraon faraon 23 ноября 2011 в 17: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 VasyOK 23 ноября 2011 в 8:06

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

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

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

Аватар пользователя uasite uasite 23 ноября 2011 в 14:25

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

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

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

Аватар пользователя faraon faraon 23 ноября 2011 в 17:10

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

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

Аватар пользователя uasite uasite 25 ноября 2011 в 5: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 uasite 25 ноября 2011 в 6:00

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

Аватар пользователя uasite uasite 25 ноября 2011 в 7:22

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

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

Аватар пользователя VasyOK VasyOK 12 февраля 2012 в 19:37

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

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

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