0 Пользователей и 1 Гость просматривают эту тему.
  • 149 Ответов
  • 94631 Просмотров
*

ViktorMah

  • Захожу иногда
  • 251
  • 28 / 0
*

bizzon

  • Новичок
  • 1
  • 0 / 0
Здравствуйте!
Помогите исправить https://yadi.sk/i/fwVud13sfXADt
Я так понимаю что это из-за не прописанного itemscope itemtype=\"http://schema.org/Article
Как прописать в шаблоне article/default.php  Joomla 2.5
Помогите пожалуйста
« Последнее редактирование: 28.03.2015, 01:43:56 от bizzon »
*

bizzon

  • Новичок
  • 1
  • 0 / 0
Изменил extravote.php и теперь супер
Код
<?php
/*------------------------------------------------------------------------
# plg_extravote - ExtraVote Plugin
# ------------------------------------------------------------------------
# author    Jesús Vargas Garita
# Copyright (C) 2010 www.joomlahill.com. All Rights Reserved.
# @license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
# Websites: http://www.joomlahill.com
# Technical Support:  Forum - http://www.joomlahill.com/forum
-------------------------------------------------------------------------*/

// No direct access
defined('_JEXEC') or die;

jimport('joomla.plugin.plugin');


class plgContentExtraVote extends JPlugin
{
protected $article_id;

public function __construct(& $subject, $config)
{
parent::__construct($subject, $config);
$this->loadLanguage();

$this->view = JRequest::getCmd('view');
}

public function onContentBeforeDisplay($context, &$article, &$params, $limitstart = 1)
{
if (strpos($context, 'com_content')!== false) {

$this->article_id = $article->id;

$this->ExtraVotePrepare($article, $params);

if ( $this->params->get('display') == 0  )
{
$hide  = $this->params->get('hide', 1);

if ( $hide != 1 || $this->view == 'article' ) {
$article->xid = 0;
return $this->ContentExtraVote($article, $params);
}
}
}

  }

protected function ContentExtraVote(&$article, &$params)
{
$table =($this->params->get('table',1)==1?'#__content_extravote':'#__content_rating');
$rating_count=$rating_sum=0;
$html=$ip='';

if ($params->get('show_vote'))
{
$db = JFactory::getDBO();
$query='SELECT * FROM ' . $table . ' WHERE content_id='.$this->article_id . ($table == '#__content_extravote' ? ' AND extra_id = 0' : '');
$db->setQuery($query);
$vote=$db->loadObject();

if($vote) {
$rating_sum = $vote->rating_sum;
$rating_count = intval($vote->rating_count);
$ip = $vote->lastip;
}

$html .= $this->plgContentExtraVoteStars( $this->article_id, $rating_sum, $rating_count, $article->xid, $ip );
}
return $html;
  }

 
  protected function plgContentExtraVoteStars( $id, $rating_sum, $rating_count, $xid, $ip )
{
$document = JFactory::getDocument();

if ( $this->params->get('css', 1) ) :
$document->addStyleSheet(JURI::root(true).'/plugins/content/extravote/assets/extravote.css');
endif;

$document->addScript(JURI::root(true).'/plugins/content/extravote/assets/extravote.js');

      global $plgContentExtraVoteAddScript;

$show_counter = $this->params->get('show_counter',1);
$show_rating  = $this->params->get('show_rating',1);
$rating_mode  = $this->params->get('rating_mode', 1);
$show_unrated = $this->params->get('show_unrated',1);
$initial_hide = $this->params->get('initial_hide',0);
$currip = $_SERVER['REMOTE_ADDR'];
$add_snippets = 0;
$rating  = 0;

if(!$plgContentExtraVoteAddScript){
          $document->addScriptDeclaration("
var ev_basefolder = '".JURI::base(true)."';
var extravote_text=Array('".
JTEXT::_('PLG_CONTENT_EXTRAVOTE_MESSAGE_NO_AJAX')."','".
JTEXT::_('PLG_CONTENT_EXTRAVOTE_MESSAGE_LOADING')."','".
JTEXT::_('PLG_CONTENT_EXTRAVOTE_MESSAGE_THANKS')."','".
JTEXT::_('PLG_CONTENT_EXTRAVOTE_MESSAGE_LOGIN')."','".
JTEXT::_('PLG_CONTENT_EXTRAVOTE_MESSAGE_RATED')."','".
JTEXT::_('PLG_CONTENT_EXTRAVOTE_LABEL_VOTES')."','".
JTEXT::_('PLG_CONTENT_EXTRAVOTE_LABEL_VOTE')."','".
JTEXT::_('PLG_CONTENT_EXTRAVOTE_LABEL_RATING').
"');
");
      $plgContentExtraVoteAddScript = 1;
}

if( $rating_count!=0 ) {
$rating  = ($rating_sum / intval( $rating_count ));
$add_snippets = $this->params->get('snippets',0);
} elseif( $show_unrated == 0 ) {
$show_counter = -1;
$show_rating  = -1;
}

$container = 'div';
$class     = 'size-'.$this->params->get('size', 1);

if( (int)$xid ) {
if ( $show_counter == 2 ) $show_counter = 0;
if ( $show_rating == 2 ) $show_rating = 0;
$container = 'span';
$class    .= ' extravote-small'; 
$add_snippets = 0;
} else {
if ( $show_counter == 3 ) $show_counter = 0;
if ( $show_rating == 3 ) $show_rating = 0;
$class    .= ' extravote'; 
}

$stars = (($this->params->get('table',1)!=1 && !(int)$xid)?5:$this->params->get('stars',10));
$spans = '';

for ($i=0,$j=5/$stars; $i<$stars; $i++,$j+=5/$stars) :
$spans .= "
      <span class=\"extravote-star\"><a href=\"javascript:void(null)\" onclick=\"javascript:JVXVote(".$id.",".$j.",".$rating_sum.",".$rating_count.",'".$xid."',".$show_counter.",".$show_rating.",".$rating_mode.");\" title=\"".JTEXT::_('PLG_CONTENT_EXTRAVOTE_RATING_'.($j*10).'_OUT_OF_5')."\" class=\"ev-".($j*10)."-stars\">1</a></span>";
endfor;

$html = "
<".$container." class=\"".$class."\">
  <span class=\"extravote-stars\"".($add_snippets?" itemprop=\"aggregateRating\" itemscope itemtype=\"http://schema.org/AggregateRating\"":"").">".($add_snippets?"
  <meta itemprop=\"ratingCount\" content=\"".$rating_count."\" />
":"
")."<span id=\"rating_".$id."_".$xid."\" class=\"current-rating\"".((!$initial_hide||$currip==$ip)?" style=\"width:".round($rating*20)."%;\"":"")."".($add_snippets?" itemprop=\"ratingValue\"":"").">".($add_snippets?$rating:"")."</span>"
.$spans."
  </span>
  <span class=\"extravote-info\" id=\"extravote_".$id."_".$xid."\" xmlns:v=\"http://rdf.data-vocabulary.org/#\" typeof=\"v:Review-aggregate\">";
 
if ( $show_rating > 0 ) {
if ( $rating_mode == 0 ) {
$rating = round($rating*20). '%';     
} else {
$rating = number_format($rating,2);     
}
$html .= JTEXT::sprintf('PLG_CONTENT_EXTRAVOTE_LABEL_RATING', '<span rel="v:rating" typeof="v:Rating"><SPAN property="v:average">'.$rating.'</SPAN>/<SPAN property="v:best">5</SPAN></span>');
}
 
if ( $show_counter > 0 ) {
if($rating_count!=1) {
$html .= JTEXT::sprintf('PLG_CONTENT_EXTRAVOTE_LABEL_VOTES', '<SPAN property="v:votes">'.$rating_count.'</SPAN>');
} else { 
$html .= JTEXT::sprintf('PLG_CONTENT_EXTRAVOTE_LABEL_VOTE', '<SPAN property="v:votes">'.$rating_count.'</SPAN>');
}
}
 
$html .="</span>";
$html .="
</".$container.">";
 
return $html;
}

  protected function ExtraVotePrepare( $article, &$params )
{
    if (isset($this->article_id)) {

        $extra = $this->params->get('extra', 1);
$main  = $this->params->get('main', 1);

      if ( $extra != 0 ) {

        $regex = "/{extravote\s*([0-9]+)}/i";

if ( $this->view != 'article' && stripos($article->introtext, 'extravote') ) {
if ( $extra == 2 ) {
$article->introtext = preg_replace( $regex, '', $article->introtext );
} else {
$article->introtext = preg_replace_callback( $regex, array($this,'plgContentExtraVoteReplacer'), $article->introtext );
}
} elseif (stripos($article->text, 'extravote')) {
//     $this->article_id = $article->id;
        $article->text = preg_replace_callback( $regex, array($this,'plgContentExtraVoteReplacer'), $article->text );
    }
    }

      if ( $main != 0 ) {

$strposIntro = isset($article->introtext)?stripos($article->introtext, 'mainvote'):false;
$strposText  = stripos($article->text, 'mainvote');

$regex = "/{mainvote\s*([0-9]*)}/i";

if ( $main == 2 && $this->view != 'article' && $strposIntro)
    {
        $article->introtext = preg_replace( $regex, '', $article->introtext );
    } else {
    $this->article_id = $article->id;
if ( $this->view == 'article' && $strposText ) {
        $article->text = preg_replace_callback( $regex, array($this,'plgContentExtraVoteReplacer'), $article->text );
} elseif( $strposIntro ) {
        $article->introtext = preg_replace_callback( $regex, array($this,'plgContentExtraVoteReplacer'), $article->introtext );
}
    }
    }

    if ( $this->params->get('display') == 1 )  {

        $article->xid = 0;
if ( $this->view == 'article' ) {
        $article->text .= $this->ContentExtraVote($article, $params);
} elseif ( $this->params->get('hide') == 0 ) {
        $article->introtext .= $this->ContentExtraVote($article, $params);
}
    }
      }
  }
 
protected function plgContentExtraVoteReplacer(&$matches )
{
  $db = JFactory::getDBO();
  $cid = 0;
$xid = 0;
if (isset($matches[1])) {
if(stripos($matches[0], 'extravote')) {
$xid = (int)$matches[1];
} else {
$cid = (int)$matches[1];
}
}
if ( $cid == 0 && ($this->params->get('article_id') || $xid == 0) ) {
$cid = $this->article_id;
}
  $rating_sum = 0;
  $rating_count = 0;

if ( $xid == 0 ) :
global $extravote_mainvote;
$extravote_mainvote .= 'x';
$xid = $extravote_mainvote;
$table =($this->params->get('table',1)==1?'#__content_extravote':'#__content_rating');
$db->setQuery('SELECT * FROM ' . $table . ' WHERE content_id='.(int)$cid);
else : 
$db->setQuery('SELECT * FROM #__content_extravote WHERE content_id='.(int)$cid.' AND extra_id='.(int)$xid);
endif; 
  $vote = $db->loadObject();
  if($vote) {
if($vote->rating_count!=0)
$rating_sum = $vote->rating_sum;
$rating_count = intval($vote->rating_count);
}
return $this->plgContentExtraVoteStars( $cid, $rating_sum, $rating_count, $xid, ($vote?$vote->lastip:'') );
}

}
*

jeka odesskiy

  • Захожу иногда
  • 201
  • 3 / 0
Здравствуйте, я что-то запутался. Отключил стандартный рейтинг голосования, установил Rich Snippets Vote, он при просмотре в Google выдает, что проблем нет, разметка есть, но звезды в самом тексте не появляются, установил еще плагин Extra Vote, тот выдает звезды но без плагина rich -гугл и Яндекс не видят микроразметку. Ок,2 плагина в месте при проверке показывают что все ок. Но в поиске звезды не появились.Хочу звезды, но чтобы это делал плагин автоматически.)) Что делать? *DRINK*
*

Rex_One

