Feeds або швидке створення матеріалів, подрупалім)
Якщо вам необхідно створити безліч схожих матеріалів, наприклад каталог, то на допомогу прийде корисний модуль Feeds.
Він дозволяє завантажувати дані з файлів, rss стрічок і т.д. як з локальних файлів так і інших сайтів і по ftp.
Для завантаження даних необхідно створити імпортер складається з: збирача, парсеру і.
Сборщик (Fetcher)
Цей компонент визначає, звідки повинні виходити дані. Це може бути завантажений файл, наприклад у форматі CSV або XML. А також можна вибрати »HTTP Сборщик» (HTTP Fetcher) і вказати URL для віддаленого завантаження даних.
Складальник може отримувати дані як при завантаженні вручну, так і через певні періоди часу, за замовчуванням - кожні 30 хвилин.
Парсер (Parser)
Після того як інформація отримана, парсер розбиває її на логічні блоки.
Гаразд, вистачить теорії - переходимо до практики.
ТЗ: Необхідно створити імпортер товарів каталогу столів. Кожен стіл має характеристики: назва, опис, ціна, зображення. Вихідні дані мають формат таблиці xls, а зображення товару знаходяться в папці.
Таблиця має вигляд:
Зображення мають формати table1.jpg, table2.jpg ітд.
Створюємо ноду для товарів. Структура → типи матеріалів → додати тип матеріалу. Називаємо його tables. До вже наявних полях title і body необхідно додати ще price - Ціле число і table_image - Зображення.
Отримуємо щось типу того:

Видаляємо рядок з заголовками з таблиці (для того, щоб не виникало різночитань заголовків таблиці) і зберігаємо в форматі CSV з роздільником кома (,).
Копіюємо папку з зображеннями на сайт в папку / sites / default / files / table /
Завантажуємо і включаємо модуль Feeds і Feeds Admin UI
Структура → Feeds Importers → Add importer
Називаємо імпотер tables
У базових налаштуваннях відключаємо Періодичний імпорт
Складальник вибираємо File upload
Оброблювач ставимо CSV parser
Налаштування для CSV parser ставимо галочку без заголовків.
Processor залишаємо Node processor.
Налаштування для Node processor
Update existing Матеріали Update existing nodes (slower than replacing them)
Тип матеріалу tables
Ну і найважливіше і цікавіше
Відповідності для Node processor