Каталог товаров в табе

Ed71

Постоялец
Регистрация
6 Янв 2015
Сообщения
115
Реакции
23
Здравствуйте. Поставил себе на сайт модуль каталог товаров: Для просмотра ссылки Войди или Зарегистрируйся.
По умолчанию, вывести его в карточке товара можно слева-справа-сверху-снизу. Решил попробовать запихать его в таб. Сделал таким образом:
в product.tpl прописал
Код:
  <div id="tabs" class="htabs"><a href="#tab-description"><?php echo $tab_description; ?></a>
    <?php if ($attribute_groups) { ?>
    <a href="#tab-attribute"><?php echo $tab_attribute; ?></a>
    <?php } ?>
    <?php if ($review_status) { ?>
    <a href="#tab-review"><?php echo $tab_review; ?></a>
    <?php } ?>
    <?php if ($products) { ?>
    <a href="#tab-related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a>
    <?php } ?>
<a class="selected" href="#tab-katalog" style="display: inline;">Каталог товаров</a>
  </div>
в catalog.tpl прописал
Код:
<div id="tab-katalog" class="tab-content" style="display: block;">

<div id="column-extra4">
<div class="box">
<div class="box-content">
<div id="catalog" class="box-category">
    <ul>
       <?php foreach ($manufactureres as $manufacturer) { ?>
         <li class = "toplevel">
       
         <?php if ($manufacturer['manufacturer_id'] == $active_manufacturer) { ?>
          <a rel="<?php echo $manufacturer['manufacturer_id']; ?>" class="active"><span class="pl">-  </span><?php echo $manufacturer['name']; ?></a>
          <?php } else { ?>
          <a rel="<?php echo $manufacturer['manufacturer_id']; ?>"><span class="pl">+  </span><?php echo $manufacturer['name']; ?></a>
          <?php } ?>
            <?php if ($manufacturer['products']) { ?>      
                <ul>
              
                 <?php foreach ($manufacturer['products'] as $product) { ?>
                     <li<?php if (!$product['qty']){?> class="zeroqauntity"<?php } ?>>
                        <?php if ($product['product_id'] == $product_id) { ?>
                            <a href="<?php echo $product['href']; ?>" title="<?php echo $product['name']; ?>"class="active" rel="<?php echo $product['image']; ?>"><?php echo $product['name']; ?><?php if ($product['special']){?><span class="special">&nbsp;Акция!</span><?php } ?></a>
                            <?php } else { ?>
                            <a href="<?php echo $product['href']; ?>" title="<?php echo $product['name']; ?>" rel="<?php echo $product['image']; ?>"><?php echo $product['name']; ?><?php if ($product['special']){?><span class="special">&nbsp;Акция!</span><?php } ?></a>
                            <?php } ?>
                        </li>
                    <?php } ?>
                </ul>
            <?php } ?>
        </li>

        <?php } ?>
 
     </ul></div>
</div>
</div>
стили
Код:
#catalog > ul > li > a  {
    color: #104889;
    font-size:14px;
    position: relative;
}

#catalog > ul > li a.active  {
    color: #FF4500;
}



#catalog > ul > li > a > span.pl  {
    color: #8470FF; font-size:14px;
}

#catalog > ul > li > a > span.total  {
    color: grey; font-size: 12px; font-weight:normal; font-style:  italic;
}

#catalog > ul > li > a.active > span.pl  {
    color: #FF4500;
}


#catalog > ul > li  a:hover {
    color: #FF4500
}

#catalog > ul > li > a:hover > span.pl  {
    color: #FF4500
}

#catalog > ul > li + li {
    border-top: none;
}

#catalog > ul > li .special{
    color: red;
}

#catalog > ul > li .zeroqauntity > a{
    color: grey;
}

#catalog > ul > li ul > li > a.active {
    font-weight: normal;
}

.micropopup {
        position: absolute;
        margin-left: 185px;
        margin-top: -30px;
        z-index: 999;
        border: 1px solid #000;
        padding:3px;
        background:white;
        display: none;
}

.micropopup:after, .micropopup:before {
        right: 100%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
}

.micropopup:after {
        border-color: rgba(255,70,9, 0);
        border-right-color: #fff;
        border-width: 5px;
        top: 10px;
        margin-top: -5px;
}

.micropopup:before {
        border-color: rgba(255,70,9, 0);
        border-right-color: #000;
        border-width: 6px;
        top: 10px;
        margin-top: -6px;
}

#catalog > ul > li a:hover .micropopup  {
        display: block;
}

#catalog > ul > li ul > li > a img {
        float: left;
        margin: 0px 0px 0px 0px;
}

Таб с каталогом создался, но при этом в карточке товара исчез футер. Во вкладке каталог товара он есть, но что-то со стилями не то, съехало все. Подскажите, пожалуйста, как доработать по уму, чтобы отображалось все, как нужно. Заранее огромное спасибо.
 
