[Помогите] Не работают якоря в опенкарте?

Тема в разделе "OpenCart", создана пользователем winner7, 29 авг 2013.

  1. winner7

    winner7

    Регистрация:
    6 мар 2013
    Сообщения:
    322
    Симпатии:
    55
    Всем привет! Делаю якоря в тексте - с одной страницу на другую (во вкладе Источик).


    Место якоря: <a name=”yakor”>Якорь</a>

    Ссылка, которая переадресует на якорь:
    <a href="http://site.ru/statya/#yakor">"На якорь"</a>

    Почему-то не работает. Это особенность опенкарта или в чем проблема?
     
  2. Rusik

    Rusik

    Регистрация:
    21 янв 2013
    Сообщения:
    162
    Симпатии:
    51
    Это не баг, это "фича" )
    Внутри страницы можно так:

    <a href="<?php echo $_SERVER["REQUEST_URI"]; ?>#yakor">Якорь</a>
    <a name="anchor">"На якорь</a>

    или скрипт в тело странички, тогда и нормально на разные страницы работают.

    <script type="text/javascript">
    jQuery(document).ready(function() {
    jQuery("a[ href ^= '#' ]").each(function() {
    var href = window.location + jQuery(this).attr('href').replace('/#.*/i','');
    jQuery(this).attr('href',href);
    });
    });
    </script>

    Но от этого скрипта не работают табы и еще пару косяков есть :(
     
    winner7 нравится это.
  3. winner7

    winner7

    Регистрация:
    6 мар 2013
    Сообщения:
    322
    Симпатии:
    55
    Есть способ сделать на разные странички сделать без скрипта? Табы как раз нужны.
     
  4. Rusik

    Rusik

    Регистрация:
    21 янв 2013
    Сообщения:
    162
    Симпатии:
    51
    Честно говоря не знаю. У себя просто решил скриптом в статьях и REQUEST_URI на страничках.
    Есть еще вот такой скрипт, попробуй:
    $(document).ready(function() {
    var pathname = window.location.href;
    $('a').each(function(){
    var link = $(this).attr('href');
    if (link.substr(0,1) == "#") {
    $(this).attr('href') = pathname + link;
    }
    });
    }
     
    winner7 нравится это.