Донецкий техникум промышленной автоматики

Спільне використання Drupal, HTML5 і мікроданних

  1. Вступ
  2. Що таке мікродані?
  3. Розміщення словника schema.org з мікродані
  4. Лістинг 1. Проста розмітка для опису фільму, вдосконалена за допомогою schema.org
  5. Малюнок 1. мікродані Schema.org, витягнуті з прикладу в лістингу 1
  6. Використання Drupal для додавання мікроданних до web-сторінок
  7. Розмітка типу контенту
  8. Малюнок 2. мікродані, витягнуті після відображення типу контенту і назви
  9. Розмітка текстових полів
  10. Малюнок 3. Інтерфейс для відображення текстового поля
  11. Розмітка поля зображення
  12. Малюнок 4. Інтерфейс для відображення поля зображення
  13. Малюнок 5. мікродані, витягнуті з текстового поля і з поля зображення
  14. Малюнок 6. Відображення Rich Snippet для фільму
  15. Реєстрація властивостей
  16. Лістинг 2. Додавання інформації властивості для поля до link_field_info
  17. Лістинг 3. Реєстрація властивостей поля за допомогою зворотного виклику властивості
  18. Малюнок 7. Форма для відображення мікроданних посилання
  19. Додавання мікроданних до висновку на основі тим
  20. Лістинг 4. Посилання до і після додавання мікроданних
  21. Лістинг 5. Додавання мікроданних в hook_field_formatter_view
  22. Лістинг 6. Додавання мікроданних в функцію theme
  23. Передача зроблених вами змін назад в співтовариство
  24. Висновок
  25. Ресурси для скачування

Спростіть пошук і повторне використання свого контенту

8 листопада 2011 року - Як реакція на коментарі одного з читачів автор додав елемент span до властивості birthDate і замінив вміст лістингу 1 .

Вступ

У травні 2011 р тріумвірат у складі Google, Yahoo і Bing представив schema.org і змусив всіх говорити про структурованих даних. Schema.org - це новий спосіб розповісти пошуковим машинам про вміст ваших web-сторінок. Якщо автор web-контенту додасть до своїх сторінок невелика кількість метаданих - всього лише кілька словникових термінів - то його сторінки будуть краще виявлятися усіма трьома пошуковими машинами.

Додаткова розмітка поки не змінила спосіб, за допомогою якого результати пошуку демонструються для багатьох web-сайтів, що реалізували schema.org. Проте, автори web-контенту як і раніше прагнуть до того, щоб їх сторінки були розмічені належним чином і готові до споживання "великою трійкою пошукачів".

Schema.org ускладнює роботу тих web-авторів, у яких немає досвіду використання різних синтаксисів для додавання структурованих даних в HTML, в тому числі наступних синтаксисів:

  • мікроформати
  • RDFa
  • мікродані

Проблема додатково ускладнюється тим, що компанія Google (власник найвпливовішої для багатьох web-авторів пошукової машини) заявила, що буде обробляти тільки мікродані. Однак мікродані, найновіший з цих трьох синтаксисів, поки не мають суттєвої підтримки з боку будь-яких інструментів.

З цієї статті ви дізнаєтеся, як використовувати Drupal для додавання мікроданних до своїх сторінок. Ви зможете підготувати свій контент таким чином, щоб він міг використовуватися в таких додатках, як Google Rich Snippets.

завантажте вихідний код для цієї статті.

Що таке мікродані?

Часто використовувані скорочення
  • FOAF: Friend of a Friend
  • RDF: Resource Description Framework
  • RDFa: RDF in attributes

Мікродані - це простий спосіб додавання структурованих даних до web-сторінок. Цей спосіб базується на завданні декількох атрибутів, таких як itemtype і itemprop, які можуть бути поміщені в HTML-теги для розміщення інформації про тематику відповідної web-сторінки. Мікродані представив у 2009 році Ян Хіксон (Ian Hickson), редактор специфікації HTML5, хоча коріння цієї ідеї існували задовго до цього.

