Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Этот товар сейчас смотрят...


Recommended Posts

Всем привет!

Ищу модуль - "этот товар сейчас просматривают..." (как на скрине)

Видел пару тем, ни одна толком не закончена, все уходят в рассуждения зачем, почему итд.

Давайте эту часть опустим и если кто знает готовый модуль для oc3 или как сделать (не думаю, что сложно) - подскажите, пожалуйста.

Суть его: в карточке товара он показывает рандомное число пользователей внутри заданного (1-30, например) , которые просматривают товар.

Screenshot_1.png

Link to post
Share on other sites

Как вариант - переделать данный модуль.

Link to post
Share on other sites

Создаем блок и стилизируем его
В контроллере catalog/product создаем переменную в какой будет генерироваться случайное число

$data['count_cust'] = rand(1, 30);

И в twig выводим эту переменную

{{ count_cust }}

Локальные файлы если нужно подтянуть, тогде переменную нужно формировать по типу:

$data['count_cust'] = sprintf($this->language->get('text_customer_view'), rand(1, 30));

Языковая переменная будет иметь вид:

$_['text_customer_view'] = 'Этот товар сейчас смотрят %s пользователей';

И все

 

p.s. если нужны реальные показатели людей, какие смотрят тогда нужно чуть по другому заморочиться.

 

Можно на примере кода с /common/footer.php взять часть для "Пользователи Онлайн" и преобразовать его для определенного товара

  • +1 1
Link to post
Share on other sites
2 часа назад, Djeff78 сказал:

Как вариант - переделать данный модуль.

Спасибо, но это не совсем то...

Link to post
Share on other sites

2 часа назад, Fedka сказал:

Создаем блок и стилизируем его
В контроллере catalog/product создаем переменную в какой будет генерироваться случайное число


$data['count_cust'] = rand(1, 30);

И в twig выводим эту переменную


{{ count_cust }}

Локальные файлы если нужно подтянуть, тогде переменную нужно формировать по типу:


$data['count_cust'] = sprintf($this->language->get('text_customer_view'), rand(1, 30));

Языковая переменная будет иметь вид:


$_['text_customer_view'] = 'Этот товар сейчас смотрят %s пользователей';

И все

 

p.s. если нужны реальные показатели людей, какие смотрят тогда нужно чуть по другому заморочиться.

 

Можно на примере кода с /common/footer.php взять часть для "Пользователи Онлайн" и преобразовать его для определенного товара

Спасибо, сейчас попробую. А что имеется ввиду под "локальными файлами"?

Link to post
Share on other sites

а можно просто добавить в viewed запрос к табличке и будет ид товара - время и дергать из нее на полчаса назад скажем

Link to post
Share on other sites
1 минуту назад, spectre сказал:

а можно просто добавить в viewed запрос к табличке и будет ид товара - время и дергать из нее на полчаса назад скажем

Вы имеете ввиду, чтобы показывать реальные просмотры с некоей отсылкой во времени? Дело в том, что сайт новый, дай Бог 5 человек в день просматривает. Толку от них, когда в каталоге 150к товаров?))))

Link to post
Share on other sites

генерите тогда рандомный номер но люди вас быстро раскусят ведь если обновить страничку число может стать и меньше

Link to post
Share on other sites
1 минуту назад, spectre сказал:

генерите тогда рандомный номер но люди вас быстро раскусят ведь если обновить страничку число может стать и меньше

Впрочем, как и больше если изначально не было максимума))) 

Link to post
Share on other sites

Показывает кол-во человек которые просматривают товар Х в данный момент (можно настроить как отображение реальных посетителей, так и рендомных):

 

Link to post
Share on other sites
7 минут назад, kagan сказал:

Показывает кол-во человек которые просматривают товар Х в данный момент (можно настроить как отображение реальных посетителей, так и рендомных):

 

Интересный модуль. А для трешки есть?

Link to post
Share on other sites

  • 2 weeks later...
В 04.08.2019 в 11:24, kagan сказал:

Да

Спасибо, уже сделали.

Link to post
Share on other sites

В 04.08.2019 в 11:24, kagan сказал:

Да

Хотя, приобрету. стоит попробовать, думаю.

Link to post
Share on other sites

  • 1 month later...

