Вход • Регистрация

Обрамить "Описание" и "Характеристики" товара "Табами"

  • 10 марта 2015 г.
  • Здравствуйте.
    Пните пожалуйста в правильном направлении.
    Хочу вывести описание и характеристики товара в табы, как например http://www.dns-shop.ru/catalog/i1000803/7-planshet-dexp-ursus-7m-4-gb-3g-chernyj.html
    Правильно ли я понимаю:
    shop.view.id.php

    Обрамить код:
    Код
    //параметры товара

    if (!empty($result["param"]))
    if (!empty($result["param"]))
    {
    echo '<div class="param_id">';
    echo '<h3>'.$this->diafan->_('Характеристики :').'</h3>';
    echo $this->get('param', 'shop', array("rows" => $result["param"], "id" => $result["id"]));
    echo '</div>';


    Шаблонных тегов вывода характеристик и описания я не нашел.

    Хочу реализовать, что то в этом духе

    HTML
    Код
    <ul class="tabs">
    <li><a href="#one">1</a></li>
    <li><a href="#two">2</a></li>
    <li><a href="#three">3</a></li>
    <li><a href="#four">4</a></li>
    <li><a href="#five">5</a></li>
    </ul>
    <div class="tabs-content">
    <ul>
    <li id="one">Содержимое 1-й вкладки</li>
    <li id="two">Содержимое 2-й вкладки</li>
    <li id="three">Содержимое 3-й вкладки</li>
    <li id="four">Содержимое 4-й вкладки</li>
    <li id="five">Содержимое 5-й вкладки</li>
    </ul>
    </div>


    CSS
    Код
    .tabs-content {
    width:960px;
    height:300px;
    overflow:hidden;
    }
    .tabs-content ul {
    list-style: none
    /* Эти 3 линии для Opera */
    height: 320px;
    overflow: scroll;
    overflow-y: hidden;
    }
    .tabs-content ul li {
    width:960px;
    height:300px;
    }

    • 10 марта 2015 г.
    • версия движка какая?
      в 5.4 в файле shop.view.id.php
      строка 155
      Код

      //параметры товара
      if (!empty($result["param"]))
      {
      echo $this->get('param', 'shop', array("rows" => $result["param"], "id" => $result["id"]));
      }

      отвечает за параметры) там же комменты есть для каждого раздела
  • 10 марта 2015 г.
  • 5.4.8.1
    Шаблон стандартный.

    Этот вывод я с другого шаблона стянул:
    Код
    //параметры товара

    if (!empty($result["param"]))
    if (!empty($result["param"]))
    {
    echo '<div class="param_id">';
    echo '<h3>'.$this->diafan->_('Характеристики :').'</h3>';
    echo $this->get('param', 'shop', array("rows" => $result["param"], "id" => $result["id"]));
    echo '</div>';


    Смущает это "echo" (языками плохо владею :))
    Как существующий блок укутать блоком "Таба", что бы ошибки не вызывало.
    Если просто текст, у меня получается, а как эту функцию вывода заставить работать (выводиться) в "Табе".
  • 10 марта 2015 г.

  • Вот как эту функцию сюда вывести?
    Без echo будет ругаться, а еще надо <ul> вставить.
    Код

    <div id="tabs_container">

    <div id="tabs-1">
    <p>Характеристики товара бла бла бла</p>
    </div>
  • 11 марта 2015 г.
  • MODULES->SHOP->VIEWS->shop.view.param.php
    Код

    echo '<ul>';
    foreach ($result["rows"] as $param)
    {
    echo '<li><strong class="'.($param["type"] == 'title' ? 'shop_param_title' : '').'">'.$param["name"] . '</strong>';
    if ($param["value"])
    {
    echo ': ';
    if($param["type"] == "attachments")
    {
    foreach ($param["value"] as $a)
    {
    if ($a["is_image"])
    {
    if($param["use_animation"])
    {
    echo ' <a href="'.$a["link"].'" rel="prettyPhoto[gallery'.$result["id"].'shop]"><img src="'.$a["link_preview"].'"></a> <a href="'.$a["link"].'" rel="prettyPhoto[gallery'.$result["id"].'shop_link]">'.$a["name"].'</a>';
    }
    else
    {
    echo ' <a href="'.$a["link"].'"><img src="'.$a["link_preview"].'"></a> <a href="'.$a["link"].'">'.$a["name"].'</a>';
    }
    }
    else
    {
    echo ' <a href="'.$a["link"].'">'.$a["name"].'</a>';
    }
    }
    }
    elseif($param["type"] == "images")
    {
    foreach ($param["value"] as $img)
    {
    echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
    }
    }
    elseif (!empty($param["link"]))
    {
    echo '<a href="'.BASE_PATH_HREF.$param["link"].'">'.$param["value"].'</a>';
    }
    elseif (is_array($param["value"]))
    {
    foreach ($param["value"] as $p)
    {
    if ($param["value"][0] != $p)
    {
    echo ', ';
    }
    if (is_array($p))
    {
    if ($p["link"])
    {
    echo '<a href="'.BASE_PATH_HREF.$p["link"].'">'.$p["name"].'</a>';
    }
    else
    {
    echo $p["name"];
    }
    }
    else
    {
    echo $p;
    }
    }
    }
    else
    {
    echo $param["value"];
    }
    //единицы измерения
    if(! empty($param["measure_unit"]) && $param["type"] == 'numtext')
    {
    echo ' '.$param["measure_unit"];
    }
    }
    if($param["text"])
    {
    echo '<div class="shop_param_text">'.$param["text"].'</div>';
    }
    echo '</li>';
    }
    echo '</ul>';
  • 11 марта 2015 г.
  • Получилось вот так:
    shop.view.id.php

    Код
    //полное описание товара

    echo '<div id="raz">';
    echo '<div><span>Описание</span>';
    echo '<div class="shop_text">';
    echo '<h3>'.$this->diafan->_('Описание :').'</h3>';
    echo $this->htmleditor($result['text'], true);
    echo '</div>';
    echo '</div>';
    //параметры товара
    echo '<div><span>Характеристики</span>';
    if (!empty($result["param"]))
    if (!empty($result["param"]))
    {

    echo '<div class="param_id">';
    echo '<h3>'.$this->diafan->_('Характеристики :').'</h3>';
    echo $this->get('param', 'shop', array("rows" => $result["param"], "id" => $result["id"]));
    echo '</div>';
    echo '</div>';
    echo '</div>';

    }


    CSS

    Код
    #raz { /* корпус */
    position: relative;
    height: 250px;
    border-top: 30px solid #fff;
    }
    #raz > div { /* вкладка */
    position: absolute;
    z-index: 1;
    height: 100%;
    width: 100%;
    visibility: collapse;
    transition: 0s 9999999s;
    box-sizing: border-box;
    background: #fff;
    padding: 5px;
    }
    #raz > div:before { /* рамка вкладки */
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: #808080 solid 1px;
    border-top: none;
    }
    #raz > div:hover, #raz > div:nth-of-type(1) {
    visibility: visible;
    transition: 0s;
    }
    #raz:hover > div:not(:hover) {
    visibility: hidden;
    transition: 0s;
    }
    #raz > div > span { /* кнопка */
    position: absolute;
    top: -30px;
    line-height: 30px;
    height: 30px;
    width: 25%; /* 4 вкладки, а значит 100/4 */
    text-align: center;
    box-sizing: border-box;
    border: 1px solid rgb(128,128,128);
    border-left-color: rgba(0,0,0,0);
    visibility: visible;
    transition: 0s 9999999s;
    cursor: pointer;
    }
    #raz > div:nth-of-type(1) > span {left: 0; border-left-color: rgb(128,128,128);}
    #raz > div:nth-of-type(2) > span {left: 25%;}
    #raz > div:nth-of-type(3) > span {left: 50%;}
    #raz > div:nth-of-type(4) > span {left: 75%;}
    #raz > div:hover > span, #raz > div:nth-of-type(1) > span {
    border-bottom-color: rgba(0,0,0,0);
    transition: 0s;
    }
    #raz:hover > div:not(:hover) > span {
    border-bottom-color: rgba(128,128,128,.99);
    transition: 0s;
    }
    #raz > div:not(:nth-of-type(1)):not(:hover):after { /* появляется нижняя граница у первой кнопки */
    content: "";
    left: 0;
    position: absolute;
    top: -1px;
    width: 25%;
    border-top: 1px solid rgb(128,128,128);
    }
  • 11 марта 2015 г.
  • Подскажите, как "Жаба скрипт" подключить в этом файле?
    Тут ни <head> ни <body>.

Новости

  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 
  • 15 декабря 2023 г.
  • Подводим итоги 2023 года. Выпустили новую сборку DIAFAN.CMS 7.1.1, вводим новые тарифы на аренду сайта и коммерческую поддержку и автообновления с января 2024 г., строим планы на будущий год.
  • 25 июля 2023 г.
  • Выпустили очередную сборку DIAFAN.CMS 7.0.1. Она уже доступна к установке.

Блоги

  • 15.12.2023
  • В новой сборке DIAFAN.CMS 7.1.1 мы расширили функциональность баннеров, уделили внимание YML-фиду для Яндекс.Маркет, улучшили “Настройки шаблона”, оформили модуль лога действий и разработали “Заметки” для пользователей административной части сайта. Также проработали замечания и предложения наших пользователей, исправили несколько ошибок.

Форум