  • Захожу иногда
  • 458
  • 37 / 0
ELLE, на сколько рационально тягаться  с этим?
Кривизна рук не компенсирует прямизну извилин.
*

Beer

  • Завсегдатай
  • 1059
  • 41 / 1
  • БИРУ - БИР!
Я вот что-то не догоняю - при проверке страниц гугль пишет Проблем нет, но и звезд тоже у меня нет... Жду появления их очень давно.
Article (1)
Код
Article
inLanguage: ru-RU
name: Сабвуфер для Land Rover Defender 110
headline: Сабвуфер для Land Rover Defender 110
datePublished: 2015-07-23
image: http://www.vodkomotornik.ru/apple-touch-icon-152x152-precomposed.png
aggregateRating [AggregateRating]:
ratingCount: 6
ratingValue: 5
aggregateRating [AggregateRating]: http://www.vodkomotornik.ru/poleznoe/motorcycle-bicycle/extravote_166_0
ratingValue: 5.00
reviewCount: 6
*

Beer

  • Завсегдатай
  • 1059
  • 41 / 1
  • БИРУ - БИР!
*

Kingsman

  • Новичок
  • 9
  • 0 / 0
Не совсем понятно, почему везде используется data-vocabulary.org для микроразметки хлебных крошек. Почему не schema.org? Может ли кто-то объяснить?

Далее. Вопрос, правильно ли оборачивать в микроразметку последний, неактивный, элемент строки навигации? Structured Data Testing Tool выдает ошибку "url: отсутствует (обязательное)". Т.е. если последний элемент у меня не ссылка, то он отображаться в хлебных крошках никак не будет? И с этим ничего не поделать?

И вопрос, правильно ли я добавил себе микроразметку строки навигации? Код (Joomla 3.4.3):

Спойлер
[свернуть]
*

jacson1985