Мікродані засновані на мові RDFa, який являє собою спосіб приміщення RDF в HTML. Ідея RDFa була представлена ​​в 2004 році Марком Бірбека (Mark Birbeck) у вигляді повідомлення, опублікованого організацією W3C. Потім ця ідея була реалізована в черговий версії XHTML. У RDFa було введено кілька нових HTML-атрибутів, таких як property і about, і повторно використані деякі наявні атрибути, такі як rel.

RDFa має потужні можливості, однак web-автори можуть стикатися з труднощами при визначенні коректності свого RDFa-коду - як наслідок взаємодій, іноді складних, між різними атрибутами. Крім того, RDFa успадкував деякі особливості XML, такі як префікси namespace, які також можуть викликати труднощі.

Інша версія структурованих даних в XHTML - так звані мікроформати - була представлена ​​приблизно через рік великою групою розробників. На відміну від RDFa, мікроформати повторно використовують існуючі XHTML-атрибути, які автори web-контенту вже використовували раніше, такі як атрибут rel у посилань. Мікроформати також додають певну частку семантики в ці атрибути. Основний акцент був зроблений на розмітці тільки видимого контенту; невидимий контент з легкістю допускає неправильне поводження або розсинхронізація з видимим контентом.

Одна з проблем з мікроформатами полягає у відсутності єдиного способу для синтаксичного розбору (парсинга). В результаті необхідно додавати підтримку для кожного мікроформатів. Наприклад, якщо ви хочете обробити календарні дані і дані адреси, ви повинні упевнитися, що ваш парсер підтримує обидва типи даних, або використовувати два різних парсеру. Крім того, можуть виникнути труднощі при публікації нового мікроформатів за допомогою спільноти.

Мікродані об'єднують гідності мікроформатів і RDFa. Переваги мікроданних:

  • Зменшують складність RDFa за допомогою скорочення кількості атрибутів і опцій для їх розміщення.
  • Усувають префікси namespace.
  • Підтримують єдиний парсинг RDFa, що істотно спрощує створення інструментів, які працювали б "поверх" публікуються даних.
  • Дозволяють різним групам людей створювати власні набори значень атрибутів, т.зв. словників, для використання з мікродані.

Розміщення словника schema.org з мікродані

Schema.org - це словник, який відмінно працює з мікродані. Оскільки ніякої стверджує орган не відповідає за словники, власники пошукової машини змогли розробити власний словник для задоволення своїх потреб. Більша частина цього словника має справу з такими сутностями, на які компанія Google вже орієнтується за допомогою своєї технології Rich Snippets: люди, місця, події, розвага, комерція.

Кілька хороших прикладів (див. Розділ ресурси ) Демонструють порядок розміщення термінів schema.org на web-сайті. Наприклад, в лістингу 1 показана проста розмітка для опису фільму (movie), вдосконалена за допомогою термінів schema.org.

Лістинг 1. Проста розмітка для опису фільму, вдосконалена за допомогою schema.org

<Div itemscope itemtype = "http://schema.org/Movie"> <h1 itemprop = "name" & g; Avatar </ h1> <div itemprop = "director" itemscope itemtype = "http://schema.org/ Person "> Director: <span itemprop =" name "> James Cameron </ span> (born <span itemprop =" birthDate "> August 16, 1954) </ span> </ div> <span itemprop =" genre "> Science fiction </ span> <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer"> Trailer </a> </ div>

Може не відразу опинитися зрозумілим, що саме робить додаткова розмітка. Щоб зрозуміти це, опублікуйте в Інтернеті сторінку з даними сніпетів (snippet). Після цього ви зможете ввести URL-адресу для цієї сторінки в інструмент Google Rich Snippets Testing Tool (див. Розділ ресурси ), Як показано на малюнку 1 . Якщо у вас немає вільного доступу до web-серверу, ви зможете скопіювати і вставити цей сниппет в інструмент тестування "живих" мікроданних, наданий Філіпом Ягенштедтом (Philip Jagenstedt), одним з розробників Opera (див. Розділ ресурси ).