Последнее редактирование:
Попробуйте в catalog.tpl тот код, что Вы выложили заменить для начала на этот:
Код:
<div id="tab-katalog" class="tab-content" style="display: block;">
    <div id="column-extra4">
        <div class="box">
            <div class="box-content">
                <div id="catalog" class="box-category">
                    <ul>
                        <?php foreach ($manufactureres as $manufacturer) { ?>
                        <li class = "toplevel">
                            <?php if ($manufacturer['manufacturer_id'] == $active_manufacturer) { ?>
                            <a rel="<?php echo $manufacturer['manufacturer_id']; ?>" class="active"><span class="pl">-  </span><?php echo $manufacturer['name']; ?></a>
                            <?php } else { ?>
                            <a rel="<?php echo $manufacturer['manufacturer_id']; ?>"><span class="pl">+  </span><?php echo $manufacturer['name']; ?></a>
                            <?php } ?>
                           
                            <?php if ($manufacturer['products']) { ?>     
                            <ul>
                                <?php foreach ($manufacturer['products'] as $product) { ?>
                                <li><?php if (!$product['qty']){?> class="zeroqauntity"<?php } ?>
                                    <?php if ($product['product_id'] == $product_id) { ?>
                                    <a href="<?php echo $product['href']; ?>" title="<?php echo $product['name']; ?>"class="active" rel="<?php echo $product['image']; ?>"><?php echo $product['name']; ?><?php if ($product['special']){?><span class="special">&nbsp;Акция!</span><?php } ?></a>
                                    <?php } else { ?>
                                    <a href="<?php echo $product['href']; ?>" title="<?php echo $product['name']; ?>" rel="<?php echo $product['image']; ?>"><?php echo $product['name']; ?><?php if ($product['special']){?><span class="special">&nbsp;Акция!</span><?php } ?></a>
                                    <?php } ?>
                                </li>
                                <?php } ?>
                            </ul>
                            <?php } ?>
                        </li>
                        <?php } ?>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>
 
  • Нравится
Реакции: Ed71
Спасибо огромное! Все работает. Еще такой вопрос, в списке товаров во вкладке присутствует товар с этой страницы, он помечается красным цветом, который получается ссылается сам на себя. Как-нибудь можно сделать, чтобы его или вообще не присутствовало в списке или же ссылка была неактивная, как это сделано в хлебных крошках
Код:
<div class="breadcrumb">
            <span xmlns:v="http://rdf.data-vocabulary.org/#">
            <?php $i=0; foreach ($breadcrumbs as $breadcrumb) { $i++; ?>
            <span typeof="v:Breadcrumb">
            <?php echo $breadcrumb['separator']; ?><?php if (count($breadcrumbs)!= $i) { ?><a href="<?php echo $breadcrumb['href']; ?>" rel="v:url" property="v:title" title="<?php echo $breadcrumb['text']; ?>" alt="<?php echo $breadcrumb['text']; ?>"><?php } else { ?><a rel="v:url" property="v:title" title="<?php echo $breadcrumb['text']; ?>" alt="<?php echo $breadcrumb['text']; ?>"><?php } ?><?php echo $breadcrumb['text']; ?></a>
            </span>
            <?php } ?>
            </span>
        </div>
 
Через условие установите, если товар не активен, то ссылка формируется, иначе - нет. Если привели в пример хлебные крошки, то вот Вам другой код, попробуйте посмотреть как реализовано здесь:
Код:
<ul class="breadcrumb">
    <?php foreach ($breadcrumbs as $i=>$breadcrumb) { ?>
    <li>
        <?php if($i+1<count($breadcrumbs)) { ?>
        <a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
        <?php } else { ?>
        <?php echo $breadcrumb['text']; ?>
        <?php } ?>
    </li>
    <?php } ?>
</ul>

Предполагаю, что нужно убрать в Вашем коде
Код:
<a href="<?php echo $product['href']; ?>" title="<?php echo $product['name']; ?>" rel="<?php echo $product['image']; ?>"><?php echo $product['name']; ?><?php if ($product['special']){?><span class="special">&nbsp;Акция!</span><?php } ?></a>

и вставить
Код:
<?php echo $product['name']; ?><?php if ($product['special']){?><span class="special">&nbsp;Акция!</span><?php } ?>
 
  • Нравится
Реакции: Ed71
Сейчас заменил код, но как-то все наоборот получилось. У всего списка теперь URL пропали, за исключением, товара этой страницы, того что отмечен красным цветом.

Еще раз огромное спасибо, разобрался. Прописал следующим образом:

<a title="<?php echo $product['name']; ?>"class="active" rel="<?php echo $product['image']; ?>"><?php echo $product['name']; ?><?php if ($product['special']){?><span class="special">&nbsp;Акция!</span><?php } ?></a>
<?php } else { ?>
<a href="<?php echo $product['href']; ?>" title="<?php echo $product['name']; ?>" rel="<?php echo $product['image']; ?>"><?php echo $product['name']; ?><?php if ($product['special']){?><span class="special">&nbsp;Акция!</span><?php } ?></a>
 
Последнее редактирование:
Назад
Сверху