  • Новичок
  • 8
  • 0 / 0
У меня с Joomla 3 ничего не получается. Все решения перепробовал. Все равно Google говорит "Не указан объект отзыва."
*

vovo71

  • Новичок
  • 5
  • 0 / 0
У меня Joomla 2.5 тоже пишет "Не указан объект отзыва.". Никак не могу исправить.  Помогите кто знает. А лучше выложите готовый extravote.php.
*

Adrian1111

  • Захожу иногда
  • 271
  • 1 / 0
Здравствуйте! Проверяю разметку в Google Structured Data Testing Tool.
Проверка показывает:

Product - проблем нет.
hreview - три проблемы:
 - reviewer:   отсутствует (обязательное);
 - Укажите свойство rating или dtreviewed;
 - Не указан объект отзыва;

Что с этим делать? Сами отзывы на сайте добавляются.Рейтинг-звездочки есть и работает. Просто, как выясняется это не размечено.

*

Konstanin_by

  • Осваиваюсь на форуме
  • 25
  • 4 / 0
Всем добра!
Судя по этой статье https://developers.google.com/structured-data/rich-snippets/articles?hl=ru у Google изменились правила разметки статей.
Что не может не опечалить.
Для одной статьи реализовал, но желательно всё внести в шаблон, а тут начинается проблема
в файл  templates\protostar\html\layouts\joomla\content\info_block\author.php добавил блок <dd itemprop="publisher"
Спойлер
[свернуть]

Как получить данные для переменных <?php echo $logoFile; ?> <?php echo $sitename; ?> и <?php echo $siteurl; ?> я не знаю.
Пожалуйста подскажите как в этом файле получить ссылку на логотип, имя сайта и адрес сайта.
« Последнее редактирование: 30.01.2016, 08:57:32 от Konstanin_by »
*

ViktorMah

