Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Добавление ссылки в исключение SeoPro


Ostaf

Recommended Posts

Как добавить конкретную ссылку в исключение SeoPro. Например index.php?route=extension/soconfig/cart/add 

Проблема в том, что при добавлении товара в корзину некорректно отображаются всплывающие окна.

То есть нужно чтобы конкретные ссылки открывало с  index.php?route=extension/


Версия ocStore 3.0.2.0

01.jpg

Надіслати
Поділитися на інших сайтах


метод validate

 

что-то типа

if (isset($this->request->get['route']) && strpos($this->request->get['route'], 'extension')) {
            return;
        }

Надіслати
Поділитися на інших сайтах

6 годин назад, spectre сказав:

метод validate

 

что-то типа

if (isset($this->request->get['route']) && strpos($this->request->get['route'], 'extension')) {
            return;
        }

А можно поподробнее? куда это вписывать и как туда вписать конкретную ссылку? Это нужно добавлять в файл seopro или в файл где выводится ссылки?

Надіслати
Поділитися на інших сайтах


11 година назад, chukcha сказав:

 index.php?route=extension/soconfig/cart/add 

 

а при стандартном ЧПУ работает?

Да. Должно выводить попап окно что данный товар добавлен в корзину. 

 

Проблема в том, что эту ссылку (index.php?route=extension/soconfig/cart/add) выводится как /soconfig/cart/add и все летит

Надіслати
Поділитися на інших сайтах


Выводит этот скрипт:

 

<script type="text/javascript"><!--
$('#button-cart').on('click', function() {
    
    $.ajax({
        url: 'index.php?route=extension/soconfig/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',
        beforeSend: function() {
            $('#button-cart').button('loading');
        },
        complete: function() {
            $('#button-cart').button('reset');
        },
        success: function(json) {
            $('.alert').remove();
            $('.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 option_data %} 
 if(typeof ProductOptionId !== undefined && ProductOptionId==i.replace('_', '-')){ 
 $('.so-colorswatch-productpage-icons').after('<div class="text-danger">' + json['error']['option'] + '</div>'); 
 } 
 {% endif %} 
 
                        
                        if (element.parent().hasClass('input-group')) {
                            element.parent().after('<div class="text-danger">' + json['error']['option'] + '</div>');
                        } else {
                            element.after('<div class="text-danger">' + json['error']['option'] + '</div>');
                        }
                    }
                }
                
                if (json['error']['recurring']) {
                    $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>');
                }
                
                // Highlight any found errors
                $('.text-danger').parent().addClass('has-error');
            }
            
            if (json['success']) {
                $('.text-danger').remove();
                /*Leader custom code*/
                $('#previewModal').modal('show'); 
                $('#previewModal .modal-body').load('index.php?route=extension/soconfig/cart/info&product_id=/'+ {{ product_id }});
                /*End Leader custom code*/
                $('#cart  .total-shopping-cart ').html(json['total'] );
                $('#cart > ul').load('index.php?route=common/cart/info ul li');
                
                
                $('.so-groups-sticky .popup-mycart .popup-content').load('index.php?route=extension/module/so_tools/info .popup-content .cart-header');
            }
            
        
        },
        error: function(xhr, ajaxOptions, thrownError) {
            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
    });
});


$('#button-checkout').on('click', function() {
    $.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',
        beforeSend: function() {
            $('#button-checkout').button('loading');
        },
        complete: function() {
            $('#button-checkout').button('reset');
        },
        success: function(json) {
            $('.alert').remove();
            $('.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 option_data %} 
 if(typeof ProductOptionId !== undefined && ProductOptionId==i.replace('_', '-')){ 
 $('.so-colorswatch-productpage-icons').after('<div class="text-danger">' + json['error']['option'] + '</div>'); 
 } 
 {% endif %} 
 
 
                         {% if option_data %} 
                         if(ProductOptionId != undefined && ProductOptionId==i.replace('_', '-')){ 
                         $('.so-colorswatch-productpage-icons').after('<div class="text-danger">' + json['error']['option'] + '</div>'); 
                         } 
                         {% endif %} 
 
                        
                        if (element.parent().hasClass('input-group')) {
                            element.parent().after('<div class="text-danger">' + json['error']['option'] + '</div>');
                        } else {
                            element.after('<div class="text-danger">' + json['error']['option'] + '</div>');
                        }
                    }
                }
                
                if (json['error']['recurring']) {
                    $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>');
                }
                
                // Highlight any found errors
                $('.text-danger').parent().addClass('has-error');
            }

            if (json['success']) {
                $('.text-danger').remove();
                $('#cart  .total-shopping-cart ').html(json['total'] );
                 window.location.href = "index.php?route=checkout/checkout";
            }
        },
        error: function(xhr, ajaxOptions, thrownError) {
            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
    });
});
//--></script>

Надіслати
Поділитися на інших сайтах


  • 9 months later...
  • 6 months later...
В 16.05.2020 в 15:06, thentru сказал:

@Till там есть баг инициализации ajax
вот как его вылечить

 

 

Шаблон от этого же производителя и ocStore 3.0.2.0, только фикс не помог. Делал все по инструкции, кэш и модификаторы чистил. Проверил ajax запросы такие же, post. Есть варианты что еще можно попробовать? Заранее спасибо! 

Змінено користувачем donnie
уточнение
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.