COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!
-
Публикации
245 -
Зарегистрирован
-
Посещение
-
Days Won
4
Все публикации пользователя Adems
-
Есть пару изменений касательно разметки Цена товара: В связи с предупреждением о неверном формате цена. Необходимо вывести еще одно значение цены без указания валюты и размечать его: В файле 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"
-
Ребята подскажите пожалуйста как вывести правильную ссылку на страницах результата поиска по ключевым и тегам. Есть так: index.php?route=product/search&tag=супер пупер товары Надо так: index.php?route=product/search&tag=супер_пупер_товары Для валидности, без пробелов, как хеш теги. Эти страницы не индексируются, но при заполнении тегов товара, в карточке товара появляются не валидные ссылки, при наличии которых валидатор ругается на саму страницу товара.
-
Может я не правильно понял вопрос, извините. До самой разметки отзывов не добрался.
-
Рекомендую перед изменением файлов 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> Этот код вставляете в любое место на сайте, я это сделал в шаблоне контакты. Всё индексируется и отображается. Делал на стандартном шаблоне.
-
Нашел спасибо.
-
Здравствуйте! Можно ли реализовать изменение цены в национальной валюте изменяя курс УE, к примеру задавая цены в долларах но показывая её в гривне как основную валюту. Было-бы работы с товарами на 50% меньше. К примеру у меня на сайте продаются товары закупочная стоимость которых идёт в УЕ, и поскольку курс постоянно меняется приходится в ручную менять цены. А так зашел курс поменял и всё. Вариант установки основной валюты в УЕ исключён, и не подходит.
-
Ну-дак страница и остаётся по одному адресу доступной, дубля ведь нет, адрес то один и урл. Вот конечно то что ссылка может лишняя вес разрывает возможно. Но это ток в случае с лого так как он на всех страницах, да и то знаю что Бот гугла клеит все сквозные и сводит их к одному значению. Ну хотя я допускаю всё, поэтому поинтересовался, не чтоб по умничать.
-
Сравнение товаров немного не удобно так как нет ссылки на список сравнений. Да и вообще нужно ли это сравнение. Еще один момент не знаю как кого но меня ужас как раздражает весь процесс совершения покупки, слишком мудрено и долго, хотелось бы раз два и готово, остальное заинтересованный менеджер и сам узнает. Также если условие покупка без регистрации можно было бы личный кабинет отключать полностью, и спокойно смотреть свои закладки, сравнения без мысли что ты никому ничего не должен. Регистрация вообще напрягает любого пользователя.
-
Извините за вопрос, чисто для образованности, чем мешает ссылка в лого и в крошках?
-
Да есть такое, Не было вопросов, может совпадение какое то почему так сам не пойму, было всё нормально раньше. Поэкспериментирую, поставлю опять PNG из админки, посмотрю на результат.
-
Появился фавикон после смены на формат ico в корень сайта.
-
Давно подумываю что надо переезжать из bitte.
-
Замкнутый круг, хостер говорит: Данная ошибка может возникать, если для работы сайта необходим модуль, который не установлен на сервере или не поддерживается в текущей версии php. Для определения того, какой модуль или версия php необходимы для устранения ошибки, рекомендуем обратится к программисту. Не подскажете к кому можно обратиться с этой проблемой? Хотя сайт работает вроде бы нормально, но сам факт ошибки не даёт покоя.
-
Спасибо за уделённое время. Подожду еще месяцок может пробьёт. Извините за вопрос не по теме может случайно подскажете где рыть: в панели у хостера в логах идёт ошибка 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 Поддержка говорит что какой то модуль не включен или работает не правильно, не подскажете Случайно что это может быть?
-
Ели не сложно может подскажете где самому что поправить, хотелось бы знать что за косяк. Это что у меня одного такое? Если это проблема движка почему бы не исправить?
-
Пробовал уже как там описано, кинул его в корень, да браузер выводит. Дело в том что стандартным образом фавикон тоже выводится в браузер, и был он в выдаче, а тут резко пропал и всё. Яндекс его не видит при проверке favicon.yandex.net/favicon/http://сайт/ Может это быть связано с форматом PNG ? Хотя я в корень бросил ico, может он проверяет из своего кеша в котором его просто нет? Кстати с правками header.tpl почему-то не работает путь указывал image
-
Здравствуйте, подскажите пожалуйста в чём причина, перестал отображаться фавикон в яндексе уже почти месяц, проверял здесь favicon.yandex.net/favicon/http://сайт/ вместо фавикона белая картинка, гогл вроде видит, может у кого тоже есть подобный случай? Еще также интересует как добавить картинку в ico ?
-
Да, не использую. Значит я не причём, уже легче спасибо.
-
Не запорол ли я сам чего, в движке? почему всего 225 с пробелами или так и было.
-
Просто нелепо выглядят обрезанные тексты описаний в админке и html Можно ведь лимит больше поставить хоть на 100 смв, жалко что-ли))) Откуда такая точная цифра 225 смв. с пробелами, На сколько я был уверен 260 смв и без пробелов (может я ошибаюсь допускаю).
-
Просто извините "кумарит" когда надо description подгонять чтоб хоть слова не обрезались как попало.
-
Здравствуйте! Только заметил что в карточке товаров Обрезается description до 225 символов, где исправить подскажите пожалуйста.