  • Захожу иногда
  • 251
  • 28 / 0
Всем добра!
Судя по этой статье https://developers.google.com/structured-data/rich-snippets/articles?hl=ru у Google изменились правила разметки статей.
Что не может не опечалить.
Для одной статьи реализовал, но желательно всё внести в шаблон, а тут начинается проблема
в файл  templates\protostar\html\layouts\joomla\content\info_block\author.php добавил блок <dd itemprop="publisher"

Как получить данные для переменных <?php echo $logoFile; ?> <?php echo $sitename; ?> и <?php echo $siteurl; ?> я не знаю.
Пожалуйста подскажите как в этом файле получить ссылку на логотип, имя сайта и адрес сайта.
Код: php
$app             = JFactory::getApplication();
$doc             = JFactory::getDocument();
/********************/
$sitename = $app->get('sitename');
$siteurl = JUri::root();
$logoFile = JUri::root(). $app->getTemplate(true)->params->get('logoFile');
как-то так
« Последнее редактирование: 30.01.2016, 08:24:05 от ViktorMah »
*

Konstanin_by

  • Осваиваюсь на форуме
  • 25
  • 4 / 0
Спасибо ViktorMah за помощь.

Появился ещё один вопрос.
Google Structured Data Testing Tool стал настоятельно требовать наличия itemprop="mainEntityOfPage". По сути это каноникал_адрес записываемый в itemid="" его можно оставить пустым

Код: html4strict
<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid=""/>

Но думаю стоит и его заполнять.
И тут, опять, встаёт вопрос - как получить эту ссылку?
*

ViktorMah

