Вы здесь

Загрузка изображений через Parser от xandeadx

-1

Здравствуйте!
Настраиваю на сайте Parser от http://xandeadx.ru/blog/drupal/554
Текст парсится отлично, однако, возникает проблема с изображениями, выдает следующую ошибку:

An AJAX HTTP error occurred. HTTP Result Code: 500 Debugging information follows. Path: /batch?id=15&op=do StatusText: Service unavailable (with message) ResponseText: EntityMetadataWrapperException: Unknown data property field_image. in EntityStructureWrapper->getPropertyInfo() (line 335 of /public_html/sites/all/modules/entity/includes/entity.wrapper.inc).

Однако из задания в примере изображения загружаются верно. Я только начинаю осваивать этот модуль, поэтому возможно ошибку какую-то глупую допустил?
В настройках задания в поле "Image" прописано следующее:

return array(
'file' => $doc->find('.field-name-field-project-images a:first')->attr('href'),
);

В типе содержимого поле image соответственно также имеется. Заранее спасибо за ответ!

Версия Drupal: 
7.x
Категория: 
Entity API
Вопрос задан 02.10.2015 - 08:44

Ответы

1

Решил проблему. В настройках типа содержимого в параметрах поля "Image" было указано неограниченное количество изображений. А код был написан под одно изображение, поэтому выдавалась ошибка "There can be only numerical keyed items in a list.", которую я сначала в логах не заметил почему-то. Установил ограничение на 1 изображение - и все заработало!

Спасибо за ответы!

Ответ дан 02.10.2015 - 23:23

Пометку ставьте, что решена проблема.

Комментарий оставлен 03.10.2015 - 10:23

Только не такую отметку, как на drupal.ru! Есть же ссылка «Лучший ответ».. СтакОверфлоу, что ли, не использовали ни разу? :)

Комментарий оставлен 03.10.2015 - 10:59
1

У меня так работает

return array(
  'file' =>  $doc->find('.featured-image-inner img:first')->attr('src'),
);

Ответ дан 02.10.2015 - 10:39
Аватар пользователя Sora
Sora
92
1

А в точно ссылка на картинку лежит?

Нужно видеть откуда вы парсите, может что-то не то достаёте.

Примеры из моих заданий.

Простой парсинг из картинки:

return array(array(
      'file' => $doc->find('center img')->attr('src'),
));

Несколько картинок из тега img парсятся:

$d = $doc->find('.left_b_tovar .foto > img');
foreach($d as $i):
  $file = pq($i)->attr('src');
  $fotos[]['file'] = $file;
endforeach;
return $fotos;

Несколько ссылок на картинки:

$images = $doc->find('.Gallery .Photos a');
foreach($images as $i):
  $image = pq($i);
  $files[]['file'] = $image->attr('href');
endforeach;
return $files;
Ответ дан 02.10.2015 - 12:52
Аватар пользователя VVS
VVS
31

У меня несколько картинок, поэтому и массив массивов.

Комментарий оставлен 07.10.2015 - 11:20