feeds как закачать им несколько картинок в одно поле? [Решено]

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

Аватар пользователя VasyOK VasyOK 5 марта 2013 в 11:25
1

[Решение] (спасибо комментаторам и сотрудникам IT-Patrol)
Модули:

  • Feeds 7.x-2.0
  • Feeds_tamper 7.x-1.x-dev http://drupal.org/node/1052052
  • Подмодули для feeds tamper explode.inc и add_prefix.inc (в аттаче к посту - немного исправлены). Закачать в feeds_tamper/plugins/

В ячейку вводил вот так (так удобно вставлять имена файлов с Тотал командера):

При сохранении в CSV сохранял так.

Заданные темперы для поля с фото (сверху вниз)

  • Find replace: Text to find jpg Text to replace jpg,
  • Explode: String separator ,%n
  • Add Prefix: Text to prefix http://sitename.com/files/ файловая система сайта, сюда закачаны изображения.
ВложениеРазмер
Иконка пакета for_feeds_tamper.zip1.52 КБ

Комментарии

Аватар пользователя VasyOK VasyOK 5 марта 2013 в 15:56

Например у меня в ячейке прописано kartinka1.jpg, kartinka2.jpg

Explode, он рассматривает значение как множество если значения разделены запятым. Пусть так.

А сейчас нужно использовать плагин который добавляет текст к значению в ячейке. Нужно же чтобы не просто kartinka1.jpg было написано, а sitename.com/files/kartinka1.jpg ?

Аватар пользователя VasyOK VasyOK 5 марта 2013 в 18:07

И как оба этих действия в feeds tamper реализовать? Добавление текста и разделение значений?

/*Добавлено*/
Пробовали уже. Не могу пока похвастаться результатом.
Хорошо другой пример, а можно что то сделать если в одну ячейку файлы вписаны не через запятую а построчно?
т.е. так:
sitename.com/files/kartinka1.jpg
sitename.com/files/kartinka2.jpg

Аватар пользователя CSoft CSoft 5 марта 2013 в 17:49

"VasyOK" wrote:
И как оба этих действия в feeds tamper реализовать?

Попробовать Explode, потом добавление. Сам этим вопросом не занимался, ибо изначально подготовил полные пути к картинкам. Что и Вам по возможности советую сделать.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 5 марта 2013 в 18:32

VasyOK: там в feeds tamper есть вроде возможность подставлять в начале строки автоматом.

"VasyOK" wrote:
Хорошо другой пример, а можно что то сделать если в одну ячейку файлы вписаны не через запятую а построчно?

Это пофиг как, если посточно, то у тебя всё равно разделитель - новая строка (если обработчик не вырезает их). Explode делает из строки массив на основании любого разделителя.

Аватар пользователя VasyOK VasyOK 6 марта 2013 в 15:12

volocuga, если честно не понял, что можно высянить из этой ссылки.
Мне нужно в качетве разделителя залдать \r\n. Посмотрел CSV файл там нет такого символа.

Или писать код который берет первую строку?

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 6 марта 2013 в 15:43

"VasyOK" wrote:
Посмотрел CSV файл там нет такого символа

Если ты его не видишь - это не означает что его там нет
Использовать в качестве разделителя новую строку - имхо опрометчиво. Ходя бы потому, что трактовка новой строки разная у линукса и виндовс. Используй что то явное типа |

Аватар пользователя VasyOK VasyOK 6 марта 2013 в 20:36

Приблуда в данном случае оффтоп. Хотя люблю такие вещи тестить.

Пока что склоняюсь к мысли что если в ячейке написано
kartinka1.jpg
kartinka2.jpg
, то нужно сначала заменить на
sitename.com/files/kartinka1.jpg,
sitename.com/files/kartinka2.jpg,

, а потом рассматривать импортируемое содержимое с символом разделится ","

Найти и заменить "jpg" на "jpg," - это понятно.

А вот как заменить "kartinka1.jpg" на "sitename.com/files/kartinka1.jpg," - пока не догоняю.

Аватар пользователя CSoft CSoft 6 марта 2013 в 20:41

Давайте по порядку. Откуда Вы берёте данные для импорта? С помощью каких средств идёт экспорт этих данных? Как часто будет производиться импорт?

Аватар пользователя mg.bsv mg.bsv 6 марта 2013 в 21:07

наверное не в тему, но все же.

после практического применения модуля feeds, пришел к выводу, что я не хочу его использовать. навскидку проблемы:
- не создает термины состоящие только из цифр (не уверен, что это косяк именно feeds)
- нельзя, используя feeds, добавить массу полей, даже, банально, синоним ноды
...
что-то больше не вспомню... в общем намучился я с ним, хотя все задачи решил, но там глаз, да глаз нужен - косяк на косяке... хотя может руки у меня кривые...

я открыл для себя node_save и fgetscsv... подготовительные этап, конечно, занял время, пришлось покодить, но теперь я могу импортироваться хоть дьявола...
пока решил отказаться от feeds вообще

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 6 марта 2013 в 21:12

"mg.bsv" wrote:
пока решил отказаться от feeds вообще

+

Feeds - это классический пример, что модули, который пытаются решить слишком много проблем - сосут по полной. У них впрочем всегда будет своя аудитория криворуких ламеров Smile

Аватар пользователя vdsolo vdsolo 26 октября 2013 в 21:39

Подскажите. У меня, при импорте этой методой, происходит странная вещь - файл изображения добавляются только один, тот что по списку первый идёт, а потом он дублируется стольок раз, сколько фото было в списке. Следующие по списку фото игнорируются. В чем причина? спасибо.

Аватар пользователя leramulina leramulina 3 мая 2015 в 22:07

А как в итоге у Вас записано в csv файле?

У меня если одна картинка, то
images/000004_1.jpg
и нормально загружается

Сделала для множественных
"images/000005_1.jpg","images/000005_2.jpg","images/000005_3.jpg","images/000005_4.jpg"
и не загрузилось ни одной.

Заранее спасибо!

Аватар пользователя VasyOK VasyOK 4 мая 2015 в 3:12

"А как в итоге у Вас записано в csv файле?"
У меня так как на картинке.
Через Ctrl+Enter (ну мало ли)

Подмодули для feeds tamper explode.inc и add_prefix.inc - из архива можете взять если то что сейчас в feeds tamper не устравает. Модули - последних версий качайте. Пост 2-х летней давности.