  • Захожу иногда
  • 251
  • 28 / 0

Код: html4strict
<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid=""/>


В нынешних реалиях сей код нужно размещать в двух файлах
1 - \html\com_content\article\default.php
Код: php
<div class="item-page<?php echo $this->pageclass_sfx; ?>" itemscope itemtype="http://schema.org/Article">
<meta itemprop="inLanguage" content="<?php echo ($this->item->language === '*')? JFactory::getConfig()->get('language') : $this->item->language; ?>" />

<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="<?php echo $doc->getBase(); ?>"/>



2 - (для Блог_Категории) \html\layouts\joomla\content\blog_style_default_item_title.php

Код: php
	<?php if ($params->get('show_title') || $displayData->state == 0 || ($params->get('show_author') && !empty($displayData->author ))) : ?>
<div class="page-header">

<?php if ($params->get('show_title')) : ?>
<h2 itemprop="name">
<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid, $displayData->language)); ?>" itemprop="url">
<?php echo $this->escape($displayData->title); ?></a>
<?php else : ?>
<?php echo $this->escape($displayData->title); ?>
<?php endif; ?>
</h2>
<?php endif; ?>
<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid, $displayData->language)); ?>"/>

как автоматизировать разметку для фото статьи я не совсем знаю
по правилам для фото мы должны получить такой код на выходе
Код: html4strict
<div itemscope="itemscope" itemtype="https://schema.org/ImageObject" itemprop="image"><img src="images/headers/фото.jpg" alt="фото111" />
<meta itemprop="width" content="1170" />
<meta itemprop="height" content="625" />
<meta itemprop="url" content="https://сайт.com/images/headers/фото.jpg" />
</div>

проблема в этих параметрах <meta itemprop="width" content="1170" /> и    <meta itemprop="height" content="625" />
их нужно как-то получать до формирования страницы.

Код: php
<?php if (isset($images->image_fulltext) && !empty($images->image_fulltext)) : ?>
<?php $imgfloat = (empty($images->float_fulltext))? $params->get('float_fulltext') : $images->float_fulltext; ?>
<div class="pull-<?php echo htmlspecialchars($imgfloat); ?> item-image clearfix" itemprop="image" itemscope itemtype="https://schema.org/ImageObject"> <img
<?php if ($images->image_fulltext_caption):
echo 'class="caption"' . ' title="' . htmlspecialchars($images->image_fulltext_caption). '"';
endif; ?>
src="<?php echo htmlspecialchars($images->image_fulltext); ?>" alt="<?php echo htmlspecialchars($images->image_fulltext_alt); ?>" />
    <meta itemprop="url" content="<?php echo JUri::root(). $images->image_fulltext; ?>" />
    <meta itemprop="width" content="800" />
    <meta itemprop="height" content="800" /> </div>
<div class="clearfix"></div>
<?php endif; ?>

Пока остаётся размечать фото через саму статью и добавлять headline тоже
« Последнее редактирование: 30.01.2016, 17:08:32 от ViktorMah »
*

Артём 2014

  • Захожу иногда
  • 484
  • 5 / 3
Добрый вечер, обязательно ли нужно использовать данные разметки?
*

ViktorMah

  • Захожу иногда
  • 251
  • 28 / 0
обязательно ли нужно использовать данные разметки?
Совсем не обязательно.
*

Roinmana

  • Захожу иногда
  • 108
  • 2 / 0
С начала года у Google изменились правила разметки http://schema.org/Article. Теперь нужно внедрять поля https://schema.org/ImageObject (с указанием width и height изображений) и publisher с указанием логотипа. Есть ли решения по доработке шаблона? В принципе все можно вставить вручную, вот только как сделать, что бы размеры изображения выводились актуальные?
« Последнее редактирование: 12.03.2016, 15:54:53 от Roinmana »
*

balashoff

  • Новичок
  • 10
  • 0 / 0
В нынешних реалиях сей код нужно размещать в двух файлах
1 - \html\com_content\article\default.php
Код: php
<div class="item-page<?php echo $this->pageclass_sfx; ?>" itemscope itemtype="http://schema.org/Article">
<meta itemprop="inLanguage" content="<?php echo ($this->item->language === '*')? JFactory::getConfig()->get('language') : $this->item->language; ?>" />

<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="<?php echo $doc->getBase(); ?>"/>



2 - (для Блог_Категории) \html\layouts\joomla\content\blog_style_default_item_title.php

Код: php
	<?php if ($params->get('show_title') || $displayData->state == 0 || ($params->get('show_author') && !empty($displayData->author ))) : ?>
<div class="page-header">

