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

Блок похожие товары

  • 21 мая 2018 г.
  • Блок выводится уродливо, весь перекошенный. Со всеми "купить" и прочее.

    Как можно оставить только фото и название товара?

    <?php
    /**
    * Шаблон блока похожих товаров
    *
    * Шаблонный тег <insert name="show_block_rel" module="shop" [count="количество"]
    * [images="количество_изображений"] [images_variation="тег_размера_изображений"]
    * [template="шаблон"]>:
    * блок похожих товаров
    *
    * @package DIAFAN.CMS
    * @author diafan.ru
    * @version 6.0
    * @license http://www.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2018 OOO «Диафан» (http://www.diafan.ru/)
    */

    if (! defined('DIAFAN'))
    {
    $path = __FILE__;
    while(! file_exists($path.'/includes/404.php'))
    {
    $parent = dirname($path);
    if($parent == $path) exit;
    $path = $parent;
    }
    include $path.'/includes/404.php';
    }

    if(empty($result['rows'])) return false;


    echo '<h2>'.$this->diafan->_('Похожие товары').'</h2>
    <div class="shop-pane">';
    echo $this->get($result["view_rows"],'shop',$result);
    echo '</div>';
    • 21 мая 2018 г.
    • Нужно сделать новый файл rows_custom, и там убрать все что не нужно.
      Либо через css скрыть. Лень подробно все расписывать.
      • 21 мая 2018 г.
      • Понятно. А сейчас rows откуда берет? Чтобы взять его за основу.
        • 21 мая 2018 г.
        • Из файла...
          get($result["view_rows"],'shop',$result);
          shop - это название папки модуля
          view_rows - в названии файла должно присутствовать.

          Ищите такой файл. Но!
          Имейте в виду, что этот же файл может отвечать за вывод товаров в списке категории, сопутствующих, поиска и прочих.

          Следовательно вам лучше найти данный файл, сделать его копию, к названию добавить циферку 2, например.
          Потом в этом коде дописать эту циферку 2
          get($result["view_rows2"],'shop',$result);

          И только потом данный файл ковырять по своему вкусу.
          • 21 мая 2018 г.
          • По рукам нужно бить за эти "циферки".
            • 21 мая 2018 г.
            • Степан, Вам view_rows_alternative_view_variant в общем списке файлов скажет больше, чем view_rows2 ? Надо в самом шаблоне не забывать править информацию - это да.
              Код
              <?php
              /**
              * Информация по новому шаблону для интерфейса CMS, пользователя и разработчика
              *
              * @package DIAFAN.CMS
              а название самого файла не так критично. В любом случае, чтобы понять где этот шаблон используется, надо в CMS смотреть.
              • 21 мая 2018 г. , редакция: 21 мая 2018 г.
              • Я за правильность. https://tech.yandex.ru/bem/

                В данном случае rows_rel.php - было бы правильно. И да, я сразу понял бы о чем речь.
            • 21 мая 2018 г.
            • Цитата
              По рукам нужно бить за эти "циферки".


              Ну, во-первых, я образно, для лучшего понимания.
              Никто же не заставляет слово в слово повторять это.
              Во-вторых, действительно, кто мешает делать комментарии к тому или иному файлу?

              Цитата
              Лень подробно все расписывать



              Цитата
              В данном случае rows_rel.php - было бы правильно. И да, я сразу понял бы о чем речь.

              А я нет.

          • 21 мая 2018 г.
          • Спасибо! Конечно он выводит товар также как в блоках на главной со всем описанием. Получается дурацки и коряво.
  • 21 мая 2018 г.
  • Не получилось.

    Код
    <?php
    /**
    * Шаблон блока похожих товаров
    */

    if (! defined('DIAFAN'))
    {
    $path = __FILE__; $i = 0;
    while(! file_exists($path.'/includes/404.php'))
    {
    if($i == 10) exit; $i++;
    $path = dirname($path);
    }
    include $path.'/includes/404.php';
    }

    if(empty($result['rows1'])) return false;

    echo '<div class="products">
    <div class="products__wrapper">
    <h2 class="products__title">'.$this->diafan->_('Похожие товары').'</h2>
    <div class="products__inner">';
    echo $this->get('rows1','shop',$result);
    echo '</div>
    </div>
    </div>';


    Код
    <?php
    /**
    * Шаблон списка товаров
    *
    * @package DIAFAN.CMS
    * @author diafan.ru
    * @version 6.0
    * @license http://www.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2018 OOO «Диафан» (http://www.diafan.ru/)
    */

    if (! defined('DIAFAN'))
    {
    $path = __FILE__;
    while(! file_exists($path.'/includes/404.php'))
    {
    $parent = dirname($path);
    if($parent == $path) exit;
    $path = $parent;
    }
    include $path.'/includes/404.php';
    }

    if(empty($result['rows'])) return false;

    foreach ($result['rows'] as $row)
    {
    echo '<div class="js_shop shop-item shop">';

    //вывод изображений товара
    if(! empty($row["img"]))
    {
    echo '<div class="shop_img shop-photo">';
    foreach ($row["img"] as $img)
    {
    switch ($img["type"])
    {
    case 'animation':
    echo '<a href="'.BASE_PATH.$img["link"].'" data-fancybox="gallery'.$row["id"].'shop">';
    break;
    case 'large_image':
    echo '<a href="'.BASE_PATH.$img["link"].'" rel="large_image" width="'.$img["link_width"].'" height="'.$img["link_height"].'">';
    break;
    default:
    echo '<a href="'.BASE_PATH_HREF.$img["link"].'">';
    break;
    }
    echo '<img src="'.$img["src"].'" alt="'.$img["alt"].'" title="'.$img["title"].'" image_id="'.$img["id"].'" class="js_shop_img">';
    echo '<span class="shop-photo-labels">';
    if(! empty($row['hit']))
    {
    echo '<img src="' . BASE_PATH . Custom::path('img/label_hot.png').'"/>';
    }
    if(! empty($row['action']))
    {
    echo '<img src="' . BASE_PATH . Custom::path('img/label_special.png').'"/>';
    }
    if(! empty($row['new']))
    {
    echo '<img src="' . BASE_PATH . Custom::path('img/label_new.png').'"/>';
    }
    echo '</span>';
    echo '</a> ';
    if(! empty($result['search']))
    {
    break;
    }
    }
    if(empty($result['search']))
    {
    echo '<span class="js_shop_wishlist shop_wishlist shop-like'.(! empty($row["wish"]) ? ' active' : '').'"><i class="fa fa-heart'.(! empty($row["wish"]) ? '' : '-o').'">&nbsp;</i></span>';
    }

    echo '</div>';
    }

    //вывод названия и ссылки на товар
    echo '<a href="'.BASE_PATH_HREF.$row["link"].'" class="shop-item-title">'.$row["name"].'</a>';
    //рейтинг товара
    if(! empty($row["rating"]))
    {
    echo ' '.$row["rating"];
    }


    //вывод производителя
    if(! empty($row["brand"]))
    {
    echo '<div class="shop_brand">';
    echo $this->diafan->_('Производитель').': ';
    echo '<a href="'.BASE_PATH_HREF.$row["brand"]["link"].'">'.$row["brand"]["name"].'</a>';
    echo '</div>';
    }

    echo '</div>';
    }

    //Кнопка "Показать ещё"
    if(! empty($result["show_more"]))
    {
    echo $result["show_more"];
    }


    А куда класть файл shop.view.rows1?
    • 21 мая 2018 г.
    • Положил shop.view.rows1.php в обе директории shop/views в модулях и в модулях кастом. Просто исчезли похожие товары
      • 21 мая 2018 г.
      • Код
        if(empty($result['rows1'])) return false;

        Вот это вы откуда взяли? Верните как было.

        Поменять нужно было строку echo $this->get($result["view_rows"],'shop',$result);
        а если конкретно, то вот это название файла view_rows

        • 21 мая 2018 г.
        • Не скажете, какой файл командует расположением товаров в похожих? Выводятся не в линию, а друг под другом.
          • 21 мая 2018 г.
          • Это уже к стилям относится.
            Нужно посмотреть, что у вас там и как, тогда только советы давать. А то наугад наворочаем...

            Вообще, один из простых способов - это всему блоку карточки товара присвоить стиль float: left. Тогда они будут слева направо выстраиваться в ряд.

Новости

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

Форум