Rss стрічка за допомогою views

1. Створюємо та налаштовуємо уявлення для формування rss.

Це просто при створенні view додаємо варіант Feed.

Rss стрічка за допомогою views

Додаємо обов'язкові, для формування фида: Title, Link, Description, Creator, Publication Date, GUID (глобальний унікальний ID для елемента RSS).

Для цих полів є деякі нюанси:

Тепер потрібно налаштувати прив'язку полів уявлення до полів фида.

Rss стрічка за допомогою views

У вікні вибираємо для кожного пункту потрібні поля, приблизно так:

Rss стрічка за допомогою views

У блоці Feed Settings вказуємо шлях, наприклад, / rssfull. І зберігаємо. Відкриваємо фид в браузері. І бачимо, що нічого не працює. Opera наш фід обробити не може, feedburner не приймає, тому що XML не дійсний.

2. Виправляємо невалідний XML для rss-стрічки.

Для цього просто потрібно перевизначити шаблон виводу rss. В папці з темою створюємо файлик views-view-rss.tpl.php

Код шаблону беремо в блоці Advanced / Other. Пункт Theme: Information

Rss стрічка за допомогою views

Дивимося Style Output для шаблону views-view-rss.tpl.php (жирним шрифтом виділено той файл який відповідає за виведення конкретного view.

Rss стрічка за допомогою views
.

Копіюємо код, показаний при кліці на посилання style output, вставляємо в файл views-view-rss.tpl.php. створений в папці вашої теми. Вставляємо код і замінюємо:

version = "1.0" encoding = "utf-8" ";? >> на version =" 1.0 "encoding =" utf-8 ""; ? >>

3. Доповнюємо RSS фід своїми полями.

В налаштуваннях полів фида ми не можемо вказати додаткові поля. Але ніщо не заважає нам додати потрібні поля в уявлення, виключити їх з виведення, і зібрати всі потрібні поля, перезаписавши одне з них, яке буде вказано в якості поля Description в налаштуваннях полів фида.

Тут я зіткнулася з деякими проблемами: додаткові поля заповнені не скрізь. Тому, вони для перевизначення не підходять. Нам потрібно поле, яке, напевно, є для кожного матеріалу. Body - варіант хороший і правильний, але тільки в тому випадку, якщо в rss ви віддаєте повний пост. У мене ж "обрізаний" анонс. Відповідно, "обрізається" весь вміст цього поля. Мені такий варіант не підходив, тому було взято ще одне поле - Content: Nid, і в ньому зібрані всі поля, які повинні бути присутніми в вмісті поста в RSS-стрічці.

Як перевизначити висновок поля?

В налаштуваннях поля є пункт Rewrite Results. Відзначаємо checkbox "Rewritw the output of this field" і в полі Text прописуємо все, що потрібно. У мене вийшло ось так:

Rss стрічка за допомогою views

В якому вигляді вставляти і які поля доступні видно під формою в блоці "Replacement patterns".

Схожі статті