[Решение] (спасибо комментаторам и сотрудникам 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.zip | 1.52 КБ |
Комментарии
Плагин Explode
Например у меня в ячейке прописано kartinka1.jpg, kartinka2.jpg
Explode, он рассматривает значение как множество если значения разделены запятым. Пусть так.
А сейчас нужно использовать плагин который добавляет текст к значению в ячейке. Нужно же чтобы не просто kartinka1.jpg было написано, а sitename.com/files/kartinka1.jpg ?
Путь к картинкам конечно должен быть полным.
И как оба этих действия в feeds tamper реализовать? Добавление текста и разделение значений?
/*Добавлено*/
Пробовали уже. Не могу пока похвастаться результатом.
Хорошо другой пример, а можно что то сделать если в одну ячейку файлы вписаны не через запятую а построчно?
т.е. так:
sitename.com/files/kartinka1.jpg
sitename.com/files/kartinka2.jpg
Попробовать Explode, потом добавление. Сам этим вопросом не занимался, ибо изначально подготовил полные пути к картинкам. Что и Вам по возможности советую сделать.
VasyOK: там в feeds tamper есть вроде возможность подставлять в начале строки автоматом.
Это пофиг как, если посточно, то у тебя всё равно разделитель - новая строка (если обработчик не вырезает их). Explode делает из строки массив на основании любого разделителя.
А как задать в качестве разделителя новую строку?
http://stackoverflow.com/questions/3206531/php-new-line-break
volocuga, если честно не понял, что можно высянить из этой ссылки.
Мне нужно в качетве разделителя залдать \r\n. Посмотрел CSV файл там нет такого символа.
Или писать код который берет первую строку?
Если ты его не видишь - это не означает что его там нет
Использовать в качестве разделителя новую строку - имхо опрометчиво. Ходя бы потому, что трактовка новой строки разная у линукса и виндовс. Используй что то явное типа |
Я конечно понимаю твою проблему - возиться неподготовленному человеку с точками - запятыми проблемно, поэтому я в своё время изготовил такую приблуду http://drupal.org/sandbox/ymakux/1856080
Приблуда в данном случае оффтоп. Хотя люблю такие вещи тестить.
Пока что склоняюсь к мысли что если в ячейке написано
kartinka1.jpg
kartinka2.jpg
, то нужно сначала заменить на
sitename.com/files/kartinka1.jpg,
sitename.com/files/kartinka2.jpg,
, а потом рассматривать импортируемое содержимое с символом разделится ","
Найти и заменить "jpg" на "jpg," - это понятно.
А вот как заменить "kartinka1.jpg" на "sitename.com/files/kartinka1.jpg," - пока не догоняю.
Давайте по порядку. Откуда Вы берёте данные для импорта? С помощью каких средств идёт экспорт этих данных? Как часто будет производиться импорт?
Просто вручную вношу данные в таблицу. Вопросы обновления в данной теме не затрагиваю.
наверное не в тему, но все же.
после практического применения модуля feeds, пришел к выводу, что я не хочу его использовать. навскидку проблемы:
- не создает термины состоящие только из цифр (не уверен, что это косяк именно feeds)
- нельзя, используя feeds, добавить массу полей, даже, банально, синоним ноды
...
что-то больше не вспомню... в общем намучился я с ним, хотя все задачи решил, но там глаз, да глаз нужен - косяк на косяке... хотя может руки у меня кривые...
я открыл для себя node_save и fgetscsv... подготовительные этап, конечно, занял время, пришлось покодить, но теперь я могу импортироваться хоть дьявола...
пока решил отказаться от feeds вообще
+
Feeds - это классический пример, что модули, который пытаются решить слишком много проблем - сосут по полной. У них впрочем всегда будет своя аудитория криворуких ламеров
ну почему же, в node import все чики пуки, но блин только под шестерку
Нашел решение. Исправил тему.
Хотел задать но передумал.
Подскажите. У меня, при импорте этой методой, происходит странная вещь - файл изображения добавляются только один, тот что по списку первый идёт, а потом он дублируется стольок раз, сколько фото было в списке. Следующие по списку фото игнорируются. В чем причина? спасибо.
vdsolo, если б знал сказал бы. Извините.
быват...
А как в итоге у Вас записано в csv файле?
У меня если одна картинка, то
images/000004_1.jpg
и нормально загружается
Сделала для множественных
"images/000005_1.jpg","images/000005_2.jpg","images/000005_3.jpg","images/000005_4.jpg"
и не загрузилось ни одной.
Заранее спасибо!
"А как в итоге у Вас записано в csv файле?"
У меня так как на картинке.
Через Ctrl+Enter (ну мало ли)
Подмодули для feeds tamper explode.inc и add_prefix.inc - из архива можете взять если то что сейчас в feeds tamper не устравает. Модули - последних версий качайте. Пост 2-х летней давности.