<?php if ($params->get('show_title')) : ?>
<h2 itemprop="name">
<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid, $displayData->language)); ?>" itemprop="url">
<?php echo $this->escape($displayData->title); ?></a>
<?php else : ?>
<?php echo $this->escape($displayData->title); ?>
<?php endif; ?>
</h2>
<?php endif; ?>
<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid, $displayData->language)); ?>"/>

как автоматизировать разметку для фото статьи я не совсем знаю
по правилам для фото мы должны получить такой код на выходе
Код: html4strict
<div itemscope="itemscope" itemtype="https://schema.org/ImageObject" itemprop="image"><img src="images/headers/фото.jpg" alt="фото111" />
<meta itemprop="width" content="1170" />
<meta itemprop="height" content="625" />
<meta itemprop="url" content="https://сайт.com/images/headers/фото.jpg" />
</div>

проблема в этих параметрах <meta itemprop="width" content="1170" /> и    <meta itemprop="height" content="625" />
их нужно как-то получать до формирования страницы.

Код: php
<?php if (isset($images->image_fulltext) && !empty($images->image_fulltext)) : ?>
<?php $imgfloat = (empty($images->float_fulltext))? $params->get('float_fulltext') : $images->float_fulltext; ?>
<div class="pull-<?php echo htmlspecialchars($imgfloat); ?> item-image clearfix" itemprop="image" itemscope itemtype="https://schema.org/ImageObject"> <img
<?php if ($images->image_fulltext_caption):
echo 'class="caption"' . ' title="' . htmlspecialchars($images->image_fulltext_caption). '"';
endif; ?>
src="<?php echo htmlspecialchars($images->image_fulltext); ?>" alt="<?php echo htmlspecialchars($images->image_fulltext_alt); ?>" />
    <meta itemprop="url" content="<?php echo JUri::root(). $images->image_fulltext; ?>" />
    <meta itemprop="width" content="800" />
    <meta itemprop="height" content="800" /> </div>
<div class="clearfix"></div>
<?php endif; ?>

Пока остаётся размечать фото через саму статью и добавлять headline тоже

У меня после вставки строки ниже статья не открывается (белый экран)

<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="<?php echo $doc->getBase(); ?>"/>

Артио SEF на сайте стоит. Могут ли в этом проблемы быть?
*

Beer

  • Завсегдатай
  • 1059
  • 41 / 1
  • БИРУ - БИР!
« Последнее редактирование: 25.04.2016, 20:29:31 от Beer »
*

Beer

  • Завсегдатай
  • 1059
  • 41 / 1
  • БИРУ - БИР!
У меня проблема такая:
 
url:   отсутствует (обязательное)

Но если удалю:
Код
<base href="http://site/poleznoe/beer/info.html" />
То код становится валидным.

На сколько важна эта строка?  
*

dialit

  • Захожу иногда
  • 69
  • 1 / 0
подскажите рабочий код с разметкой schema ко всем  image в материале.

в данном случае:
Код
<?php if (isset($images->image_fulltext) && !empty($images->image_fulltext)) : ?>
<?php $imgfloat = (empty($images->float_fulltext))? $params->get('float_fulltext') : $images->float_fulltext; ?>
<div class="pull-<?php echo htmlspecialchars($imgfloat); ?> item-image clearfix" itemprop="image" itemscope itemtype="https://schema.org/ImageObject"> <img
<?php if ($images->image_fulltext_caption):
echo 'class="caption"' . ' title="' . htmlspecialchars($images->image_fulltext_caption). '"';
endif; ?>
src="<?php echo htmlspecialchars($images->image_fulltext); ?>" alt="<?php echo htmlspecialchars($images->image_fulltext_alt); ?>" />
    <meta itemprop="url" content="<?php echo JUri::root(). $images->image_fulltext; ?>" />
    <meta itemprop="width" content="800" />
    <meta itemprop="height" content="800" /> </div>
<div class="clearfix"></div>
<?php endif; ?>

размечается только изображение полного текста материала.

Как сделать так, чтобы размечались все image в статье?


Проблема в том, что добавлять к каждой картинке данный атрибут вручную неудобно, поэтому желательно этот момент автоматизировать
« Последнее редактирование: 16.05.2016, 14:30:33 от dialit »
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
Так, немножко запутался.
Делаю сайт, добавил туда микроразметку Product,Article, Breadcrumbs.

Захотел полностью разметить шаблон "по фен-шую" ))))
Страницы у меня по сути тип "Article"

