Разработка | Joomla API

А что у нас с Microdata в Joomla?

Joomla

А что у нас с Microdata в Joomla?

Статус проекта

Этот проект включал в себя значительное исследование веб стандартов и постоянное тестирование для поддержки валидного 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:

Вывод Google Rich snippets в Joomla

В панели администратора вы можете включать/выключать поддержку микроданных в Общих настройках:
Administration → Global Configuration → Site (tab) → SEO Setting

Общие настройки - Microdata

Вы можете включать/выключать микроданные в настройках Материала, а также выбирать область:

Настройки microdata в com_content

Какие проблемы есть на данный момент?

Самой большой проблемой на данный момент является то, что вы не можете переключиться с Microdata на RFDa или Microformats. Кроме того, вы не можете поменять словарь микроданных. Поэтому мы должны найти путь, как сделать это возможным.

Заключение

Работа с JoomlaTeam/Developers и была замечательным и интересным опытом. Я многому научился, и особенно тому, как поддерживается OpenSource проект, и как люди с разных концов мира работают вместе. Но, несмотря на то, что программа GSoC закончена, я хотел бы продолжить работу над этим проектом и добавлять новые возможности. Если у вас есть какие-то проблемы по использованию этой библиотеки или инновационные идеи, то просто дайте мне знать, и я Alexandru Pruteanu буду рад пообщаться с вами ;)

Оригинальная статья: Alexandru Pruteanu
Dmitry Rekun
Работаю в банковской сфере, а с веб-разработкой (непосредственно с Joomla) столкнулся в 2007 году. Теперь это моё хобби и время от времени вторая работа. Какое-то время вёл свой блог, но решил попробовать работать в команде. И вот c 2012 года я здесь :)