Jump to content
YuliyaChu

Знак # в урле при выборе фильтра

Recommended Posts

Здравствуйте!

Подскажите, пожалуйста, как правильно убрать # из урла при выборе фильтрации?

 

у меня получилось убрать следующим способом, но это что не то по ходу:

 

в файле /modules/blocklayered/blocklayered.php

строка 2805:

$type_filter['values'][$key]['link'] = Context::getContext()->link->getCategoryLink($parent, null, null).'#'.ltrim($parameters, '/');

заменяем на:

$type_filter['values'][$key]['link'] = Context::getContext()->link->getCategoryLink($parent, null, null).ltrim($parameters, '/');

 

и строка 3093:

'current_friendly_url' => ((int)$n == (int)$nb_products) ? '#/show-all': '#'.$filter_block['current_friendly_url'],

заменяем на:

'current_friendly_url' => ((int)$n == (int)$nb_products) ? '#/show-all': '.'.$filter_block['current_friendly_url'],

 

Но теперь ошибка появляется при выборе какого-нибудь фильтра, что страница не найдена http://www.uniqroom.ru/matrasy/. Причём сначала фильтр срабатывает нормально, но потом страница обновляется и появляется эта ошибка

 

помогите, пожааалуйста! очень нужно решить эту проблему

уже очень давно с ней парюсь

Share this post


Link to post
Share on other sites

В чем смысл убирать решетку вообще? Вот только не пишите что для того чтобы результаты фильтров индексировались...на хрена их индексировать то? правильный ответ незачем! Заморачивайтесь лучше другими вещами, времени что ли много..

Share this post


Link to post
Share on other sites

В чем смысл убирать решетку вообще? Вот только не пишите что для того чтобы результаты фильтров индексировались...на хрена их индексировать то? правильный ответ незачем! Заморачивайтесь лучше другими вещами, времени что ли много..

именно для индексирования

 

мне виднее нужно или нет)

Share this post


Link to post
Share on other sites

Я уже вижу на сколько Вам виднее..

Если бы Вам нужно было для индексирования и Вы бы не поленились прочитать информацию с этих двух страниц:

https://support.google.com/webmasters/answer/174992?hl=ru

и

https://help.yandex.ru/webmaster/robot-workings/ajax-indexing.xml

То, Вы бы поняли что Вам не удалять решетку надо, а на оборот добавить восклицательный знак после нее #!

Share this post


Link to post
Share on other sites

Ну и еще полезно в счетчике метрики установить галку "Отслеживание хеша в адресной строке браузера" при его создании...

 

Подробнее тут:

http://clubs.ya.ru/metrika/replies.xml?item_no=4791

Edited by Kerm (see edit history)

Share this post


Link to post
Share on other sites

да, мне уже подсказывали, что можно так сделать

 

а как добавить ! ?

 

 

выглядит это конечно не очень красиво)) заменить хотя бы # на слово filter

Share this post


Link to post
Share on other sites

Это ajax запрос, страница не обновляется при выводе контента при таком запросе, чтобы ссылка с хэшом индексировалась нужно чтобы обязательно было #!

Share this post


Link to post
Share on other sites

Так все же как добавить ! после # ?

Share this post


Link to post
Share on other sites

я так сделала:

 

в файле /modules/blocklayered/blocklayered.php

строка 2800:

$type_filter['values'][$key]['link'] = Context::getContext()->link->getCategoryLink($parent, null, null).'#'.ltrim($parameters, '/');

заменяем на:

$type_filter['values'][$key]['link'] = Context::getContext()->link->getCategoryLink($parent, null, null).'#!'.ltrim($parameters, '/');

 

и строка 3093:

'current_friendly_url' => ((int)$n == (int)$nb_products) ? '#/show-all': '#'.$filter_block['current_friendly_url'],

заменяем на:

'current_friendly_url' => ((int)$n == (int)$nb_products) ? '#/show-all': '#!'.$filter_block['current_friendly_url'],

 

 

А чтобы при снятии всех фильтров не оставалась решетка, нужно в файле /themes/default-bootstrap/js/modules/blocklayered/blocklayered.js

 

в строчке 607:

if (current_friendly_url == '#')

current_friendly_url = '#/';

 

меняем на:

if (current_friendly_url == '#!')

current_friendly_url = '';

Share this post


Link to post
Share on other sites

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More