VM Manufacturer Slider - простой и функциональный слайдер производителей для магазина на virtuemart 3.

Купил слайдер для mi55.ru

Производителей у нас много. Нужно было ограничить выгрузку ключевыми. Разработчик доработал. Оставлю себе на память инструкцию.

Инструкция гласит:

По производителям. Установите слайдер. В файле/modules/mod_vm_manufacturer_slider/mod_vm_manufacturer_slider.php после

$model->addImages($manufacturers);

добавьте:

$manIds = [1,2,3,5]; // id производителей, который должны выводиться в слайдере
$manufacturers = array_filter($manufacturers, function($item) use($manIds) {
    return in_array($item->virtuemart_manufacturer_id, $manIds);
});

В $manIds через запятую укажите id производителей, которые должны быть в слайдере.

Как показать контент только на мобильных устройствах

Чтобы добавить на страницу текст или изображение только для пользователей мобильных устройств, вставьте следующий код контейнер внутри тэга  <body> в том месте, где этот контент должен отображаться (контейнер — это конструкция в коде HTML, состоящая из открывающего и закрывающего тегов, например, <body> и </body>, <div> и </div>):

<div class="show-on-mobile">
Здесь текст или изображение, которое будет видно только на мобильных устройствах.
</div>

Для тэга <div class="show-on-mobile"> прописываем в файле CSS свойства этого класса .show-on-mobile

 

1
2
3
4
5
.show-on-mobile { display: none; }
/* Smartphone Portrait and Landscape */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px){ .show-on-mobile { display: inline; }}

 

Как скрыть контент для мобильных устройств

Чтобы спрятать определенный контент от пользователей мобильной версии страницы, вам нужно добавить в нужном месте контейнера <body> код, похожий на предыдущий:


<div class="hide-on-mobile">
Здесь текст или изображение, которое не будет видно только на мобильных устройствах.
</div>

Затем необходимо прописать стили CSS в одноименном файле:

Чтобы спрятать определенный контент от пользователей мобильной версии страницы, вам нужно добавить в нужном месте контейнера <body> код, похожий на предыдущий:


<div class="hide-on-mobile">
Здесь текст или изображение, которое не будет видно только на мобильных устройствах.
</div>

Затем необходимо прописать стили CSS в одноименном файле:

 

1
2
3
4
5
.hide-on-mobile { display: inline; }
/* Smartphone Portrait and Landscape */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px){ .hide-on-mobile { display: none; }}

 

 

 

 

Если при авторизации пользователя в админке появляется такая ошибка

Последний запрос был отклонён, поскольку он содержит неправильный параметр безопасности (security token). Пожалуйста, обновите страницу и попробуйте ещё раз.

То найдите все куки сайта:

kok

и удалите их:

kok2

Возможно появление подобного сообщение из-за неактуальных расширений, компонентов, плагинов

Столкнулся сегодня с такой штукой. Не первый раз уже, но первый она меня поставила в тупик. Обновляю Joomla, а в процессе вываливается это. Попробовал кукисы, но без толку. Ответ в принципе сообщала сама джумала. Был не обновлен Akeeba Backup. После создания бэкапа с его помощью, перед обновлением самой джумлы процесс улетал в белый экран с сообщением

Полезные ссылки:

http://virtuemart.su/forums/topic/nepravilnyj-parametr-bezopasnosti-security-token/

Если сайт имеет только одну страницу перенаправление реализуется за счет Redirect

Redirect 301 /index.php http://www.exapmle.ru

С ресурсами на CMS так сделать не получится и требуется другая конструкция.

RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule !(.) https://www.example.ru/ [R=301,L]

За счет отсутствия $1 в конце перенаправление не будет работать для запросов помимо тех, что  адресованы непосредственно к домену.

Все каталоги, размещенные внутри DocumentRoot, таким образом останутся доступны по тому же адресу, при обращении к самому домену будет происходить редирект на www.example.ru с HTTP кодом 301.

Сам не в теме, информация честно украдено тут и использована для перенаправления главной страницы старого магазина www.android55.ru  на главную страницу нового магазина www.mi55.ru. При этом я пытаюсь сохранить в индексе все старые страницы www.android55.ru и сохранить его работоспособным с доступом к админке. Для меня все еще актуальна информация о пользователях. Если все пойдет хорошо то будут переадресованы все ключевые страницы старого сайта и постепенно старый сайт будет уйдет в историю.

Настраиваем Java цель для Яндекс Метрики

О том что это такое в Справочнике Яндекс

Решение придумано и проверенно в работе мной лично. Решение подходит в том числе для бесплатного варианта Onepage Generic Очень простое и очень правильное решение.

Почему-то большинство доброжелателей советует привязывать цель к кнопке "Подтвердить заказ" в Корзине. Казалось бы правильное решение, но почему-то я не смог настроить вариант найденный в сети. 

Конкретно для Onepage Generic рекомендуют править файл:

/httpdocs/plugins/system/onepage_generic/cart/tmpl/default_shopper.php 896

было

Код
 
echo '<a class="opg-button '.$button_primary_class.' opg-button-large opg-margin-top opg-width-1-1" href="javascript:void(0);" onclick="submit_order();"><span>' . JText::_('COM_VIRTUEMART_ORDER_CONFIRM_MNU'). '</span></a>';

стало

Код
 
echo '<a class="opg-button '.$button_primary_class.' opg-button-large opg-margin-top opg-width-1-1" href="javascript:void(0);" onclick="submit_order(); yaCounter88888888.reachGoal(\'ORDER\'); return true;"><span>' . JText::_('COM_VIRTUEMART_ORDER_CONFIRM_MNU'). '</span></a>';


Где 88888888 - это номер вашего счетчика метрики.

Соответственно в самой метрике добавил javascript событие с идентификатором цели ORDER.

Я так и не добился работы этого варианта. Почему не знаю. Но в процессе поиска я наткнулся на одну очень интересную мысль. Один Эксперт, сказал, что цель кнопка "Подтвердить Заказ" это неправильная цель. Она не дает 100% достоверность. Ведь пользователь может нажать кнопку не заполнив какие-то важные поля. Яндекс зачтет такое нажатие, но цель достигнута не будет. Правильнее привязывать событие к странице благодарности за заказ. В моем случае ссылка корзины и страницы благодарности совпадает. Поэтому от javascript все-равно не уйти. Но размещение скрипта заметно упрощается.

Ищем шаблон страницы благодарности

/docs/components/com_virtuemart/views/cart/tmpl/order_done.php

И в самое начало страницы, до первой инструкции php, добавляем стандартное JavaScript-событие от Яндекс.

Они называют это: Достижение цели при загрузке страницы

Решение 1

<script type="text/javascript">
    window.onload = function() {
        yaCounterCOUNTER_ID.reachGoal('TARGET_NAME')
    }
</script>

Решение 2 (для jQuery)

<script type="text/javascript">
    $(window).load(function() {
        yaCounterCOUNTER_ID.reachGoal('TARGET_NAME')
    });
</script>

Меняем COUNTER_ID на код вашего счетчика, а TARGET_NAME на выбранное вами имя цели. Я выбрал ORDER.
Вот и весь секрет. У меня на mi55.ru работает!