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

Вывод дефолтного изображения для товаров без картинок

  • 12 февраля 2019 г.
  • Как бы выводить дефолтное изображение для товаров без картинок?
    • 12 февраля 2019 г.
    • Создать условие в необходимых view-файлах вывода товаров. В каждом есть конструкция вывода фотографий с проверкой. Достаточно дописать условие когда нет ни одного фото и подставить изображение или надпись.
      • 12 февраля 2019 г.
      • Помогите плиз с написанием условия)
        • 12 февраля 2019 г.
        • Да легко))

          Берем к примеру карточку товара. За вывод данных товара отвечает файл shop.view.id
          В нем есть стандартный вывод изображений:

          if(! empty($result["img"]))
          {
          echo '<div class="js_shop_all_img shop_all_img shop-item-big-images">';
          $k = 0;
          foreach($result["img"] as $img)
          {
          switch ($img["type"])
          {
          case 'animation':
          echo '<a class="js_shop_img shop-item-image'.(empty($k) ? ' active' : '').'" href="'.BASE_PATH.$img["link"].'" data-fancybox="gallery'.$result["id"].'shop" image_id="'.$img["id"].'">';
          break;
          case 'large_image':
          echo '<a class="js_shop_img shop-item-image'.(empty($k) ? ' active' : '').'" href="'.BASE_PATH.$img["link"].'" rel="large_image" width="'.$img["link_width"].'" height="'.$img["link_height"].'" image_id="'.$img["id"].'">';
          break;
          default:
          echo '<a class="js_shop_img shop-item-image'.(empty($k) ? ' active' : '').'" href="'.BASE_PATH.$img["link"].'" image_id="'.$img["id"].'">';
          break;
          }
          echo '<img src="'.BASE_PATH.$img["link"].'" alt="'.$img["alt"].'" title="'.$img["title"].'" image_id="'.$img["id"].'" class="shop_id_img">';
          echo '</a>';
          $k++;
          }
          echo '<span class="shop-photo-labels">';
          if (!empty($result['hit']))
          {
          echo '<img src="'.BASE_PATH.Custom::path('img/label_hot_big.png').'">';
          }
          if (!empty($result['action']))
          {
          echo '<img src="'.BASE_PATH.Custom::path('img/label_special_big.png').'">';
          }
          if (!empty($result['new']))
          {
          echo '<img src="'.BASE_PATH.Custom::path('img/label_new_big.png').'">';
          }
          echo '</span>';

          echo '<span class="icon-zoom">&nbsp;</span>
          <span class="js_shop_wishlist shop_wishlist shop-like'.(! empty($result["wish"]) ? ' active' : '').'"><i class="fa fa-heart'.(! empty($result["wish"]) ? '' : '-o').'">&nbsp;</i></span>';

          echo '</div>';
          if($result["preview_images"])
          {
          echo '<a class="control-prev shop-previews-control" href="#"><i class="fa fa-toggle-left"></i></a>
          <a class="control-next shop-previews-control" href="#"><i class="fa fa-toggle-right"></i></a>';
          echo '<div class="shop_preview_img shop-item-previews items-scroller" data-item-per-screen="3" data-controls="shop-previews-control">';
          foreach($result["img"] as $img)
          {
          echo ' <a class="js_shop_preview_img item" href="#" style="background-image:url('.$img["preview"].')" image_id="'.$img["id"].'">&nbsp;</a>';
          }
          echo '</div>';
          }
          }

          else {
          echo '<img src="'.BASE_PATH.Custom::path('img/label_new_big.png').'">';
          }



          Все, что нам нужно - добавить после стандарта условие else (добавленное выделено жирным).

          Таким образом, условие имеет вид: Если у товара есть фото - выводи фото, а ежели фото нема - выводи <img src="'.BASE_PATH.Custom::path('img/label_new_big.png').'">

          Ну вместо <img src="'.BASE_PATH.Custom::path('img/label_new_big.png').'"> любое ваше изображение или текст или html

Новости

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

Форум