1 Отредактировано Amigo (04.06.2015 23:18:18)

Тема: Проблема с подключением Bootstrap

Задача: Нужно в карточке товара сделать Tab-вкладки для удобного распределения контента.

Сделал следующее:

1. В файле шаблона product.tpl прописал пути до файлов CSS и JS предварительно конечно же закинув их в соотвествующие директории

{addcss file="bootstrap/3.3.4/css/bootstrap.min.css"}
{addcss file="bootstrap/3.3.4/css/bootstrap-theme.min.css"}
{addjs file="jcarousel/jquery.jcarousel.min.js"}
{addjs file="bootstrap/3.3.4/js/bootstrap.min.js"}></script>

2. Добавил JS код предварительно обернув в конструкцию {literal}{/literal}

{literal}
<script type="text/javascript">
$(document).ready(function(){ 
    $("#myTab a").click(function(e){
        e.preventDefault();
        $(this).tab('show');
    });
});
</script>
<style type="text/css">
    .bs-example{
        margin: 20px;
    }
</style>
{/literal}

3. В нужном месте в тело шаблона для теста добавил следующий код:

<div class="bs-example">
    <ul class="nav nav-tabs" id="myTab">
        <li class="active"><a href="#sectionA">Section A</a></li>
        <li><a href="#sectionB">Section B</a></li>
        <li class="dropdown">
            <a data-toggle="dropdown" class="dropdown-toggle" href="#">Dropdown <b class="caret"></b></a>
            <ul class="dropdown-menu">
                <li><a href="#dropdown1">Dropdown1</a></li>
                <li><a href="#dropdown2">Dropdown2</a></li>
            </ul>
        </li>
    </ul>
    <div class="tab-content">
        <div id="sectionA" class="tab-pane fade in active">
            <h3>Section A</h3>
            <p>Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui. Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth.</p>
        </div>
        <div id="sectionB" class="tab-pane fade">
            <h3>Section B</h3>
            <p>Vestibulum nec erat eu nulla rhoncus fringilla ut non neque. Vivamus nibh urna, ornare id gravida ut, mollis a magna. Aliquam porttitor condimentum nisi, eu viverra ipsum porta ut. Nam hendrerit bibendum turpis, sed molestie mi fermentum id. Aenean volutpat velit sem. Sed consequat ante in rutrum convallis. Nunc facilisis leo at faucibus adipiscing.</p>
        </div>
        <div id="dropdown1" class="tab-pane fade">
            <h3>Dropdown 1</h3>
            <p>WInteger convallis, nulla in sollicitudin placerat, ligula enim auctor lectus, in mollis diam dolor at lorem. Sed bibendum nibh sit amet dictum feugiat. Vivamus arcu sem, cursus a feugiat ut, iaculis at erat. Donec vehicula at ligula vitae venenatis. Sed nunc nulla, vehicula non porttitor in, pharetra et dolor. Fusce nec velit velit. Pellentesque consectetur eros.</p>
        </div>
        <div id="dropdown2" class="tab-pane fade">
            <h3>Dropdown 2</h3>
            <p>Donec vel placerat quam, ut euismod risus. Sed a mi suscipit, elementum sem a, hendrerit velit. Donec at erat magna. Sed dignissim orci nec eleifend egestas. Donec eget mi consequat massa vestibulum laoreet. Mauris et ultrices nulla, malesuada volutpat ante. Fusce ut orci lorem. Donec molestie libero in tempus imperdiet. Cum sociis natoque penatibus et magnis.</p>
        </div>
    </div>
</div>

После всего вышеописанного на выходе получаем прорисовку вкладок, однако переключение между ними не работает!

Прошу помочь разобраться в данной проблеме

Повысить оценку Понизить оценку

Re: Проблема с подключением Bootstrap

Скрипты и css вы правильно подключили. Главное проверить, а подключилась ли у Вас JS бутсрапа. Т.е. тот ли вы путь указали.
Проверьте в FireBug консоли есть ли ошибки.

{literal} для css можно не использовать.
для JS в вашем случае тоже.

3 Отредактировано Amigo (04.06.2015 23:34:43)

Re: Проблема с подключением Bootstrap

Нашел проблему. Для полноценной работы bootstrap помимо CSS необходимо подключить следующие JS скрипты:

<script src="http://code.jquery.com/jquery-1.11.3.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>

Движок уже использует Jquery версии 1.8.2 который подключается в шаблоне по умолчанию.

{addjs file="jquery.min.js" name="jquery" basepath="common" unshift=true}

Дело в том что используемая версия 1.8.2 уже устарела и bootstrap ее не поддерживает. При попытке подключить версию 1.11.2 или 1.11.3 перестают работать слайдер для фото, очистка кеша и т.д.  Печаль (((

Повысить оценку +1 Понизить оценку

4 Отредактировано Александр (05.06.2015 13:41:38)

Re: Проблема с подключением Bootstrap

Amigo пишет:

Нашел проблему. Для полноценной работы bootstrap помимо CSS необходимо подключить следующие JS скрипты:

<script src="http://code.jquery.com/jquery-1.11.3.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>

Движок уже использует Jquery версии 1.8.2 который подключается в шаблоне по умолчанию.

{addjs file="jquery.min.js" name="jquery" basepath="common" unshift=true}

Дело в том что используемая версия 1.8.2 уже устарела и bootstrap ее не поддерживает. При попытке подключить версию 1.11.2 или 1.11.3 перестают работать слайдер для фото, очистка кеша и т.д.  Печаль (((

Да, мы позднее обновим эту версию. Но есть возможность как не использовать старую версию, которая конфликтует. В Управление->Настройки системы есть галочка которая отвечает за, то что показывать панель администратора или нет. Если отключить, то конфликта не будет.

5

Re: Проблема с подключением Bootstrap

Ясно. Пока подключил старую версию. Буду ждать когда обновитесь

Повысить оценку Понизить оценку