Как корректно вывести микроразметку в node--article.tpl.php
16 декабря 2016 в 23:12
Нужна помощь с микроразметкой , делаю через node--article.tpl.php (модули не подошли)
Корректно выводит поля: genre, description, name
А вот поле: image не выводится:
в гугле пусто
в яше выводит image = (и все пустота)
код node--article.tpl.php
вычитал что там должна быть ссылка на картинку но как ее выдернуть ума не приложу, плохо знаю пхп.
вот нашел где парень делает разметку и вроде как у него получилась
<?php
. '<div style="display:none;" itemprop="image" itemscope itemtype="http://schema.org/ImageObject"><meta itemprop="url" content="' . file_create_url($node->field_image['und'][0]['uri']) . '" /><meta itemprop="height" content="400" /><meta itemprop="width" content="600" /></div>'?>
А вот это моя страница node--article.tpl.php
<?php
<article class="mainContent" itemscope itemtype="http://schema.org/CreativeWork">
<div sss itemprop="description"><?php print render($content['field_opisanie']); ?> </div sss>
<div itemprop="genre"><?php print render($content['field_kategoria']); ?> </div>
<div style="display:none;" itemprop="name"><?php print render($title); ?> </div>
<div style="razmet_img" itemprop="image"> <?php print render($content['field_image']); ?> </div sss>
<?php print render($content['field_tags']); ?>
<?php print render($content['comments']); ?>
</article>
?>
Помогите кто чем сможет) или пните в нужную сторону.
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
А в чём вопрос? Суйте его код в свой. У вас даже поля одинаково называются.
Совать не надо никуда ничего, есть модуль https://www.drupal.org/project/schemaorg + https://www.drupal.org/project/schemaorg_tokens
Эти модули работают довольно криво, тот код когда вставляешь дает ошибку. Но кому надо вчера все таки нашел решение
Но теперь у меня другая делема вычитал что скрывать текст не хорошо, и ПС за display:none; могут покарать, кто знает как можно это поправить?
Правильно писать дилемма. И она подразумевает выбор одного из двух)))
А что скрываете то?
На примере.
тут мы выводим ссылку на картинку, для людей она ненужна, поэтому я ее скрываю, но это же не хорошо.
<?php
<div style="display:none;" itemprop="image"> <?php $temp_var = file_create_url($node->field_image['und'][0]['uri']); print render($temp_var); ?></div>
?>
Так как получить:
1) Чтобы работала микроразметка
2) И я не скрывал поля с помощью "display:none;"
3) Может есть какой оператор в пхп который просто прочитает переменную запомнит и использует, но выводит не будет. Или без вывода и ПС не увидят текст?
Читайте внимательно спецификации микроразметки. Вся эта дрянь должна выводиться в атрибутах тэга, а не в содержимом