Тема: [4.6.1] - Якоря в меню

Собственно маленький сабж. Столкнулся с задачей создать меню, зашёл создал пунк меню как ссылка, указал ссылку в виде якоря #stranica1, модуль меню вывелся нормально, только ссылку сделал не просто якорь, а приписал ещё полный адрес ссылки http://www.moisait.ru/#stranica1.

Может это и правильно, но мне надо сделать скроллинговую страницу, наткнулся на такие грабли.

Есть варианты как то сделать по другому или обойти это?  hmm

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

2

Re: [4.6.1] - Якоря в меню

Лэндинг чтоли адаптируешь?)))

Продам ОДНУ лицензию ImageCMS Shop Premium. Писать в личку. или на Lifesaver903@yandex.ru

Thumbs up Thumbs down

3

Re: [4.6.1] - Якоря в меню

Он самый  wink

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

4

Re: [4.6.1] - Якоря в меню

а в чем конкретно проблема?
я делал такое, все работает.

Thumbs up Thumbs down

5

Re: [4.6.1] - Якоря в меню

Мне надо линк на якорь #yakorj , а получается www.sait.ru/#yakorj из-за этого при нажатии на линк, перегружается страница, чего мне не надо.

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

6

Re: [4.6.1] - Якоря в меню

Решение проблемы:
Открываем в редакторе файл menu.php в папке с модулем под названием menu.  Ищем метод под названием display_menu()

Ищем кусок кода

                if ($item['item_type'] == 'url' && strstr($item['link'], 'http://') or $item['item_type'] == 'url' && strstr($item['link'], 'www')) {
                    $href = $item['link'];
                } else {
                    $href = rtrim(site_url($item['link']), '/');
                }

Я добавил ещё условие, если в строке адреса имеется решётка якоря то выводится просто линк без полного адреса


Меняем на это:

               if ($item['item_type'] == 'url' && strstr($item['link'], 'http://') or $item['item_type'] == 'url' && strstr($item['link'], '#') or $item['item_type'] == 'url' && strstr($item['link'], 'www')) {
                    $href = $item['link'];
                } else {
                    $href = rtrim(site_url($item['link']), '/');
                }

Должно работать!  cool

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png