Jump to content

Recommended Posts

ребята не могу понять ....  помогите разобраться

хочу в описаниях товара сделать якоря для более удобного чтения... 

обычная ссылка на якоpь

<a href="#optv">Описание товара</a>

<a name="optv"></a>

беда собственно в чем.. при нажатии на ссылку кидает на главную страницу сайта... если написать полный путь то работает ... но смысл в том чтоб приписать это в прайсе внутри каждого товара - соответственно ссылки должны быть одинаковые

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

Думай как хочешь.

У меня всё работает.

Share this post


Link to post
Share on other sites

Кстати там ещё вот что написано.

 

111111.jpg

  • +1 2

Share this post


Link to post
Share on other sites

да ты почитай там в коментариях пишут что статья 2000 года - name уже давно все забыли и спользуют id ... и в шаблоне как я думаю не работаю якоря в полном описании

Share this post


Link to post
Share on other sites

согласен думаю может быть и такое) но то уже не для моего ума

Share this post


Link to post
Share on other sites

я сайтами мес занимаюсь... для меня это как ночью в лес пойти .. .

http://prntscr.com/ec2dgn вот я нашел эту ссылку а где ее искать в файлах я хз ) 

Share this post


Link to post
Share on other sites

/catalog/view/theme/moneymaker2/template/common/header.tpl

 

После редактирования не забудь обновить модификаторы.

  • +1 1

Share this post


Link to post
Share on other sites

так эту ссылку нельзя уберать ..это даже не ссылка, это базоый тег, который говорит браузеру о том, с какого адреса начинать относительные ссылки... что будет если я ее уберу

Share this post


Link to post
Share on other sites

Тогда использовать js, например этот.

Share this post


Link to post
Share on other sites

вязал крутил его ) ничего не вышло ) все в ошибка и все)

Share this post


Link to post
Share on other sites

Проблема с якорями в OpenCart возникает из-за строчки <base href="<?php echo $base; ?>" /> в файле\catalog\view\theme\*\template\common\header.tpl

Если в остальных движках ее нет и там якорь подставляется автоматически в конец адреса страницы, например, site.ru/page.html#yakor то в OpenCart он подставляется сразу после названия сайта, т.е. site.ru/#yakor Кроме того, как я понял, во многих шаблонах табы, например, в товарах тоже работают по принципу якоря и если использовать стандартный jQuery-код прокрутки к якорю - то они конфликтуют.

 

Решить можно разными путями - через PHP или JS, но убирать <base href="<?php echo $base; ?>" /> думаю не стоит точно. У меня цель была создать оглавление с плавной прокруткой и т.к. шаблон без JavaScript в принципе не работает, то и нормальный якорь с полным адресом страницы нам не нужен, главное, чтобы работало оглавление и была плавная прокрутка. И чтобы не было конфликта с табами я использовал jQuery который ориентируется на класс, а не на #. Выглядит это так:

<script type="text/javascript" >
    $('.anchor').click(function(){
        var target = $(this).attr('href');
        $('html, body').animate({scrollTop: $(target).offset().top}, 800);
        return false;
    });
</script >

Сам якорь задается через id: 

<h2 id="yakor">Заголовок на который цепляем якорь</h2>

А ссылку на него в оглавлении указываем через <a href> с классом anchor:

<a class="anchor" href="#yakor">Ссылка из оглавления</a>

Если нужно дать ссылку с другой страницы или сайта на нужно место, просто указываете полную ссылку с якорем - это она будет работать по умолчанию, например, http://site.ru/page.html#yakor

 

На медаль не претендую, но тут такого варианта решения проблемы не нашел - может кому поможет, т.к. смотрю проблема распространенная.

  • +1 3

Share this post


Link to post
Share on other sites
В 15.11.2017 в 14:23, Sireox сказал:

 


<script type="text/javascript" >
    $('.anchor').click(function(){
        var target = $(this).attr('href');
        $('html, body').animate({scrollTop: $(target).offset().top}, 800);
        return false;
    });
</script >

 

Куда нужно вставить этот скрипт?

Share this post


Link to post
Share on other sites

@Sergey36 в любое место на странице или в отдельный файл со скриптом, который соответственно так же нужно добавить на страницу.

  • +1 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By fitdamir
      Здравствуйте, как реализовать якори в категориях. Хочу сделать легкую разметку в разделе описании категорий. Делаю по примеру http://htmlbook.ru/samhtml/yakorya
      <p><a name="top"></a></p> <p>...</p> <p>...</p> <p>...</p><p>...</p><p>...</p> <p>...</p><p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p><a href="#top">Наверх</a></p> Но в итоге просто открывается главная, а не скроллится к якорю.
    • By rickhangover
      Доброго времени суток. По некоторым причинам хедер занимает около 30% экрана, что доставляет некоторые неудобства при использовании списка категорий. Т.е. когда мы выбираем нижний пункт списка категорий, страница перезагружается и листает сайт вверх. Как добавить якорь так, чтобы при использовании списка категорий, страница начиналась не с хедера, а с секции с этими самыми категориями(например <section id="category"> bla bla bla </section> ( красная линия )

    • By chulyuk
      как сделать якорь на странице, чтобы при нажатии на ссылку было как на картинке. Нажимаешь "О доставке" и ты там, нажимаешь на "Об оплате" и появляется другой текст вместо старого


    • By dunkanOC
      Подскажите не нашел ответа на форуме, только частично.
       
      Нужно чтоб при нажатии на "отзывы" открывалась как обычно вкладка и происходило перемещение к якорю в этой вкладке.
       
      Здесь на форуме нашел такой ответ, дописать "$('body').scrollTop($('\#tab-review\']).offset().top);" .
      <a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); $('body').scrollTop($('\#tab-review\']).offset().top);"><?php echo $reviews; ?></a>  В принципе работает, но сразу же после перехода к отзывам, кидает на главную страницу. Про главную страницу нашел ответ, что нужно вставлять ссылку#якорь, но чет вообще не работает если так делаю. 
       
    • By Stethem
      Столкнулся с проблемой в установки якоря для оглавления большого описания, стандартный код не работает.
      <div style="border: 1px dotted black; padding: 5px 5px 0 15px; margin: 5px;"> <strong>Содержание статьи:</strong> <ol> <li><a href="#name1">Подзаголовок 1</a></li> <li><a href="#name2">Подзаголовок 2</a></li> </ol> </div> в тексте:
      <h2 id="name1">Подзаголовок 1</h2> <h3 id="name2">Подзаголовок 2</h3> нашёл решение прописав страницу:
      <li><a href="galan-ochag.html#1">Кому заказать Галан Очаг выгодно?</a></li> В Хроме работает
      НО!!!
      МАЗИЛА страницу прокручивает в конец.
      Подскажите кто сталкивался, как решается этот вопрос.
       
      Ссылка на страницу:
      fillheat.ru/elektrodnyie-kotlyi/galan-ochag.html Хотелось бы подсказку интересного кода:
      1. Чтобы было оглавление.
      2. Статья была частично спрятана и раскрывалась при клике на оглавление ( как вариант читать дальше)
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.