Помогите с импортом! (РЕШЕНО)
Прислано: uasite
вт, 22/11/2011 - 11:43
Использую ноде импорт и ноде импорт апдейт
при перезагрузке прайса в котором нет описания и картинки,
те описаения и картинки которые были внесены ранее перезаписываются на пустоту и исчезают
Вопрос как исключить некоторые поля из импорта
или не перезаписывать их
или перезаписывать с теми данными которые были
Некий Паул на орге писал небольшой модуль как раз для этого,
чтоб картинки при апдейте перезаписывались те которые и были.
Для этого предворительно выбирая ноду из базы данных и передавая
параметры в постовый массив.
модуль прилагаю
точно код этого модуля есть в ноде импорт апдейт внизу закоментированный
вроде все сделал как он писал
ничего не работает
очень прошу помогите
Заранее благодарен всем кто не будет меня ругать а просто посоветует что делать
| Прикрепленный файл | Размер |
|---|---|
| my_module.rar | 941 байт |
- uasite's blog
- Для комментирования войдите или зарегистрируйтесь
Офтоп: На сколько востребована была бы программа под Windows, которая импортирует ноды, поля, подтягивает изображения в Drupal с помощь модуля services с файла XLS? Есть уже наработки, все готово и работает, просто думаю стоит ли ее переделывать для универсального решения (визуально сопоставить поля XLS и CCK, и т.п.)
- Для комментирования войдите или зарегистрируйтесь
насколько я читал
тема актуальная и нормального решения я не нашел
а сколько такая может стоить?
- Для комментирования войдите или зарегистрируйтесь
uasite, что в вашем моделе не так я не знаю. А вы смотрели сборку openstore? В ней модуль импорта уже настроенный. Он только цены обновляет.
faraon, насколько программа востребована, можно сказать только когда программа уже написана. Вы со мной согласны?
- Для комментирования войдите или зарегистрируйтесь
Люююди!!
подскажите где пправить модуль ноде импорт чтоб он не обнулял описание и поле картинки в уберкарт ??
- Для комментирования войдите или зарегистрируйтесь
openstore??
на орге?
- Для комментирования войдите или зарегистрируйтесь
о нашел сейчас поставлю и попробую
- Для комментирования войдите или зарегистрируйтесь
Поставил
к сожалению не подходит
клиенту приходят прайсы раз в неделю где меняется цена, прайсы без описания и без картинок
он сам вносит описания и картинки
ноде импорт апдейт обновляет существуюшие ноды по заголовку
это как раз подходит
не подходит то, что обнуляется поле описание и поле картинка тк в прайсе который пришел нет ни картинки ни описания
- Для комментирования войдите или зарегистрируйтесь
Прекратите плодить темы. Если надо бесплатно, то пользуйтесь тем что есть (как я). Уверяю вас работы в направлении усовершенствования импорта ведутся.
Просто пользоватьcя пропатченым модулем node import, сделать прайс один раз с картинками, а потом вставляйте в него нужные столбцы.
Если надо платно - на форуме есть соответствующая тема.
- Для комментирования войдите или зарегистрируйтесь
А если feeds?
- Для комментирования войдите или зарегистрируйтесь
А там такая функция есть?
- Для комментирования войдите или зарегистрируйтесь
А там такая функция есть?
Там чего только нет. Главное настроить правильно.
- Для комментирования войдите или зарегистрируйтесь
Перефразирую, может все таки кто подскажет
Как исключить некоторые поля из импорта
чтоб не перезаписывались
где примерно смотреть или копать
может подскажете какие функции собирают запрос или как их найти и где они в ноде импорт
- Для комментирования войдите или зарегистрируйтесь
faraon, насколько программа востребована, можно сказать только когда программа уже написана. Вы со мной согласны?
Программа и написана, только на входе не XLS, а база MS SQL Server, синхронизирую свое приложение с уберкартом. Кстати, очень удобно работать с картинками - в проге загрузил или удалил, описание написал - на сайт передается в фоновом режиме, если картинка изменилась. Старые картинки сохраняются. Переделать для XLS не сложно и можно сделать удобное приложение. Вопрос только на сколько это актуально для пользователей, учитывая, что не у каждого Windows.
- Для комментирования войдите или зарегистрируйтесь
Стоить может немного, если будет универсальная (за счет массовых продаж).
- Для комментирования войдите или зарегистрируйтесь
Давно делал. Если не ошибаюсь, делал, чтобы не обновлялось описание и картинки:
В 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'];
?>- Для комментирования войдите или зарегистрируйтесь
uasite, вас и с первого раза поняли. Не вам одному надо.
- Для комментирования войдите или зарегистрируйтесь
uasite, если не заработал код, который я привел, напишите в личку
- Для комментирования войдите или зарегистрируйтесь
с описанием получилось
а вот с картинкой у меня стопор
уже не знаю что делать перепробовал все варианты методом тыка
Вот это в исходном постовом массиве
[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
ошибка возникает только если я перезаписываю вышеприведенную часть массива
- Для комментирования войдите или зарегистрируйтесь
Уважаемые гуру друпала помогите разобраться
я в программировании слаб
как и в апи друпала
все пробую методом тыка
Fatal error: Cannot unset string offsets in /home/uapricen/public_html/cum/modules/filefield/filefield_widget.inc on line 483
эта ошибка я так понял возникает тк функция обращается к строке как к массиву
как это можно исправить?
- Для комментирования войдите или зарегистрируйтесь
Методом тыка как всегда
Но получилось!!!
немного кривовато но все же
посмотрел чего ругается функция ансет
она ожидает что елемент массива date сам является массивом с элементом у которого ключ description
ну вот я его и создал
правда теперь альты и титлы картинки при апдейте перезаписываются на пустоту
но это потом посмотрю
- Для комментирования войдите или зарегистрируйтесь
Друзья, а чем вас не устраивают решения Drumode и Druporte ?
- Для комментирования войдите или зарегистрируйтесь
Предположу - тем, что они платные :)
- Для комментирования войдите или зарегистрируйтесь
а сколько такая может стоить?
Совсем не дорого ;-) http://www.drupal.ru/node/50309
- Для комментирования войдите или зарегистрируйтесь
тем, что они платные :)
Платно - совсем не обязательно значит не рассматривать такие варианты.
- Для комментирования войдите или зарегистрируйтесь
С 6 - кой эти вопросы я уже забыл.
У кого получилось с feeds пишите в личку. Покажу глюки на вашем сайте.
У кого не получилось с feeds (но очень хочеца) тоже пишите.
- Для комментирования войдите или зарегистрируйтесь





Комментарии