Всего: 2 1 2 >
 Блок многоуровневой навигации или фильтр товаров
leonetrek
Новичок
: 70
: 17-10-2012


20-08-2013 20:46
Подскажите плиз. При выборе характеристик из фильтра, в урле страницы, после названия категории, появляется # и потом идут выбранные фильтры. Подскажите, может кто разбирался, как убрать эту решетку из урла?


:
url.jpg - 7.6KB, : 970 ()
 
  
Kat
Новичок
: 23
: Харьков
: 02-04-2011


20-08-2013 22:37
Разрешите присоединиться к вопросу, решетка со значениями фильтров озадачивает в плане SEO.

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

Заранее спасибо за любую полезную информацию)


:
2.JPG - 61.17KB, : 968 ()
 
  
leonetrek
Новичок
: 70
: 17-10-2012


20-08-2013 23:29
Ну у меня чуть немного другая задача. Если Вы заметили, то при наведении на характеристику в фильтре - показывается URL страницы с этой характеристикой. Вот в этом я вижу маленькую беду. Google и Yandex видят эту ссылку и пытаются по ней перейти, а в итоге их редиректит на ту же страницу каталога с #. Как по мне полный бред выходит

И вторая проблема из-за этого #. Пользователь долго и нудно настраивал для себя фильтр с нужными для него характеристиками. В итоге ему выпало несколько товаров из сотни. Он на один переходит посмотрел его и нажимает в браузере кнопку "вернуться на предыдущую страницу", что бы посмотреть следующий товар. И тут - ООО FUCK! опять приходится настраивать заново фильтр так как все сбросилось. В итоге пользователь плюнул и ушел нафик


Сообщение отредактировано leonetrek 21-08-2013 00:30 ...
 
  
e_v_medvedev
Профессионал
: 806
: Москва
: 25-03-2011


20-08-2013 23:30
Отключите индексацию страниц фильтра в robots.txt.
 
  
leonetrek
Новичок
: 70
: 17-10-2012


20-08-2013 23:33
Цитата:( e_v_medvedev @ 21-08-2013 00:30 Смотреть сообщение )
Отключите индексацию страниц фильтра в robots.txt.
Каких страниц отключить индексацию? Страниц каталога что ли? Или страниц которые с фильтром?

Если первый вариант, то это полный капец, а если брать второй вариант, то если у Вас, около 10 характеристик и в каждой характеристики по 5+ значений. Представляете какое кол-во страниц получается нужно отключить? Да и еще составить их


Сообщение отредактировано leonetrek 21-08-2013 00:34 ...
 
  
leonetrek
Новичок
: 70
: 17-10-2012


20-08-2013 23:36
Да и если с индексацией Google и Yandex что-то можно придумать, то как быть с пользователем, который настраивал фильтр, а потом он у него сбился из-за того, что просмотрел только 1 товар?
 
  
e_v_medvedev
Профессионал
: 806
: Москва
: 25-03-2011


21-08-2013 14:45
Для robots.txt есть возможность добавлять шаблоны для отключения групп урлов. Смотрите документацию в Яндекс.вебмастер.

С потерей данных при перезагрузке дело не фонтан в этом модуле. Он работает как AJAX приложение а урлы формирует JS кодом, поэтому при перезагрузках страниц данные для фильтрации в командной строке браузера могут слетать. Этот поправить не просто.


Сообщение отредактировано e_v_medvedev 21-08-2013 10:49 ...
 
  
leonetrek
Новичок
: 70
: 17-10-2012


22-08-2013 01:30
За урл отвечает вот этот файл blocklayered.js. Я там нашел вот такой код. Уверен, что где то здесь собака зарыта. Если кто понял, то отпишитесь
Код:
// Currente page url
            if (typeof(current_friendly_url) == 'undefined')
                current_friendly_url = '#';
                
            // Get all sliders value
            $(['price', 'weight']).each(function(it, sliderType)
            {
                if ($('#layered_'+sliderType+'_slider').length)
                {
                    // Check if slider is enable & if slider is used
                    if(typeof($('#layered_'+sliderType+'_slider').slider('values', 0)) != 'object')
                    {
                        if ($('#layered_'+sliderType+'_slider').slider('values', 0) != $('#layered_'+sliderType+'_slider').slider('option' , 'min')
                        || $('#layered_'+sliderType+'_slider').slider('values', 1) != $('#layered_'+sliderType+'_slider').slider('option' , 'max'))
                            current_friendly_url += '/'+sliderType+'-'+$('#layered_'+sliderType+'_slider').slider('values', 0)+'-'+$('#layered_'+sliderType+'_slider').slider('values', 1)
                    }
                }
                else if ($('#layered_'+sliderType+'_range_min').length)
                {
                    current_friendly_url += '/'+sliderType+'-'+$('#layered_'+sliderType+'_range_min').val()+'-'+$('#layered_'+sliderType+'_range_max').val();
                }
            });
            if (current_friendly_url == '#')
                current_friendly_url = '#/';
            window.location = current_friendly_url;
            lockLocationChecking = true;
            
            if(slideUp)
                $.scrollTo('#product_list', 400);
            updateProductUrl();
            
            $('.hide-action').each(function() {
                hideFilterValueAction(this);
            });
        }
    });
    ajaxQueries.push(ajaxQuery);
}

function initLocationChange(func, time)
{
    if(!time) time = 500;
    var current_friendly_url = getUrlParams();
    setInterval(function()
    {
        if(getUrlParams() != current_friendly_url && !lockLocationChecking)
        {
            // Don't reload page if current_friendly_url and real url match
            if (current_friendly_url.replace(/^#(\/)?/, '') == getUrlParams().replace(/^#(\/)?/, ''))
                return;
            
            lockLocationChecking = true;
            reloadContent('&selected_filters='+getUrlParams().replace(/^#/, ''));
        }
        else {
            lockLocationChecking = false;
            current_friendly_url = getUrlParams();
        }
    }, time);
}

function getUrlParams()
{
    var params = current_friendly_url;
    if(window.location.href.split('#').length == 2 && window.location.href.split('#')[1] != '')
        params = '#'+window.location.href.split('#')[1];
    return params;
}
 
  
alkostar
Cпециалист
: 118
: 12-11-2010


05-09-2013 23:38
Еще вопрос по фильтру:
Каким образом сделать так, чтоб ширина и прочие характеристики регулировались ползунками? А то только цену и вес можно делать ползунками, а остальное чекбоксами или выпадающими списками...
 
  
e_v_medvedev
Профессионал
: 806
: Москва
: 25-03-2011


06-09-2013 01:25
См. здесь http://prestadev.ru/forum/tema-7081-0.html#pid40280
 
  
   
Всего: 2 1 2 >