YuliyaChu Posted November 15, 2014 Share Posted November 15, 2014 Здравствуйте! Подскажите, пожалуйста, как правильно убрать # из урла при выборе фильтрации? у меня получилось убрать следующим способом, но это что не то по ходу: в файле /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/. Причём сначала фильтр срабатывает нормально, но потом страница обновляется и появляется эта ошибка помогите, пожааалуйста! очень нужно решить эту проблему уже очень давно с ней парюсь Link to comment Share on other sites More sharing options...
Kerm Posted November 17, 2014 Share Posted November 17, 2014 В чем смысл убирать решетку вообще? Вот только не пишите что для того чтобы результаты фильтров индексировались...на хрена их индексировать то? правильный ответ незачем! Заморачивайтесь лучше другими вещами, времени что ли много.. Link to comment Share on other sites More sharing options...
YuliyaChu Posted November 17, 2014 Author Share Posted November 17, 2014 В чем смысл убирать решетку вообще? Вот только не пишите что для того чтобы результаты фильтров индексировались...на хрена их индексировать то? правильный ответ незачем! Заморачивайтесь лучше другими вещами, времени что ли много..именно для индексирования мне виднее нужно или нет) Link to comment Share on other sites More sharing options...
Kerm Posted November 17, 2014 Share Posted November 17, 2014 Я уже вижу на сколько Вам виднее..Если бы Вам нужно было для индексирования и Вы бы не поленились прочитать информацию с этих двух страниц:https://support.google.com/webmasters/answer/174992?hl=ruиhttps://help.yandex.ru/webmaster/robot-workings/ajax-indexing.xmlТо, Вы бы поняли что Вам не удалять решетку надо, а на оборот добавить восклицательный знак после нее #! Link to comment Share on other sites More sharing options...
Kerm Posted November 17, 2014 Share Posted November 17, 2014 (edited) Ну и еще полезно в счетчике метрики установить галку "Отслеживание хеша в адресной строке браузера" при его создании... Подробнее тут:http://clubs.ya.ru/metrika/replies.xml?item_no=4791 Edited November 17, 2014 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted November 17, 2014 Share Posted November 17, 2014 Что то на примере этого сделал вот: http://charmante.su/93153180-%D0%B6%D0%B5%D0%BD%D1%81%D0%BA%D0%B8%D0%B5-%D0%BA%D0%BE%D0%BB%D0%B3%D0%BE%D1%82%D0%BA%D0%B8Если фильтром пользоваться добавляется то что нужно. Link to comment Share on other sites More sharing options...
YuliyaChu Posted November 17, 2014 Author Share Posted November 17, 2014 да, мне уже подсказывали, что можно так сделать а как добавить ! ? выглядит это конечно не очень красиво)) заменить хотя бы # на слово filter Link to comment Share on other sites More sharing options...
Kerm Posted November 17, 2014 Share Posted November 17, 2014 Это ajax запрос, страница не обновляется при выводе контента при таком запросе, чтобы ссылка с хэшом индексировалась нужно чтобы обязательно было #! Link to comment Share on other sites More sharing options...
val22 Posted November 20, 2014 Share Posted November 20, 2014 Так все же как добавить ! после # ? Link to comment Share on other sites More sharing options...
YuliyaChu Posted November 20, 2014 Author Share Posted November 20, 2014 я так сделала: в файле /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 = ''; Link to comment Share on other sites More sharing options...
Recommended Posts