druuum1 0 Posted February 11, 2020 Report Share Posted February 11, 2020 С 3 февраля гугл начал жаловаться на разметку отзывов, хтя я ничего не менял: Недопустимый тип объекта в поле "itemReviewed" Отсутствует обязательное минимальное и/или максимальное значение для оценки. Значение, заданное для элемента данных "reviewCount", должно быть положительным. Код: <div class="row-fluid reviews-title" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> <div class="span8 title"> <meta itemprop="itemReviewed" content="Чай пуэр ШУ"> Отзывы: <span itemprop="reviewCount">0</span>, Оценка: <span itemprop="ratingValue">0.00</span> </div> </div> не могу понять что ему не нравится файл product_reviews.html {config_load file="$language/lang_$language.conf" section="reviews"}<br /> <h1>{$PRODUCTS_NAME} {#heading_reviews#}</h1> <div class="row-fluid reviews-title" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> <div class="span8 title"> itemprop="itemReviewed" content="{$PRODUCTS_NAME}" {#heading_reviews#} <span itemprop="reviewCount">{$PRODUCTS_REVIEWS_COUNT}</span>, {#text_rating#} <span itemprop="ratingValue">{$PRODUCTS_REVIEWS_RATING|number_format:2}</span> <span itemprop="worstRating" content="0"</span> <span itemprop="bestRating" content="5"</span> </div> </div> {foreach name=aussen item=module_data from=$module_content} <div class="page"> <div class="pagecontent" itemprop="review" itemscope itemtype="http://schema.org/Review"> <p> <span class="bold">{#text_author#}</span> <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{$module_data.AUTHOR}</span></span> <span content="{$module_data.DATE|date_format:"%Y-%m-%d"}" itemprop="datePublished">{$module_data.DATE|date_format:"%Y-%m-%d"}</span> </p> <p> <span class="bold">{#text_rating#}</span> <span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"><span itemprop="ratingValue" content="{$module_data.RATING_TXT}">{$module_data.RATING_TXT}</span></span> {$module_data.RATING} </p> <p itemprop="reviewBody"> {$module_data.TEXT} </p> </div> </div> {/foreach} {if $TEXT_FIRST_REVIEW != ''} <div class="page"> <div class="pagecontent"> <p> {$TEXT_FIRST_REVIEW} </p> </div> </div> {/if} <div class="pagecontentfooter"> {$BUTTON_WRITE} </div> Link to post Share on other sites
support 447 Posted February 11, 2020 Report Share Posted February 11, 2020 34 минуты назад, druuum1 сказал: С 3 февраля гугл начал жаловаться на разметку отзывов, хтя я ничего не менял: Недопустимый тип объекта в поле "itemReviewed" Отсутствует обязательное минимальное и/или максимальное значение для оценки. Значение, заданное для элемента данных "reviewCount", должно быть положительным. Код: <div class="row-fluid reviews-title" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> <div class="span8 title"> <meta itemprop="itemReviewed" content="Чай пуэр ШУ"> Отзывы: <span itemprop="reviewCount">0</span>, Оценка: <span itemprop="ratingValue">0.00</span> </div> </div> не могу понять что ему не нравится файл product_reviews.html {config_load file="$language/lang_$language.conf" section="reviews"}<br /> <h1>{#heading_reviews#} {$PRODUCTS_NAME}</h1> <div class="page"> <div class="pagecontent"> <p> <span class="bold">{#title_nr#}</span> <span class="bold">{#title_author#}</span> <span class="bold">{#title_rating#}</span> <span class="bold">{#title_date#}</span> </p> {foreach name=aussen item=module_data from=$module_content} <p itemprop="review" itemscope itemtype="http://schema.org/Review"> <meta itemprop="itemReviewed" content="{$PRODUCTS_NAME}"> {$module_data.ID} <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{$module_data.AUTHOR}</span></span> <span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"><span itemprop="ratingValue" content="{$module_data.RATING_TXT}">{$module_data.RATING}</span></span> <span content="{$module_data.DATE|date_format:"%Y-%m-%d"}" itemprop="datePublished">{$module_data.DATE|date_format:"%Y-%m-%d"}</span> <span itemprop="reviewBody">{$module_data.TEXT}</span> </p> {/foreach} </div> </div> В последней обновлении 1.99.13 исправлен этот момент. Ругался на страницы reviews.php и product_reviews_info.php, у меня по всяком случае. Это потому что разметка Review не была привязана к Product, т.е. не было понятно, к какому товару относятся отзывы. Обновитесь до текущей версии. Link to post Share on other sites
support 447 Posted February 11, 2020 Report Share Posted February 11, 2020 Либо можете взять исправленные файлы: /includes/classes/product.php /product_reviews_info.php /templates/vamshop4/module/product_reviews_info.html /templates/vamshop4/module/reviews.html /includes/application_top.php /inc/vam_get_manufacturers_name.inc.php Link to post Share on other sites
druuum1 0 Posted February 11, 2020 Author Report Share Posted February 11, 2020 Спасибо! Link to post Share on other sites
support 447 Posted February 11, 2020 Report Share Posted February 11, 2020 2 часа назад, druuum1 сказал: Спасибо! и затем проверьте в тестере - https://search.google.com/structured-data/testing-tool Например страница https://vamshop.ru/reviews.php Разметка Product, а уже внутри Product отзывы. Не должно быть прям на первой странице разметки Review, должен быьт Product, внутри которого уже все данные товара, в том числе отзывы. Тоже самое для страницы конкретного отзыва - https://vamshop.ru/product_reviews_info.php/products_id/1/reviews_id/93 и для страницы отзывов конкретного товара - https://vamshop.ru/product_reviews.php/products_id/1 ну и карточку товара тоже можно проверить - https://vamshop.ru/vamshop.html Link to post Share on other sites
druuum1 0 Posted February 12, 2020 Author Report Share Posted February 12, 2020 Спасибо, обновлений не ставил больше года, так как очень много своих правок, поэтому исправлял то что есть. Единственное на чем застрял - если товара нет в наличии, то я делаю в разметке availability - out of stock, но цена $PRODUCTS_PRICE так и будет "нет в наличии" и ее в поле price нельзя поставить, будет ошибка, в админке цена 0, но там же в о вкладке цена я добавил еще строку после разных цен для каждой группы покупателей, со старой ценой, чтобы не забывать ее, как можно эту цену скормить гуглу как поле price? Link to post Share on other sites
support 447 Posted February 12, 2020 Report Share Posted February 12, 2020 1 час назад, druuum1 сказал: Спасибо, обновлений не ставил больше года, так как очень много своих правок, поэтому исправлял то что есть. Единственное на чем застрял - если товара нет в наличии, то я делаю в разметке availability - out of stock, но цена $PRODUCTS_PRICE так и будет "нет в наличии" и ее в поле price нельзя поставить, будет ошибка, в админке цена 0, но там же в о вкладке цена я добавил еще строку после разных цен для каждой группы покупателей, со старой ценой, чтобы не забывать ее, как можно эту цену скормить гуглу как поле price? Если у Вас какое-то своё поле для цены добавлено, наверное надо его и выводить. Вот в faq есть похожий вопрос - Как выводить в другой валюте. Вывод цены другой группы делается точно также. т.е. делаем всё, что указано в FAQ для вывода цены в другой валюте. Только правим не первый параметр - код валюты, т.е. вместо USD оставляем RUB или какой там у Вас код валюты. А правим второй параметр, где указывается, цену какой группы доставать. т.е. вместо: $_SESSION['customers_status']['customers_status_id'] пишем id номер группы, цены которой надо вывести. Например 1 - посетитель 2 покупатель Вот таким способом можно вести разные цены. Но это нужно что б в админке у товара были забыти цена для разных групп, т.е. в закладке Цены в админке, для арзные групп покупателей надо указать свои цены. Link to post Share on other sites
druuum1 0 Posted February 12, 2020 Author Report Share Posted February 12, 2020 Попробую, Спасибо! Link to post Share on other sites
support 447 Posted February 12, 2020 Report Share Posted February 12, 2020 Удачи Link to post Share on other sites
support 447 Posted February 19, 2020 Report Share Posted February 19, 2020 15 минут назад, druuum1 сказал: Сделал как вы описали - вместо цены пишет У Вас нет доступа для просмотра цен А у Вас во всех группах в Админке - Покутпали - Группы включена опцию Показывать цены?! или в каких-то выключена эта опция?! По идее, это сообщение выводится, если эта опция выключена. Link to post Share on other sites
druuum1 0 Posted February 19, 2020 Author Report Share Posted February 19, 2020 в product_info.php вставляю: $vamPriceOLD = new vamPrice('RUR', 7); $products_price_OLD = $vamPriceOLD->GetPrice($array['products_id'], $format = true, 1, $tax_rate, $array['products_price'], 1); $info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['formated']); в product_info_v1.html {$PRODUCTS_PRICE_OLD} пишет нет в наличии, то есть 0, хотя цена в этой группе есть Link to post Share on other sites
support 447 Posted February 19, 2020 Report Share Posted February 19, 2020 20 минут назад, druuum1 сказал: в product_info.php вставляю: $vamPriceOLD = new vamPrice('RUR', 7); $products_price_OLD = $vamPriceOLD->GetPrice($array['products_id'], $format = true, 1, $tax_rate, $array['products_price'], 1); $info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['formated']); в product_info_v1.html {$PRODUCTS_PRICE_OLD} пишет нет в наличии, то есть 0, хотя цена в этой группе есть По идее, это ж неправильно. $array нет такого массива на карточке товара. Посмотрите как сделана метка PRODUCTS_PRICE в /includes/modules/product_info.php Видимо, надо как-то так: $vamPriceOLD = new vamPrice('RUR', 7); $products_price_OLD = $vamPriceOLD->GetPrice($product->data['products_id'], $format = true, 1, $product->data['products_tax_class_id'], $product->data['products_price'], 1); $info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['formated']); и надо проверять, точно у Вас есть группа с id номером 7 и код валюты точно RUR, а не RUB например. Link to post Share on other sites
druuum1 0 Posted February 19, 2020 Author Report Share Posted February 19, 2020 Точно! в массиве была проблема, я не заметил, сейчас заработало! спасибо!! кто столкнется с таким же вопросом - последняя строка $info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['plain']); - чтоб гугл понял, если formated - то это с запятой или точкой может быть разделение тысяч Link to post Share on other sites
support 447 Posted February 19, 2020 Report Share Posted February 19, 2020 9 минут назад, druuum1 сказал: Точно! в массиве была проблема, я не заметил, сейчас заработало! спасибо!! кто столкнется с таким же вопросом - последняя строка $info->assign('PRODUCTS_PRICE_OLD', $products_price_OLD['plain']); - чтоб гугл понял, если formated - то это с запятой или точкой может быть разделение тысяч Не за что. Хорошо, что разобрались. Link to post Share on other sites
IVAN.Z 2 Posted February 28, 2020 Report Share Posted February 28, 2020 Чет я файлы заменил из архива скаченного на сайт и упал сайт, там в базу еще что-то прописывается или поч так могло произойти? Link to post Share on other sites
support 447 Posted February 28, 2020 Report Share Posted February 28, 2020 Только что, ZM сказал: Чет я файлы заменил из архива скаченного на сайт и упал сайт, там в базу еще что-то прописывается или поч так могло произойти? Потому что нормально надо обновляться, в обновлениях много всего вносится, иногда и база данных обновляется. Link to post Share on other sites
Recommended Posts