COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Adems

opencart.pro
  • Публикации

    245
  • Зарегистрирован

  • Посещение

  • Days Won

    4

Все публикации пользователя Adems

  1. Есть пару изменений касательно разметки Цена товара: В связи с предупреждением о неверном формате цена. Необходимо вывести еще одно значение цены без указания валюты и размечать его: В файле catalog\controller\product\product.php Ищем: $data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); После добавляем новую переменную без указания валюты: $data['price_int'] = ($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); И выводим её с разметкой в шаблоне товара после <h2 class="page-product"><?php echo $price; ?></h2> (старую разметку убираем). Выглядеть блок с разметкой цены будет так: <li itemprop="offers" itemscope itemtype="http://schema.org/Offer"> <h2 class="page-product"><?php echo $price; ?></h2> <span itemprop="priceCurrency" content="UAH"><meta itemprop="price" content="<?php echo $price_int; ?>" /></span> </li> Тоже делаем с товарами по акционной цене (этот момент был упущен). В файле catalog\controller\product\product.php После: $data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); Добавляем: $data['special_int'] = ($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); И выводим в шаблоне товара, выглядеть будет так: <li itemprop="offers" itemscope itemtype="http://schema.org/Offer"> <h2 class="page-product"><?php echo $special; ?></h2> <span itemprop="priceCurrency" content="UAH"><meta itemprop="price" content="<?php echo $special_int; ?>" /></span> </li> Разметка полностью валидна, без ошибок и предупреждений, индексируется, проверил. Не забудьте о content="UAH" для рубля это content="RUB"
  2. Adems

    Теги Продуктов

    Ребята подскажите пожалуйста как вывести правильную ссылку на страницах результата поиска по ключевым и тегам. Есть так: index.php?route=product/search&amp;tag=супер пупер товары Надо так: index.php?route=product/search&amp;tag=супер_пупер_товары Для валидности, без пробелов, как хеш теги. Эти страницы не индексируются, но при заполнении тегов товара, в карточке товара появляются не валидные ссылки, при наличии которых валидатор ругается на саму страницу товара.
  3. Может я не правильно понял вопрос, извините. До самой разметки отзывов не добрался.
  4. Рекомендую перед изменением файлов cделать Бекап (хотя-бы тех которые изменяете). Микроразметка данных: Разметка "Хлебных крошек" Ищем файлы: catalog\view\theme\ваша тема\template\product\product.tpl catalog\view\theme\ваша тема\template\product\category.tpl catalog\view\theme\ваша тема\template\product\special.tpl catalog\view\theme\ваша тема\template\product\manufacturer_list.tpl catalog\view\theme\ваша тема\template\product\manufacturer_info.tpl catalog\view\theme\ваша тема\template\blog\latest.tpl catalog\view\theme\ваша тема\template\product\article.tpl catalog\view\theme\ваша тема\template\ information\sitemap.tpl catalog\view\theme\ваша тема\template\ information\information.tpl catalog\view\theme\ваша тема\template\ information\contact.tpl Далее в этих файлах ищем 3 я строка: <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> Меняем на: <ul itemscope itemtype="http://schema.org/BreadcrumbList" class="breadcrumb"> <?php $i = 1; foreach ($breadcrumbs as $key => $breadcrumb) { ?> <?php if($i == count($breadcrumbs)){ ?> <li><?php echo $breadcrumb['text']; ?></li> <?php }else{ ?> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="<?php echo $breadcrumb['href']; ?>"><span itemprop="name"><?php echo $breadcrumb['text']; ?></span></a><meta itemprop="position" content="<?php echo $key+1; ?>" /></li> <?php } ?> <?php $i++; } ?> </ul> Данный код одновременно меняет стандартный вывод крошек делая последнею крошку не активной и вносит саму разметку. Обязательно! Далее нам нужен файл /catalog/language/russian/russian.php Меняем содержимое $_['text_home'] = '<i class="fa fa-home"></i> ' на '<i class="fa fa-home"></i><span class="displayn"> Главная</span>'; Если вы желаете скрыть надпись главная в стили css дописываем .displayn {display:none;} "Главная" или нет кому как надо. Проверяем здесь: https://developers.google.com/structured-data/testing-tool/ https://webmaster.yandex.ua/microtest.xml Разметка товара Открываем файл: catalog\view\theme\ваша тема\template\product\product.tpl Ищем: <div class="container"> Обозначаем, что в этом блоке будет находится разметка товара: <div class="container" itemscope itemtype="http://schema.org/Product"> Размечаем адрес страницы через ссылку хлебных крошек. <link itemprop="url" href="<?php echo $breadcrumb['href']; ?>" /> Размечаем картинку Ищем блок изображений в шаблоне: <ul class="thumbnails"> <?php if ($thumb) { ?> <li><a class="thumbnail" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> Обозначаем основное изображение с помощью itemprop="image": <ul class="thumbnails"> <?php if ($thumb) { ?> <li><a class="thumbnail" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img itemprop="image" src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li> Ищем описание и размечаем как itemprop="description": Само описание будет тут: <div class="tab-pane active" id="tab-description"><?php echo $description; ?></div> Размечаем: <div itemprop="description" class="tab-pane active" id="tab-description"><?php echo $description; ?></div> Далее нам нужно указать название товара. Ищем: <h1><?php echo $heading_title; ?></h1> Заменяем на: <h1 itemprop="name"><?php echo $heading_title; ?></h1> Следующая цель - обозначить цену itemprop="price": Для этого находим: <li> <h2 itemprop="price"><div itemprop="priceCurrency" content="RUB"><?php echo $price; ?></div></h2> </li> Меняем на: <li itemprop="offers" itemscope itemtype="http://schema.org/Offer"> <h2 itemprop="price"><div itemprop="priceCurrency" content="RUB"><?php echo $price; ?></div></h2> </li> Обратите внимание на: content="RUB" Для гривны это: content="UAH" Есть маленький нюанс в связи с выводом цены и валюты в Opencart, поскольку цена выводится в виде: 4360грн. (нет возможности выделить тегом отдельно сами цифры исключив грн ) то валидатор гугл делает предупреждение о неверном формате, подчёркиваю что предупреждение, но индексирует и отображает в виде 4360 грн. правильно. Указание модели, бренда: Бренд: Ищем <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></li> Меняем на: <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><span itemprop="brand"><?php echo $manufacturer; ?></span></a></li> Модель: Ищем: <li><?php echo $text_model; ?> <?php echo $model; ?></li> Меняем на: <li><?php echo $text_model; ?> <span itemprop="model"><?php echo $model; ?></span></li> Размечаем рейтинг товаров: Ищем <div class="rating"> <p> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($rating < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $reviews; ?></a> / <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $text_write; ?></a> </p> <hr> <!-- AddThis Button BEGIN --> <div class="addthis_toolbox addthis_default_style"><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a> <a class="addthis_button_tweet"></a> <a class="addthis_button_pinterest_pinit"></a> <a class="addthis_counter addthis_pill_style"></a></div> <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-515eeaf54693130e"></script> <!-- AddThis Button END --> </div> Меняем на: <div class="rating" itemprop = "aggregateRating" itemscope itemtype = "http://schema.org/AggregateRating"> <p> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($rating < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-1x"></i><i class="fa fa-star-o fa-stack-1x"></i></span> <?php } ?> <?php } ?> <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $reviews; ?></a> / <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); return false;"><?php echo $text_write; ?></a> </p> <meta itemprop = "ratingValue" content="<?php echo $rating; ?>"> <meta itemprop = "worstRating" content="1"> <meta itemprop = "bestRating" content="5"> <meta itemprop = "reviewCount" content="<?php echo $review_count; ?>"> <hr> <!-- AddThis Button BEGIN --> <div class="addthis_toolbox addthis_default_style"><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a> <a class="addthis_button_tweet"></a> <a class="addthis_button_pinterest_pinit"></a> <a class="addthis_counter addthis_pill_style"></a></div> <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-515eeaf54693130e"></script> <!-- AddThis Button END --> </div> В файле: catalog\controller\product\product.php Ищем: $data['reviews'] = sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']); И после этой строки добавляем: $data['review_count'] = (int)$product_info['reviews']; Разметка свединий об организации: <div itemscope itemtype="http://schema.org/Organization"> <span itemprop="name">Сюда вставляем название организации</span> © 2011-2015 <br/> <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> Адрес: <span itemprop="streetAddress">Указываем улицу и номер дома</span> <span itemprop="addressLocality">Указываем город</span>, <span itemprop="postalCode">Вписываем почтовый индекс</span> </div> Телефоны:<span itemprop="telephone">Телефон №1</span>, <span itemprop="telephone">Телефон №2</span>,<br/> Электронная почта: <span itemprop="email">Вписываем e-mail</span> <br/> </div> Этот код вставляете в любое место на сайте, я это сделал в шаблоне контакты. Всё индексируется и отображается. Делал на стандартном шаблоне.
  5. Здравствуйте! Можно ли реализовать изменение цены в национальной валюте изменяя курс УE, к примеру задавая цены в долларах но показывая её в гривне как основную валюту. Было-бы работы с товарами на 50% меньше. К примеру у меня на сайте продаются товары закупочная стоимость которых идёт в УЕ, и поскольку курс постоянно меняется приходится в ручную менять цены. А так зашел курс поменял и всё. Вариант установки основной валюты в УЕ исключён, и не подходит.
  6. Ну-дак страница и остаётся по одному адресу доступной, дубля ведь нет, адрес то один и урл. Вот конечно то что ссылка может лишняя вес разрывает возможно. Но это ток в случае с лого так как он на всех страницах, да и то знаю что Бот гугла клеит все сквозные и сводит их к одному значению. Ну хотя я допускаю всё, поэтому поинтересовался, не чтоб по умничать.
  7. Сравнение товаров немного не удобно так как нет ссылки на список сравнений. Да и вообще нужно ли это сравнение. Еще один момент не знаю как кого но меня ужас как раздражает весь процесс совершения покупки, слишком мудрено и долго, хотелось бы раз два и готово, остальное заинтересованный менеджер и сам узнает. Также если условие покупка без регистрации можно было бы личный кабинет отключать полностью, и спокойно смотреть свои закладки, сравнения без мысли что ты никому ничего не должен. Регистрация вообще напрягает любого пользователя.
  8. Извините за вопрос, чисто для образованности, чем мешает ссылка в лого и в крошках?
  9. Да есть такое, Не было вопросов, может совпадение какое то почему так сам не пойму, было всё нормально раньше. Поэкспериментирую, поставлю опять PNG из админки, посмотрю на результат.
  10. Появился фавикон после смены на формат ico в корень сайта.
  11. Давно подумываю что надо переезжать из bitte.
  12. Замкнутый круг, хостер говорит: Данная ошибка может возникать, если для работы сайта необходим модуль, который не установлен на сервере или не поддерживается в текущей версии php. Для определения того, какой модуль или версия php необходимы для устранения ошибки, рекомендуем обратится к программисту. Не подскажете к кому можно обратиться с этой проблемой? Хотя сайт работает вроде бы нормально, но сам факт ошибки не даёт покоя.
  13. Спасибо за уделённое время. Подожду еще месяцок может пробьёт. Извините за вопрос не по теме может случайно подскажете где рыть: в панели у хостера в логах идёт ошибка PHP Warning: PHP Startup: Unable to load dynamic library '/opt/alt/php54/usr/lib64/php/modules/' - /opt/alt/php54/usr/lib64/php/modules/: cannot read file data: Is a directory in Unknown on line 0 Поддержка говорит что какой то модуль не включен или работает не правильно, не подскажете Случайно что это может быть?
  14. Ели не сложно может подскажете где самому что поправить, хотелось бы знать что за косяк. Это что у меня одного такое? Если это проблема движка почему бы не исправить?
  15. Пробовал уже как там описано, кинул его в корень, да браузер выводит. Дело в том что стандартным образом фавикон тоже выводится в браузер, и был он в выдаче, а тут резко пропал и всё. Яндекс его не видит при проверке favicon.yandex.net/favicon/http://сайт/ Может это быть связано с форматом PNG ? Хотя я в корень бросил ico, может он проверяет из своего кеша в котором его просто нет? Кстати с правками header.tpl почему-то не работает путь указывал image
  16. Здравствуйте, подскажите пожалуйста в чём причина, перестал отображаться фавикон в яндексе уже почти месяц, проверял здесь favicon.yandex.net/favicon/http://сайт/ вместо фавикона белая картинка, гогл вроде видит, может у кого тоже есть подобный случай? Еще также интересует как добавить картинку в ico ?
  17. Андрей здравствуйте! Нужны иконки на главную, и в инфо разделы, какая цена за шт? сайт: http://mebelfort.com.ua/

    1. Andrey

      Andrey

      Здравствуйте. Еще актуально?

  18. Да, не использую. Значит я не причём, уже легче спасибо.
  19. Не запорол ли я сам чего, в движке? почему всего 225 с пробелами или так и было.
  20. Просто нелепо выглядят обрезанные тексты описаний в админке и html Можно ведь лимит больше поставить хоть на 100 смв, жалко что-ли))) Откуда такая точная цифра 225 смв. с пробелами, На сколько я был уверен 260 смв и без пробелов (может я ошибаюсь допускаю).
  21. Просто извините "кумарит" когда надо description подгонять чтоб хоть слова не обрезались как попало.
  22. Здравствуйте! Только заметил что в карточке товаров Обрезается description до 225 символов, где исправить подскажите пожалуйста.