Страница Article по идее должна быть размечена так

Код
<body itemscope itemtype="http://schema.org/WebPage">
     <header itemscope itemtype="http://schema.org/WPHeader"> </header>
             <ul itemscope itemtype="http://schema.org/BreadcrumbList"> </ul>
             <div itemscope itemtype="http://schema.org/Article"> </div>
             <div itemscope itemtype="http://schema.org/Product"> </div>
     <aside itemscope itemtype="http://schema.org/WPSideBar"> </aside>
     <footer itemscope itemtype="http://schema.org/WPFooter"> </footer>
</body>

Как разметить Крошки, Статью и Продукт - понятно (валидаторы в помощь)

Но ЧТО писать в WebPage, WPHeader, WPSideBar, WPFooter ? По мне так это геометрические сущности (а не логические)

2 варианта
1. Обозначить эти секции, и оставить их пустыми (без прямых свойств)
2. Заполнить их. Тогда встает проблема, например WebPage, WPHeader рекомендуют писать itemprop="headline".
itemprop="headline" у меня взят из h1, и уже использован в Article. Можно конечно искусственно прописать их на странице тегом <p> и запихнуть в скрытый div, но получается что я делаю "разметку ради разметки"

Как правильно подойти к этому вопросу?
     
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
А как добавить рейтинг к категории (макет blog.php)?

Хочу чтобы мой блог выглядел так:
-----------------------------------------
------Заголовок блога------
Статья 1 Статья 2
Статья 3 Статья 4
-----------------------
Оцените этот блог : * * * * *
--------------------------------------------
*

Jomel

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Объясните недалекому:

Возьмем такой шаблон
http://www.joomlart.com/demo/#ja_simpli
Название статьи H2
<div class="item-page" itemscope="" itemtype="https://schema.org/Article">
   <meta itemprop="inLanguage" content="en-GB">
         <div class="page-header">
               <h2 itemprop="name">
<h2 itemprop="name">.
Почему не H1? Хоть Gavick, хоть Rockettheme возьми ... Заголовок статьи не H1 в материале это же не по фэн-шую?
Внутри статьи делать H1? Но сначала h2, а уже после него H1 тоже не по фэн-шую?
Как быть? schema.org лучше знает, как надо?
*

girlwolf

  • Захожу иногда
  • 126
  • 3 / 0
Google воспринимает рейтинг в категориях как спам в структурированных данных. Глянула, после обновления до Joomla 3.7 рейтинг появился даже в категориях, но его нельзя поставить никак пользователю (формы нет, а звездочки есть). Кто знает как добавить в категории форму для голосования (рейтинга) или полностью убрать и звёздочки из категорий?
« Последнее редактирование: 18.05.2017, 14:47:35 от girlwolf »
*

korkka44

  • Захожу иногда
  • 194
  • 1 / 0
Кто вкурсе как последнею версию ExtraVote настроить рейтинг статьи, чтобы в Google отображался к материалу, в интернете много инфы, но она уже устарела, проверяла...
*

converseone

  • Новичок
  • 1
  • 0 / 0
такой вопрос, есть конкурент который подтягивает рейтинг и оценки к категориям, пример:

Собстна, в карточке товара я реализовал это, а вот с категорией тяжко пример раздела, стоит допиливать код с рейтингом и туда подвязывать разметку или возможно реализовать чисто в коде, без изменения визуальной составляющей. Кто сталкивался?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] rel="canonical" Joomla 3 как удалить

Автор GraD

Ответов: 110
Просмотров: 37900
Последний ответ 13.05.2019, 23:03:57
от ChaosHead
Настройка title к страницам пагинации на Joomla 3

Автор robotwerder

Ответов: 4
Просмотров: 2060
Последний ответ 02.02.2019, 12:12:45
от Gerostrat
Есть ли в Joomla 3.9 проблема с дублями страниц?

Автор shop-user

Ответов: 13
Просмотров: 565
Последний ответ 08.01.2019, 14:30:39
от zikkuratvk
Как сделать код ответа сервера 404 у страницы ошибки в Joomla?

Автор Dim

Ответов: 0
Просмотров: 181
Последний ответ 20.12.2018, 19:59:32
от Dim
Joomla подходит ли для создания поисковика с большой базой данных

Автор websaps

Ответов: 7
Просмотров: 372
Последний ответ 20.12.2018, 11:54:07
от zikkuratvk