Малюнок 1. мікродані Schema.org, витягнуті з прикладу в лістингу 1
Спростіть пошук і повторне використання свого контенту   8 листопада 2011 року - Як реакція на коментарі одного з читачів автор додав елемент span до властивості birthDate і замінив вміст   лістингу 1

Вищезгаданий інструмент витягнув інформацію про двох сутності: про фільм (movie) та про його режисера (director).

Двома основними концепціями мікроданних є елемент (item) і властивість (property) цього елемента. Властивість може бути рядком або іншим елементом. Наприклад, movie (фільм) - це елемент. У цього елемента є ім'я, яке представляє собою властивість, що має значення типу "рядок". У цього фільму також є властивість director (режисер), яке має значення типу "елемент" - в даному випадку, це певна людина.

Щоб повідомити парсеру, що мова йде про деякий елемент, використовується атрибут itemscope. Також можна використовувати атрибут itemtype для повідомлення парсеру про тип цього елемента.

Атрибут itemtype дозволяє вказати, які властивості можуть бути використані в атрибуті itemprop. Наприклад, на сторінці для itemtype-атрибута Movie присутній список властивостей, які можуть використовуватися з фільмом (див. Розділ ресурси ). Інші властивості за межами цього списку також можуть бути використані, якщо ви задієте повний URL-адресу відповідного властивості. Наприклад, словник FOAF також специфікує властивість name property. Ви можете використовувати атрибут itemprop = "http://xmlns.com/foaf/0.1/name" для задіяння FOAF-властивості name замість schema.org-властивості name.

Всі властивості всередині тега <div> Movie розуміються, як властивості фільму до тих пір, поки ви не досягнете кінця div або поки ви не досягнете itemscope в тезі div всередині Movie (лістинг 1). Атрибут itemscope вказує, що тепер ми говоримо про інше елементі (Person, в даному випадку), таким чином, властивість birthplace розуміється як атрибут елемента Person, а не атрибут елемента Movie.

Ви додали до свого контенту невелику структуру, тому тепер будь-який інструмент з легкістю одержить від нього релевантну інформацію. Додавши вищеописані атрибути в HTML, ви істотно спростили обробку даних на своїй сторінці - майже, як в електронній таблиці Excel або в базі даних.

Технологія мікроданних досить проста, однак при розміщенні та супроводженні контенту в ручному режимі все ще можуть виникати труднощі. Деякі інструменти підтримують створення мікроданних, в тому числі Drupal-модуль Microdata (див. Розділ ресурси ).

Використання Drupal для додавання мікроданних до web-сторінок

Drupal - це система управління контентом, яка використовується приблизно на 2% web-сайтів. Інтерфейс Drupal дозволяє адміністраторам web-сайту створювати форми для збору контенту від користувачів. Після цього Drupal автоматично створює для даних форми відповідні таблиці і поля в базі даних, а також здійснює відображення цих даних конфігурованим способом.

Drupal особливо добре підходить для виведення структурованих даних завдяки використовуваному їм способу обробки контенту - контент обробляється як окремі об'єкти (сутності) з властивостями, представленими у формі значень полів. У версії Drupal 7 в ядро ​​Drupal була включена можливість додавання до HTML структурованих даних за допомогою RDFa.

Після представлення schema.org 2 червня 2011 року була проведена робота для додавання аналогічної підтримки для виведення мікроданних. Модуль Microdata все ще знаходиться в процесі розробки і не готовий до використання на реальних web-сайтах. При проведенні експериментів на тестових web-сайтах модуль Microdata можна використовувати з метою генерації мікроданних для полів і з метою тестування відображень Rich Snippet на основі цих мікроданних.

Почнемо з повторного створення показаного вище прикладу з використанням Drupal. Скористайтеся розділом ресурси для завантаження і установки нових випусків наступних модулів:

  • Microdata
  • Entity API
  • CTools

Розмітка типу контенту

Елемент content type (тип контенту) дозволяє користувачеві задати, які значення полів суті будуть збиратися і зберігатися. Наприклад, можна створити тип контенту product (товар) з полями форми для збору таких даних, як ціна, доступні кольори, розміри і виробничий артикул моделі, що істотно полегшить проведення інвентаризації.

