Добавление в шаблон микроразметки schema.org

Тема в разделе "Общие вопросы", создана пользователем Zlata Jesen, 2 ноя 2015.

  1. Edikofff

    Edikofff Новичок

    Сообщения:
    22
    Симпатии:
    1
    Там предлагается такое решение:
    Но в файле product.tpl элементарно нет строк
    Код:
    <li>
    <h2 itemprop="price"><div itemprop="priceCurrency" content="RUB"><?php echo $price; ?></div></h2>
    </li>
    там
    Код:
    <?php if ($price) { ?>
                <ul class="list-unstyled">
                <?php if (!$special) { ?>
                <li>
                  <h2><?php echo $price; ?></h2>
                </li>
                <?php } else { ?>
                <li><span style="text-decoration: line-through;"><?php echo $price; ?></span></li>
                <li>
     
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.883
    Симпатии:
    1.065
    ваша задача тупо убрать грн из price = 41.00 грн
    Как уберете, без разницы. Можете из контроллера вывести.. без разницы.
     
  3. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    а у людей работает.. вот беда... Вам ссылки указали на прямо решение.. даже искать не нужно. Как это не работает??

    вот так и делаем.. десятки тем ежедневно отправляются в хлам.. так как всем лень читать, а нужно все в рот положить.. да и персонально разжевать..
    еще раз указанную ссылку посмотрите.. может чего придумаете. А не только слово НЕ РАБОТАЕТ!
     
  4. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    да потому что это цитата.. выше нужно было смотреть, а не писать то что неработатет. Исправил уже ссылку.
     
  5. Edikofff

    Edikofff Новичок

    Сообщения:
    22
    Симпатии:
    1
    Никак не привыкну кэш сбрасывать.
    [​IMG]
    Если бы Вы знали сколько раз я тот код ставил и не только тот и не только с этого сайта...уже рукой махнул
     
  6. Ecsiron

    Ecsiron Продвинутый пользователь

    Сообщения:
    415
    Симпатии:
    53
    А я в свою очередь в вашу бочку меда вылью свою ложку дегтя!
    Сейчас примерно вот такой вывод цены на станице.
    Вывод без поддержки микроразметки:
    HTML:
    <ul class="list-unstyled">
        <li>
          <h2>₽ 822</h2>
        </li>
    </ul>
    А вы хотите вывод валюты с поддержкой микроразметки:
    HTML:
    <ul class="list-unstyled">
        <li itemprop="offers" itemscope itemtype="http://schema.org/Offer">
          <h2 itemprop="price"><div itemprop="priceCurrency" content="RUB"><?php echo $price; ?></div></h2>
        </li>
    </ul>
    Я все правильно понимаю и ничего не перепутал?)
     
    Последнее редактирование: 21 сен 2016
    Edikofff нравится это.
  7. Edikofff

    Edikofff Новичок

    Сообщения:
    22
    Симпатии:
    1
    Код такой:
    Код:
    <?php if ($price) { ?>
              <ul class="list-unstyled">
                <?php if (!$special) { ?>
                <li itemprop="offers" itemscope itemtype="http://schema.org/Offer">
                <meta itemprop="price" content="<?php $priceMeta = str_replace('грн.', '', $price); echo $priceMeta; ?>">
                <meta itemprop="priceCurrency" content="UAH">
                <h2><?php echo $price; ?></h2>
                </li>
    Что за деготь?
    Гугл вроде не ругается
     
  8. Ecsiron

    Ecsiron Продвинутый пользователь

    Сообщения:
    415
    Симпатии:
    53
    Деготь, потому-что мыслю по другому) Вы все код пытаетесь испаганить, а я мыслю модификаторно.
    Этот модификатор для ОС 2.3. и он изменяет микроразметку в корзине, а приду домой и название файла переправлю, будет модифицировать микроразметку в товаре, категориях и т.д. И еще он оставляет правую и левую части цены, если они не используются, то желательно поставить пробелы. Этот мод не окончательный, а первый рабочий вариант.
    Его нужно чутка подправить, только вернусь домой и сделаю)
    Если к моему возвращению подскажите путь, то буду признателен.

    Код:
        <file path="system/library/cart/currency.php">
            <operation>
                <search><![CDATA[
                    'value'         => $result['value']
                ]]></search>
                <add position="replace"><![CDATA[                'value'         => $result['value'],
                    'currency_code'  => $result['code']
                ]]></add>
            </operation>
            <operation>
                <search><![CDATA[
            $decimal_place = $this->currencies[$currency]['decimal_place'];
                ]]></search>
                <add position="after"><![CDATA[
            $currency_code = $this->currencies[$currency]['currency_code'];
                ]]></add>
            </operation>
            <operation>
                <search><![CDATA[
                $string .= $symbol_left;
            ]]></search>
                <add position="replace"><![CDATA[
                $string .= '<ul class="list-inline"><li>' . $symbol_left. '</li><li itemprop="offers" itemscope itemtype="http://schema.org/Offer"><div itemprop="priceCurrency" content="'. $currency_code .'">';
                ]]></add>
            </operation>
            <operation>
                <search><![CDATA[
                $string .= $symbol_right;
                ]]></search>
                <add position="replace"><![CDATA[
                $string .= '</div></li><li>'. $symbol_right . '</li></ul>';
                ]]></add>
            </operation>
        </file>
     
  9. Edikofff

    Edikofff Новичок

    Сообщения:
    22
    Симпатии:
    1
    Ну к сожалению я подсказать ничего не смогу((( у меня все методом поиска в интернете + к нему метод научного тыка + большой опыт попрошайничества))) = это уже 4й магазин без денежного вознаграждения вебмастерам. Жаль что первые 3 пришлось забросить по независящим от меня причинам. Но такой мод конечно очень пригодился бы)))))
    Вот еще бы рецепт вынесения отзывов в индексацию без жуткого геморроя
     
  10. Ecsiron

    Ecsiron Продвинутый пользователь

    Сообщения:
    415
    Симпатии:
    53
    Микроразметка уже на всем сайте) Бесплатно и с лучшими пожеланиями)
    Как говорится, совершенству нет предела, так что пользуйтесь на здоровье.
    На выходе получается так:
    HTML:
    <ul class="list-unstyled">
                            <li>
                  <h2><ul class="list-inline"><li>₽</li><li itemprop="offers" itemscope="" itemtype="http://schema.org/Offer"><div itemprop="priceCurrency" content="RUB">254035</div></li><li> </li></ul></h2>
                </li>
                                                              </ul>
    А мне все таки хочется немного красивее)
    http://forum.opencart-russia.ru/threads/ocmod-mikrorazmetka-nachalo-dlja-os-2-3.3784/
     
    Последнее редактирование: 22 сен 2016
  11. antik26

    antik26 Новичок

    Сообщения:
    1
    Симпатии:
    0
    здравствуйте, спасибо всем за помощь так как кучу всего перечитал и благодаря тем кто сдесь сидит все работает!) тоже хочу спросить:
    разметил категорию - <div class=product-thumb itemscope itemtype="http://schema.org/Product" itemprop=itemListElement>, у яндекса все хорошо, а гугл мне выдает поле "position" и пишет что значение в поле обьязательное, и это возле каждого товара в категории, кто сталкивался?
     
  12. Митяй

    Митяй Новичок

    Сообщения:
    11
    Симпатии:
    3
    Есть подозрение на то что вывод цены будет у тех товаров которые есть в наличии, как в случае Яндекс 100%. (это из мануалов Яши).
    <link itemprop="availability" href="http://schema.org/InStock" />В наличии
    </div>
    Но есть одна проблемка, не писать же наличие товаров для тех которые под заказ, этот вопрос меня терзает.
    Есть у кого соображения?
     
    Последнее редактирование: 20 янв 2017
  13. Митяй

    Митяй Новичок

    Сообщения:
    11
    Симпатии:
    3

    У меня тоже глюк какой - то был, не работало! Убрал, заново вставил и работает. Что было не понятно, может сам валидатор тормозит. Не ругайся нащальника!
    Есть другое решение с правкой контролера, в одну строчку. Кому надо пытайте если что. Но один момент придётся несколько нулей после запятой убить.
     
  14. Dasha

    Dasha Новичок

    Сообщения:
    8
    Симпатии:
    0
    Спасибо за статью, очень помогла.
    Только подскажите, пожалуйста, как правильно самостоятельно и принудительно дописать название валюты в файлах шаблона? Вернее после какой строки и что именно нужно написать (какие строчки с названием валюты) ? ( Я так понимаю после <?php if ($product['price']) { ?>) ?

    Этот шаг :
     
  15. Zlata Jesen

    Zlata Jesen Продвинутый пользователь

    Сообщения:
    165
    Симпатии:
    98
  16. mario512

    mario512 Новичок

    Сообщения:
    10
    Симпатии:
    0
    Вот подсмотрел как у Розетки в разметке категории указывается позиция. Может кто адаптирует до инструкцию разметки из этого поста?

    <li class="breadcrumbs-catalog-i" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
    <a class="breadcrumbs-catalog-link novisited sprite-side breadcrumbs-catalog-link-2" href="http://rozetka.com.ua/mobile-smart-accessories/c80263/" itemprop="item">
    <span class="breadcrumbs-catalog-title" itemprop="name">Аксессуары для мобильных телефонов и смартфонов</span>
    <meta itemprop="position" content="2" >
    </a>
    </li>
     
  17. grey0207

    grey0207 Активный пользователь

    Сообщения:
    126
    Симпатии:
    33
    Позиция в категории или в хлебных крошках? В ХК вижу, а в категориях не. Можно ссылку?
     
  18. Сергей2017

    Сергей2017 Новичок

    Сообщения:
    26
    Симпатии:
    0
    reviewCount
    0 (Значение параметра reviewCount должно быть положительным.)

    Не смог найти решение данной проблемы =( всю остальную разметку сделал.
    Правда валюта Руб в категориях не показывается, что туда писать тоже не понял и куда именно (в какую строку). В самой карточке товара вся разметка кроме "0" отзыва сделана без ошибок
     
  19. Сергей2017

    Сергей2017 Новичок

    Сообщения:
    26
    Симпатии:
    0
    Выдаёт ошибку, как правильно прописать условие и куда?
    reviewCount
    0 (Значение параметра reviewCount должно быть положительным.)
     
  20. Митяй

    Митяй Новичок

    Сообщения:
    11
    Симпатии:
    3
    Оборачиваете разметку в :
    <?php if ($review_count): ?>

    <?php endif; ?>


    И всё будет ок.

    Вот так
    <?php if ($review_count): ?>
    <div itemprop = "aggregateRating" itemscope itemtype = "http://schema.org/AggregateRating">
    <meta itemprop = "ratingValue" content="<?php echo $rating; ?>">
    <meta itemprop = "worstRating" content="0">
    <meta itemprop = "bestRating" content="5">
    <meta itemprop = "reviewCount" content="<?php echo $review_count; ?>">
    <div>
    <?php endif; ?>
    И разметка выводится при её наличии.
     
    Сергей2017 нравится это.