Как в этом модуле накрутить просмотры что бы для каждого товара можно накрутить к примеру 50 просмотров, а то сделали в магазине тет-а-тет, а настроить не можем.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By WeBuy
      Здравствуйте, возникла необходимость в добавлении поля выбора количества товара в модуле вариантов товара, саму кнопку добавления покупки товара я сделал, но возикла проблема с выбором количества и добавления этого количества в корзину.

      Не хочет отправлять нужное количество в корзину
      код модуля с  кнопкой 
      <div class="prodvar-button"> <div class="form-group"> <label class="control-label" for="input-quantity">{{ entry_qty }}</label> <div class="input-group number-spinner"> <span class="input-group-btn"> <button class="btn btn-default" data-dir="dwn"><i class="fa fa-minus"></i></button> </span> <input type="text" name="quantity" value="{{ product['minimum'] }}" id="input-quantity" class="form-control text-center" /> <span class="input-group-btn"> <button class="btn btn-default" data-dir="up"><i class="fa fa-plus"></i></button> </span> </div> <input type="hidden" name="product_id" value="{{ product['product_id'] }}" /> <br /> <button type="button" id="button-cart" data-loading-text="{{ text_loading }}" class="btn btn-primary btn-lg btn-block">{{ button_cart }}</button> </div> </div> В кнопку 
      <button type="button" id="button-cart" class="btn btn-primary btn-lg btn-block">{{ button_cart }}</button>   добавлял атрибут
      onclick="cart.add('{{ product['product_id'] }}', $(this).parent().parent().find('.quantity_input').val());" работало только с 
      onclick="cart.add('{{ product['product_id'] }}', {{ product['minimum'] }} но добавлял только 1 товар
      код для переключалки количества 
      $(document).on('click', '.number-spinner button', function () { var btn = $(this), oldValue = btn.closest('.number-spinner').find('input').val().trim(), newVal = 1; if (btn.attr('data-dir') == 'up') { newVal = parseInt(oldValue) + 1; } else { if (oldValue > 1) { newVal = parseInt(oldValue) - 1; } else { newVal = 1; } } btn.closest('.number-spinner').find('input').val(newVal); }); Как сделать так чтобы было стандартное поле как с правой стороны и оно адекватно работало? 
      в идеале нужно чтоб оно отправляло данные в попап корзину, с блоком справа код ниже работает
      $(function() { $.ajax({ type: 'get', url: 'index.php?route=extension/module/cart_popup/initcart', dataType: 'json', cache: false, success: function(json) { $.each($("[onclick^='"+json['add_function_selector']+"']"), function() { var product_id = $(this).attr('onclick').match(/[0-9]+/); $(this) .attr('onclick', 'call_cp(\'' + $(this).attr('onclick').match(/[0-9]+/) + '\',\'' + 'add' + '\');') .addClass('cp-call-button'); }); var product_id_in_page = $("input[name='product_id']").val(); $('#'+json['add_id_selector']) .unbind('click') .attr('onclick', 'call_cp(\'' + product_id_in_page + '\',\'' + 'add_option' + '\');'); if (json['cart_products']) { $.each(json['cart_products'], function(i,value) { $('[onclick="call_cp(\'' + value + '\',\'' + 'add' + '\');"]') .html('<i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">' + json['text_in_cart'] + '</span>') .attr('onclick', 'call_cp(\'' + value + '\',\'' + 'load' + '\');'); $('[onclick="call_cp(\'' + value + '\',\'' + 'add_option' + '\');"]') .html(json['text_in_cart']) .attr('onclick', 'call_cp(\'' + value + '\',\'' + 'load_option' + '\');'); }); } if (json['cart_products_vs_options']) { $.each(json['cart_products_vs_options'], function(i,value) { $('[onclick="call_cp(\'' + value + '\',\'' + 'add' + '\');"]') .html('<i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">' + json['text_in_cart'] + '</span>'); $('[onclick="call_cp(\'' + value + '\',\'' + 'add_option' + '\');"]') .html(json['text_in_cart_vs_options']); }); } } }); }); function call_cp(product_id, action) { quantity = typeof(quantity) != 'undefined' ? quantity : 1; if (action == "add") { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: 'product_id=' + product_id + '&quantity=' + quantity, dataType: 'json', cache: false, success: function(json) { if (json['redirect']) { location = json['redirect']; } if (json['success']) { cpInit(); call_cp(product_id,'load'); $('#cart-total').html(json['total']); } } }); } if (action == "load" || action == "load_option") { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/default/stylesheet/cart_popup/loading.svg" alt="" />', items: { src: 'index.php?route=extension/module/cart_popup', type: 'ajax' }, showCloseBtn: false }); $('.mfp-bg').css({ 'background': 'url(image/cart_popup/background/{{ cp_setting['style_beckground'] }})', 'opacity': '{% if cp_setting['background_opacity'] == 0 %}{{ cp_setting['background_opacity'] }}{% else %}{{ cp_setting['background_opacity']/10 }}{% endif %}' }); } if (action == "add_option") { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), dataType: 'json', cache: false, beforeSend: function() { $('#button-cart').button('loading'); }, complete: function() { $('#button-cart').button('reset'); }, success: function(json) { $('.alert, .text-danger').remove(); $('.form-group').removeClass('has-error'); if (json['error']) { if (json['error']['option']) { for (i in json['error']['option']) { var element = $('#input-option' + i.replace('_', '-')); if (element.parent().hasClass('input-group')) { element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } else { element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } } } $('.text-danger').parent().addClass('has-error'); } if (json['success']) { cpInit(); call_cp(product_id, 'load_option'); $('#cart-total').html(json['total']); } } }); } }  
      подскажите пожалуйста что я не так сделал? и как мне это починить? Благодарю
    • By Chingizkhan
      Есть сайт на опенкарт 3. постоянно нужны доработки, как правило мелкие, иногда не очень.
      Ищем живого энергичного программиста , который поможет реализовывать наши задумки и сам будет предлагать решения по оптимизации и улучшению.
    • By smart_center
      Здравствуйте, есть ли возможность назначать опции не каждому товару, а всем товарам одной категории? Например, у меня есть категория смартфон, я хочу всем товарам, которые находятся в этой категории сделать одинаковые опции с одинаковыми значениями. В ручную каждому добавлять одно и то же долго. Может есть вариант с каким-нибудь модулем. Спасибо.
    • By shkafov73
      Нужно изменить процесс оформления покупки, т.е. убрать личный кабинет.
    • By Admiral1985
      Всем привет, ребят как можно найти кусок кода если в файлах его нет, а гугл показует что он есть?
      Суть в чем я нашел так он должен выглядить в оргинале ->

      у меня почему то класс и  home не отображаються вместо этого стоит другой класс!


      вот так он у меня!
      и как найти и исправить классы хз!
      Все файлы прошарил не где нет такого!
      Может как то подругому можно его вывести ?
      Вот ссылка на сайт!


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.