Як вправа створимо тип контенту movie (фільм). Виберіть Structure> Content Types, натисніть на посилання Add Content type (Додати тип контенту), а потім введіть наступну інформацію.

  • Name (ім'я): Movie
  • Description (опис): A page describing a movie (Сторінка, що описує фільм)
  • Comment settings (настройка коментарів): Виберіть Closed. Нам не потрібна функція коментаря на цій сторінці.
  • Microdata settings (Налаштування Microdata): Додайте itemtype http://schema.org/Movie.

    Title (назва) - це спеціальний різновид поля, яка не має власного екрану редагування, тому ми додаємо тут і назва. Для розмітки назву за допомогою властивість name.

Ви можете протестувати роботу цього прикладу за допомогою створення нового елемента Movie (фільм). Натисніть на Add content (Додати контент) для створення елемента Movie. Після цього за допомогою інструмента Rich Snippets testing tool, щоб визначити, чи зможете ви отримати дані з цієї сторінки. Ви повинні побачити одиночний елемент з типом http://schema.org/movie і з ім'ям Cool Hand Luke (див. малюнок 2 ).

Малюнок 2. мікродані, витягнуті після відображення типу контенту і назви

Тип контенту був розпізнаний як фільм з назвою. Однак про цей фільм є й інша інформація.

Розмітка текстових полів

Поля приєднуються до типам контенту для збору додаткової інформації про контент. У цьому прикладі до контенту movie (фільм) додається його власне поле genre (жанр).

Для додавання поля genre до типу контенту виберіть Structure> Content types і натисніть на Manage fields (Керувати полями) для типу контенту Movie. Для збору інформації genre (жанр) буде використовуватися текстове поле. Введіть наступну інформацію:

  • Label (Мітка): Genre
  • Field name (Ім'я поля): genre
  • Field type (Тип поля): Text
  • Field widget (Віджет поля): Text field

На наступній сторінці натисніть на Save field settings (Зберегти налаштування поля). У нижній частині форми для конфігурації примірника форми ви побачите заголовок Genre Microdata Mapping (Відображення мікроданних жанру) (див. малюнок 3 ). Налаштуйте властивість поля як genre і натисніть на Save.

Малюнок 3. Інтерфейс для відображення текстового поля

Відредагуйте свій фрагмент контенту і додайте жанр фільму. Оновлення Rich Snippet. Тепер разом з типом контенту і назвою демонструється жанр.

Розмітка поля зображення

Хоча в даному прикладі зображення не демонструвалися, ви можете додати до цього типу контенту будь-яке зображення, наприклад, афішу фільму. Після цього піктограма даного зображення демонструватиметься для Rich Snippet.

Щоб додати зображення до типу контенту виберіть Structure> Content types і натисніть Manage fields.

  • Label (Мітка): Poster
  • Field name (Ім'я поля): poster
  • Field type (Тип поля): Image
  • Field widget (Віджет поля): Image

Для афіші скористайтеся властивістю image schema.org. В поле field property (властивість поля) введіть image (див. малюнок 4 ).

Малюнок 4. Інтерфейс для відображення поля зображення

Збережіть і відредагуйте контент movie для додавання зображення. Повторно протестуйте Rich Snippet. Ви повинні побачити властивість image з його URL-адресою, http://lin-clark.com/sites/default/files/cool-hand-luke.jpg, (див. малюнок 5 ). Одиночний елемент також має тип http://schema.org/movie, ім'я / назва Cool Hand Luke і жанр prison drama.

Малюнок 5. мікродані, витягнуті з текстового поля і з поля зображення

Сніппет Rich Snippet тепер демонструється разом з піктограмою афіші, як на малюнку 6 . Інструмент тестування Google знаходиться в процесі активної розробки; тому відображення сниппета Rich Snippet для однієї і тієї ж розмітки змінюється з плином часу. Знімок екрану цього сниппета Rich Snippet був зроблений 14 вересня, але 19 вересня, його відображення змінилося.

Малюнок 6. Відображення Rich Snippet для фільму

Підтримка мікроданних в форматер полів

Текстові поля і поля зображення охоплюють безліч даних, які люди зазвичай розміщують на web-сайтах, однак існують і інші типи даних. Щоб охопити всі різновиди даних, які можуть знадобитися адміністратору web-сайту, система полів Drupal надає користувачам набір базових типів полів і API-інтерфейс, що дозволяє модулям задавати нові типи полів. В рамках цих модулів можна задати різні форми для збору даних (віджети), сховища даних і відображення (форматер) для кожного типу поля. Після цього адміністратори web-сайту можуть встановлювати ці модулі полів, а також конфігурувати віджети і форматер без необхідності написання будь-якого коду.

Модуль Microdata висуває суворі вимоги до розміщення атрибутів мікроданних в HTML, тому кожен тип поля в Drupal повинен задавати місце для розміщення відповідного атрибута в своїх форматер. Мікродані підтримуються для більшості типів полів, специфіковані в ядрі, однак багато широко використовувані типи полів все ще не підтримують мікроданних.

Щоб використовувати будь-якої форматер полів, описаний в представленому модулі, можна перевірити таблицю, яка відстежує підтримку мікроданних. Навіть якщо цей форматер полів поки не підтримується, це не означає, що ви не зможете використовувати його. Ви з легкістю зможете додати підтримку мікроданних до форматер полів. Ви навіть зможете реалізувати підтримку мікроданних в представленому модулі - за допомогою створення "заплатки" (патча) зі своїми змінами. Це відмінний спосіб для початку взаємодії з спільнотою Drupal-розробників.

У прикладі від schema.org була розмічена посилання на трейлер фільму. На момент написання цієї статті форматер поля посилання, описуваний Drupal-модулем Link, не підтримує мікроданних, однак ви можете змінити цю ситуацію.

Додамо підтримку мікроданних до модуля Link. У наступних прикладах використовується код модуля Link від 20 вересня 2011 р наданий у файлі завантаження для цієї статті (поточна версія модуля Link змінилася і цілком здатна мати підтримку мікроданних).

Реєстрація властивостей

Поле посилання має дві різні порції інформації, які можна уявити на загальний огляд за допомогою мікроданних:

  • URL-адресу цієї посилання.
  • Текст, який пов'язаний з цим URL-адресою

На даному етапі нам необхідно повідомити систему про наявність цих двох властивостей за допомогою модуля Entity API: Entity Property API.

Ми повинні додати інформацію до визначення поля, яке реєструється за допомогою link_field_info. Додайте property_type для самого поля і для property_callbacks ( лістинг 2 ).

Лістинг 2. Додавання інформації властивості для поля до link_field_info

/ ** * Реалізує hook_field_info (). * / Function link_field_info () {return array ( 'link_field' => array ( 'label' => t ( 'Link'), 'description' => t ( 'Store a title, href, and attributes in the database to assemble a link. '), // ...' property_type '=>' field_item_link ',' property_callbacks '=> array (' link_field_property_info_callback '),),); }

Тип властивості дозволяє системі розпізнавати тип даних відповідного поля. Оскільки field_item_link не є розпізнаваним типом даних або розпізнається сутністю, то за замовчуванням дані при обробці мають тип struct. Цей struct діє як контейнер для розмічаємо вами властивостей (URL-адресу посилання і пов'язаний текст). Оскільки це просто контейнер, мікродані задіюються не для самого поля, а тільки для його властивостей.

Як передзвонити властивості - це функція, яка реєструє цю ж інформацію про тип властивості для властивостей компонента. Щоб розмітити властивості з використанням мікроданних надайте параметру microdata значення TRUE для кожного властивості ( лістинг 3 ). Це активує графічний користувальницький інтерфейс для додавання мікроданних до цих властивостей.

Лістинг 3. Реєстрація властивостей поля за допомогою зворотного виклику властивості

/ ** * Додатковий зворотний виклик для адаптації інформації властивості в полях посилання. * @See entity_metadata_field_entity_property_info (). * / Function link_field_property_info_callback (& ​​$ info, $ entity_type, $ field, $ instance, $ field_type) {$ property = & $ info [$ entity_type] [ 'bundles'] [$ instance [ 'bundle']] [ 'properties' ] [$ field [ 'field_name']]; $ Property [ 'property info'] = array ( 'title' => array ( 'type' => 'text', 'label' => t ( 'The title of the link.'), 'Microdata' => TRUE ,), 'url' => array ( 'type' => 'uri', 'label' => t ( 'The URL of the link.'), 'microdata' => TRUE,),); if ($ instance [ 'settings'] [ 'title'] == 'none') {unset ($ property [ 'property info'] [ 'title']); }}

Інтерфейс витягує мітку з інформацією властивості і використовує її тип для встановлення різновиди полів форми, що підлягає відображенню. Якщо властивість є не рядок, а елемент, то поле itemtype також відображається. на малюнку 7 показаний приклад для двох властивостей трейлера: назва (фільму) для посилання і URL-адресу посилання.

Малюнок 7. Форма для відображення мікроданних посилання

Тепер можна вказати, які словникові терміни слід використовувати для властивостей поля в формі конфігурації поля. Проте, атрибута не буде вставлені в HTML до тих пір, поки ми не додамо деякий додатковий код.

Додавання мікроданних до висновку на основі тим

Щоб розмістити мікродані, необхідно змінити висновок HTML для поля. Наприклад, для додавання посилання до програмному додатку, можна зв'язати текст (ім'я програми) для використання властивості name і саму посилання для використання властивості url. В лістингу 4 показано рішення цього завдання за допомогою додавання атрибута itemprop URL-адреси до тегу <a> і додавання тега span з атрибутом itemprop для текстового контенту.

Лістинг 4. Посилання до і після додавання мікроданних

<a href="http://drupal.org"> Drupal </a> <a itemprop="url" href="http://drupal.org"> <span itemprop = "name"> Drupal </ span > </a>

Робота спростилася б, якби ми змогли змусити модуль Link вставляти ці атрибути. Щоб перетворити контент з бази даних в поля всередині HTML, кожен модуль форматера полів має власну функцію перегляду. В рамках функції перегляду деякі форматер використовують для генерації HTML функції theme. Приклад: theme_link_formatter_link_default (). У багатьох випадках атрибути мікроданних необхідно передавати від функції field_formatter_view в функцію theme.

У модулі Link форматер вже передає масив атрибутів, що підлягають розміщенню в тезі <a> за допомогою змінної типу item. При необхідності ви можете додати до цього масиву URL-адресу атрибута itemprop для його автоматичного виведення ( лістинг 5 ).

Лістинг 5. Додавання мікроданних в hook_field_formatter_view

/ ** * Реалізує hook_field_formatter_view (). * / Function link_field_formatter_view ($ entity_type, $ entity, $ field, $ instance, $ langcode, $ items, $ display) {$ elements = array (); $ Microdata = array (); // Якщо модуль Microdata задіяний, відображення microdata передається всередину // допомогою "сутності" (entity). if (module_exists ( 'microdata')) {$ microdata = $ entity-> microdata [$ field [ 'field_name']]; } Foreach ($ items as $ delta => $ item) {// Додати атрибути url до $ item [ 'attributes'], оскільки функція theme function передасть // їх в l () і тим самим коректно розмістить атрибут itemprop для цього url -адреси if (isset ($ microdata [ 'url'])) {$ item [ 'attributes'] + = $ microdata [ 'url'] [ '# attributes']; } // Передати масив мікроданних в функцію theme, щоб її можна було використовувати // для розміщення атрибута title для посилання. $ Elements [$ delta] = array ( '#markup' => theme ( 'link_formatter_'. $ Display [ 'type'], array ( 'element' => $ item, 'field' => $ instance, 'microdata' => $ microdata)),); } Return $ elements; }

Слід зазначити, що не існує ніякого способу, що дозволяє автоматично розміщувати атрибути для текстового контенту. Щоб використовувати ці атрибути, ви повинні передати їх у відповідну функцію theme і змінити цю функцію.

Після того, як ви передасте змінні мікроданних в функцію theme, ви зможете додати тег <span>, що містить атрибут itemprop для назви. Введіть в код перевірки на наявність атрибута itemprop для тексту. Якщо такий атрибут є, мікродані будуть додані ( лістинг 6 ).

Лістинг 6. Додавання мікроданних в функцію theme

/ ** * Функція Theme для форматера текстового поля за замовчуванням (default). * / Function theme_link_formatter_link_default ($ vars) {$ url = $ vars [ 'element'] [ 'url']; $ Microdata = $ vars [ 'microdata']; // Якщо для title заданий атрибут itemprop, обернути цей title в // тег span і додати цей itemprop до цього тегу. if (! empty ($ microdata [ 'title'])) {$ title = '<span'. drupal_attributes ($ microdata [ 'title'] [ '# attributes']). '>'. $ Vars [ 'element'] [ 'title']. '</ Span>'; } Else {$ title = $ vars [ 'element'] [ 'title']; } // Створити масив опцій для передачі в l (). $ Link_options = $ vars [ 'element']; unset ($ link_options [ 'element'] [ 'title']); unset ($ link_options [ 'element'] [ 'url']); // Показати нормальну посилання, якщо є і title, і URL. if (! empty ($ title) &&! empty ($ url)) {return l ($ title, $ url, $ link_options); } // Якщо є тільки title, відобразити тільки title. elseif (! empty ($ title)) {return check_plain ($ title); } // Якщо є тільки url-адреса, відобразити в якості посилання повний url-адреса. elseif (! empty ($ url)) {return l ($ url, $ url, $ link_options); }}

Тепер ви можете протестувати висновок мікроданних для форматера.

Передача зроблених вами змін назад в співтовариство

Один з факторів, який робить Drupal потужним технічним рішенням - це велика кількість "дарувальників", що складають його співтовариство. Дарувальники - це не тільки люди, які активно застосовують Drupal; багато дарувальники роблять для своїх web-сайтів епізодичні виправлення коду, а потім відправляють ці виправлення у вигляді патчів для загального користування.

Якщо ви додасте мікродані до форматер полів для свого проекту, ви зможете безоплатно передати цю роботу в співтовариство Drupal. Для цього достатньо відправити запит в чергу запитів для певного модуля, а потім запропонувати, щоб цей модуль підтримував мікродані. Цей тип запитів називається a feature request (запит на функцію). Після цього ви можете відправити патч зі своїми змінами за вищевказаною запитом (мається кілька чудових посібників, в яких демонструється створення патчів для Drupal-проектів). Після відправки свого патча позначте свій запит як «needs review» (потребує розгляду).

Висновок

З цієї статті ви дізналися, як використовувати Drupal для додавання мікроданних до своїх web-сторінок, щоб їх контент міг використовуватися в таких додатках як Google Rich Snippets. Новий модуль Microdata дозволяє конфігурувати висновок мікроданних для полів базових типів і додавати висновок мікроданних до полів спеціальних типів. Тепер ваші дані доступні іншим авторам для створення додатків на їх основі.

Ресурси для скачування

Схожі тими

  • Оригінал статті: Combine Drupal, HTML5, and microdata .
  • Schema.org : Дізнайтеся більше про це наборі схем, які представляють собою HTML-теги, які web-майстри можуть використовувати для розмітки своїх сторінок способами, розпізнаваними пошуковими системами від провідних постачальників.
  • Getting started with schema.org : Керівництва по розмітці контенту за допомогою мікроданних і по використанню словника schema.org. Крім того, розглядається кілька більш складних тем.
  • Itemtype URL Знайдіть властивості, які ви зможете використовувати з schema.org-елементом за допомогою відвідування URL-адреси itemtype (наприклад, http://schema.org/Movie).
  • підтримка мікроданних : Дізнайтеся, чи забезпечує форматер полів підтримку мікроданних.
  • типи даних : Дізнайтеся про те, як мікродані в Drupal використовують властивості сутностей.
  • The Semantic web, Linked Data and Drupal, Part 1: Expose your data using RDF (Лін Кларк (Lin Clark), developerWorks, квітень 2011 року). Зробіть свої Web-дані понад інтероперабельними і підвищить ефективність обміну даними. Приклад застосування Drupal 7 для публікації Linked Data шляхом подання відповідного контенту за допомогою RDF.
  • The Semantic web, Linked Data and Drupal, Part 2: Combine linked datasets with Drupal 7 and SPARQL Views (Stephane Corlosquet і Lin Clark, developerWorks, травень 2011 р.) Використання існуючих на сьогоднішній день Linked Data в мережі даних та збагачення сайту на базі Drupal 7 за допомогою даних, що надходять з різних джерел.
  • Creating patches for Drupal projects : Що таке патчі і як працювати з ними в контексті Drupal-проекту. Автор - Jacine Luisi, керівник ініціативи Drupal HTML5.
  • Стаття по тематиці Semantic Web, опублікована виданням Scientific American : Прочитайте цю конструктивну статтю від авторського колективу у складі: Tim Berners-Lee, James Hendler і Ora Lassila.
  • Linked Data : Прочитайте інтерв'ю видання ReadWriteWeb з Тімом Бернерс-Лі (Tim Berners-Lee).
  • Linked Data Design Issues : Додаткові відомості про пов'язаних даних від Т. Бернерса-Лі.
  • Rich snippets (microdata, microformats, and RDFa) - Webmaster Tools Help : Дізнайтеся більше про Google Rich snippets і тому, як маркувати свій web-контент для однозначного зазначення типів даних, таких як назва, адреса або рейтинг ресторану.
  • Implement Semantic web standards in your Web site (Rob Crowther, developerWorks, травень 2008 р.) За допомогою PHP і MySQL створіть простий web-сайт соціальний мережі, який реалізує стандарти Semantic web, такі як hCard і FOAF (Friend of a Friend), в рамках семантичної схеми URI (Uniform Resource Identifier).
  • Developing Drupal publications to support standards-based XML (Garrick Bodine і Stephanie Schlitz, developerWorks, лютий 2011 р.) Дізнайтеся, як налаштувати свою установку Drupal для підтримки публікації XML-документів TEI (чи інших).
  • Керівництво по установці Drupal. Прочитайте про підготовку до установки, про виконання самого інсталяційного скрипта і про кроки, які слід виконати після завершення цього інсталяційного скрипта.
  • Install Drupal 7 with the Acquia Stack Installer : Відеоролик з покрокові інструкції по установці Drupal 7.
  • FOAF Vocabulary Specification 0.98 : Ознайомтеся з мовою FOAF, який визначається як словник іменованих властивостей і класів з використанням технології RDF від організації W3C.
  • Dublin Core Metadata Initiative (DCMI) : Дізнайтеся про цю відкритої організації, яка бере участь в розробці сумісних стандартів метаданих, які підтримують широкий діапазон цілей і бізнес-моделей.
  • SIOC (Semantically-Interlinked Online Communities) Core Ontology Specification : Вивчіть основні концепції та властивості, необхідні для опису інформації від онлайнових співтовариств (таких як дошки повідомлень, wiki-ресурси або web-блоги) на основі Semantic web.
  • SPARQL Explorer for http://dbpedia.org/sparql : Спробуйте демонстраційний інтерфейс запитів, доступний в Інтернеті.
  • Acquia Drupal : Доступний безкоштовно пакетний дистрибутив Drupal-системи з відкритим кодом для соціальних публікацій.
  • інструмент Rich Snippets Testing Tool від компанії Google: Протестуйте свою schema.org-розмітку.
  • Google Rich Snippets , Field collection и Entity API Завантажте ці модулі; Спочатку упевніться в тому, що завантажуєте випуски для розробників.
  • інструмент Live Microdata testing tool : Ще один інструмент для тестування мікроданних, автор - Філіп Ягенштедт (Philip Jagenstedt), розробник Opera.
  • Матеріали developerWorks на ресурсі Twitter : Приєднуйтесь до товариства developerWorks.

Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів

Що таке мікродані?