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

Zoom для карточки товара

  • 03 августа 2015 г.
  • Господа, посоветуйте пожалуйста хороший зум для изображений в качестве товара. Для диафана последней версии. Заранее спасибо
  • 03 августа 2015 г.
  • Можете использовать российскую разработку:
    http://zoomsl.sergeland.ru/
    • 03 августа 2015 г. , редакция: 03 августа 2015 г.
    • Неплохо. А не подскажите, как интегрировать в карточку товара? Вот такой код у меня (из одного шаблона):

      Цитата

      //вывод изображений товара
      if (!empty($result["img"]))
      {
      echo '<div class="js_shop_all_img shop_all_img" >';
      foreach ($result["img"] as $img)
      {
      switch ($img["type"])
      {
      case 'animation':
      echo '<a class="js_shop_img zoom" href="'.BASE_PATH.$img["link"].'" rel="prettyPhoto[gallery'.$result["id"].'shop]" image_id="'.$img["id"].'">';
      break;
      case 'large_image':
      echo '<a class="js_shop_img zoom" href= rel="large_image" width="'.$img["link_width"].'" height="'.$img["link_height"].'" image_id="'.$img["id"].'">';
      break;
      default:
      echo '<a class="js_shop_img zoom" href="'.BASE_PATH.$img["link"].'" image_id="'.$img["id"].'">';
      break;
      }
      echo '<img src="'.$img["src"].'" width="150" height="150" alt="'.$img["alt"].'" title="'.$img["title"].'">'
      . '</a> ';
      }
      echo '</div>';

      • 03 августа 2015 г.
      • Это у всех так. Можете попробовать вот так:
        Код
        //вывод изображений товара
        if (!empty($result["img"]))
        {
        echo '<div class="shop_all_img">';
        foreach ($result["img"] as $img)
        {
        echo '<div class="shop-photo-box">';
        echo '<img class="my-foto-container" src="'.BASE_PATH.$img["link"].'" data-large="'. (!empty($img["link"]) ? BASE_PATH . $img["link"] : $img["src"]) .'" title="'.$img["title"].'">';
        echo '</div>';
        }
        echo '</div>';
        if($result["preview_images"] && count($result["img"]) > 1)
        {
        echo '<div class="shop_preview_img">';
        foreach ($result["img"] as $img)
        {
        echo '<div class="shop-preview-box">';
        echo '<img class="my-foto" src="'.BASE_PATH.$img["link"].'" data-large="'. (!empty($img["link"]) ? BASE_PATH . $img["link"] : $img["src"]) .'" title="'.$img["title"].'">';
        echo '</div>';
        }
        echo '</div>';
        }
        }


        и в скрипты добавить:
        Код
        <script type="text/javascript" src="<insert name="path">js/zoomsl-3.0.min.js" charset="UTF-8"></script>
        <script>
        jQuery(function(){
        $(".my-foto-container").imagezoomsl({
        zoomrange: [3, 3],
        cursorshadeborder: "3px solid #000"
        });
        $(".my-foto").click(function(){
        var that = this;
        $(".my-foto-container").fadeOut(5, function(){
        $(this).attr("src", $(that).attr("src")) // путь до small картинки
        .attr("data-large", $(that).attr("data-large")) // путь до big картинки
        .fadeIn(1000);
        });
        });
        });
        </script>

        Остальные настройки посмотрите на сайте.

        Кстати, код для 5.3, но на 5.4 должен работать если путь до джавы верно прописать.
        • 03 августа 2015 г. , редакция: 03 августа 2015 г.
        • Ругается почему-то...
          • 03 августа 2015 г. , редакция: 03 августа 2015 г.
          • Прошу прощения, выложил устаревший код, попробуйте вот это (с рабочего сайта):
            Код
            //вывод изображений товара
            if (!empty($result["img"]))
            {
            echo '<div class="shop_all_img">';
            $img = $result["img"][0];
            echo '<div class="shop-photo-box">';
            echo '<img class="my-foto-container" src="'.BASE_PATH.$img["link"].'" data-large="'. (!empty($img["link"]) ? BASE_PATH . $img["link"] : $img["src"]) .'" title="'.$img["title"].'">';
            echo '</div>';
            echo '</div>';
            if($result["preview_images"] && count($result["img"]) > 1)
            {
            echo '<div class="shop_preview_img">';
            foreach ($result["img"] as $img)
            {
            echo '<div class="shop-preview-box">';
            echo '<img class="my-foto" src="'.BASE_PATH.$img["link"].'" data-large="'. (!empty($img["link"]) ? BASE_PATH . $img["link"] : $img["src"]) .'" title="'.$img["title"].'">';
            echo '</div>';
            }
            echo '</div>';
            }
            }


            Здесь отличие в $img = $result["img"][0]; вместо foreach ($result["img"] as $img) но лучше замените весь код.
          • 03 августа 2015 г.
          • Если ребята подскажут более оптимальный код, буду рад.
            Но то что выложил, работает на 2-х сайтах.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум