Статус проекта
Этот проект включал в себя значительное исследование веб стандартов и постоянное тестирование для поддержки валидного HTML. Кроме того, microdata библиотека должна быть гибкой, быстрой, небольшой и интуитивно понятной разработчикам. Поэтому я (Alexandru Pruteanu) должен признать, что архитектура библиотеки менялась несколько раз, для того, чтобы была возможность поддерживать выше указанные свойства.
Итак, после месяца исследований и тестирования библиотека в конечном итоге была включена в мастер бранч Joomla CMS, и вы сможете использовать её, начиная с Joomla 3.2. Если вы разработчик, то вы можете использовать эту библиотеку для внедрения семантики микроданных в вашем расширении.
Если вы хотите поближе ознакомиться с библиотекой, то загляните сюда:
https://github.com/joomla/joomla-cms/tree/master/libraries/joomla/microdata
Как использовать библиотеку JMicrodata?
Для использования новой семантики микроданных необходимо получить экземпляр класса в вашем расширении:
$microdata = new JMicrodata('Article');
Давайте предположим, что у вас есть следующая строка:
Written by Alexandru Pruteanu
И нам необходимо добавить свойство 'author':
echo 'Written by' . $microdata->content("Alexandru Pruteanu")->property('author')->fallback('Person', 'name')->display();
Библиотека отобразит следующее:
Written by
<span itemprop='author' itemscope itemtype='https://schema.org/Person'>
<span itemprop='name'>
Alexandru Pruteanu
</span>
</span>
Что случится, если текущая область (scope) не 'Article', а, например 'Product' и она не имеет свойства 'author'? Тогда библиотека отобразит:
<span itemscope itemtype='https://schema.org/Person'>
<span itemprop='name'>
Alexandru Pruteanu
</span>
</span>
А если мы хотим отключить вывод микроданных? Это сделать очень просто:
$microdata->enable(false);
Библиотека отобразит следующее:
Written by Alexandru Pruteanu
Подробности использования библиотеки вы можете найти в документации: https://gist.github.com/PAlexcom/6339949
А что с внедрением микроданных в Joomla CMS?
Это только предложение, которое должно быть акцептовано. Все что показано ниже, пока что не включено в Joomla CMS.
Я рассказываю вам об этом, так как также работаю над внедрением микроданных в CMS. Уже есть пулл реквест, но он включает в себя много изменений, поэтому требует тщательного тестирования.
Вот что показывает инструмент "Google Rich snippets" после внедрения микроданных в Joomla:
В панели администратора вы можете включать/выключать поддержку микроданных в Общих настройках:
Administration → Global Configuration → Site (tab) → SEO Setting
Вы можете включать/выключать микроданные в настройках Материала, а также выбирать область:
Какие проблемы есть на данный момент?
Самой большой проблемой на данный момент является то, что вы не можете переключиться с Microdata на RFDa или Microformats. Кроме того, вы не можете поменять словарь микроданных. Поэтому мы должны найти путь, как сделать это возможным.
Заключение
Работа с JoomlaTeam/Developers и была замечательным и интересным опытом. Я многому научился, и особенно тому, как поддерживается OpenSource проект, и как люди с разных концов мира работают вместе. Но, несмотря на то, что программа GSoC закончена, я хотел бы продолжить работу над этим проектом и добавлять новые возможности. Если у вас есть какие-то проблемы по использованию этой библиотеки или инновационные идеи, то просто дайте мне знать, и я Alexandru Pruteanu буду рад пообщаться с вами ;)