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

Логотип бренда в карточке товар

  • 17 июля 2016 г. , редакция: 17 июля 2016 г.
  • Здравствуйте!

    Подскажите, как вывести в карточке товара, не просто название и ссылку на бренд, но и его логотип. В массиве $result["brand"] картинки нет ((

    Код
    Array
    (
    [id] => 2
    [name] => Greenell
    [site_id] => 22
    [link] => shop/brand2/
    )
    • 18 июля 2016 г.
    • Дмитрий, дык картинка же отдельно лежит. Возьмите из list() забор картинок, там обычный images_get

      Код

      $img = $this->diafan->_images->get(
      'medium', $brand["id"], 'shop', 'brand',
      $this->diafan->_site->id, $brand["name"], 0, 0, 'large'
      );
      if($img)
      {
      $this->result["img"] = $img;
      }
  • 24 августа 2016 г.
  • Что то не совсем понял, это в модели надо что то добавлять?
    • 24 августа 2016 г.
    • Можно и в модели, только вот эта часть
      Код
      $this->result["img"] = $img;
      может быть другой. Зависит от места размещения кода.
      • 24 августа 2016 г.
      • Надо вывести в карточке товара. Куда это добавить в модель магазина?
        • 24 августа 2016 г.
        • shop.model.php
          Код

          public function id()
          {
          ...
          //в самый конец
          $brand_img = $this->diafan->_images->get( ваши значения );
          if($brand_img)
          {
          $this->result['brand_img'] = $brand_img;
          }
          }

          Далее во вьюшке, если есть значение $result['brand_img'], то выведите его.
          • 24 августа 2016 г.
          • Хм, да вроде так и делал. Видимо что то упустил, попробую еще раз. Спасибо
  • 05 декабря 2016 г. , редакция: 05 декабря 2016 г.
  • Ребята, все гораздо проще:)
    Открываем файл shop.model.php
    Находим там функцию id()
    Внутри нее находим условие:
    if($row["brand_id"])

    Внутри этого условия находим сл.условие:
    if($b)

    и уже внутри этого условия меням сл.код:
    Код
    $b["link"] = $this->diafan->_route->link($b["site_id"], $b["id"], "shop", "brand");

    На этот:
    Код
    $b["link"] = $this->diafan->_route->link($b["site_id"], $b["id"], "shop", "brand");
    $b["img"] = $this->diafan->_images->get('medium', $b["id"], 'shop', 'brand', $b["site_id"], $b["name"], 0, 1, 'large' );


    И теперь во вьюхе в массиве $result["brand"] вам доступны картиночки))

    P.S. не забывайте очищать КЭШ!

    Так уже и быть, дам код для вьюхи))

    Код
    foreach($result["brand"]["img"] as $img){
    echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
    }
    • 05 декабря 2016 г.
    • Непонятно одно: Почему эти пару строк не вписать в инсталяшку - а заставлять в каждом магазине прикручивать костыль для вывода логотипа бренда товара на карточке....

      ЗЫ: После каждой установки движка - наливаешь кофе, хрустнешь суставами или хрещами пальцев и начинаешь копипастить (даже не разрабатывать а тупо копипаситить....)
      • 05 декабря 2016 г.
      • Как ответил мой друг, не продумали))))
        • 05 декабря 2016 г. , редакция: 05 декабря 2016 г.
        • А ещё тема с выводом под звёздочками ретинга
          Цитата
          Рейтинг: * * * * *
          Общий рейтинг: 5
          Проголосовало: 5

          Который помогает делать разметку , да хотя бы просто информативнее смотрится....
        • 05 декабря 2016 г.
        • не продумали это когда с 4й на 5ю версию...
          - в 6й - это уже как то по другому называется....
          • 05 декабря 2016 г.
          • Ну может в 7 версии все будет как надо)
  • 24 августа 2017 г.
  • Товарищи, а куда бы правильно вставить код Степана? Мне вот тоже нужно в карточке товара вывести логотип, вместо наименования.
    Я нашел в shop.view.id.php данный кусок:
    Код
    if (!empty($result["brand"])) {
    echo '<div class="cart__brand">';
    echo $this->diafan->_('Производитель') . ' — ';
    echo '<a href="' . BASE_PATH_HREF . $result["brand"]["link"] . '"><b>' . $result["brand"]["name"] . '</b></a>';
    echo '</div>';
    }


    Попытался вставлять так, но ловлю syntax error:
    Код
    if (!empty($result["brand"])) {
    echo '<div class="cart__brand">';
    foreach($result["brand"]["img"] as $img){
    echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
    echo '</div>';
    }

  • 24 августа 2017 г. , редакция: 24 августа 2017 г.
  • Код
    //вывод производителя
    if (!empty($result["brand"]))
    {
    echo '<div itemprop="brand" itemscope itemtype="http://schema.org/Brand">';
    echo '<div class="shop_brand">';
    echo $this->diafan->_('Производитель').': ';
    echo '<a href="'.BASE_PATH_HREF.$result["brand"]["link"].'">';
    echo '<span itemprop="name">'.$result["brand"]["name"].'</span>';
    echo '</a>';
    echo '</div>';
    // Вывод логотипа бренда
    if (!empty($result["brand"]))
    {
    $images = DB::query_result("SELECT name, folder_num from {images} where element_type='brand' AND element_id=%d LIMIT 1", $result["brand_id"]);
    $folder = DB::query_result("SELECT folder_num from {images} where element_type='brand' AND element_id=%d LIMIT 1", $result["brand_id"]);
    if(!empty($folder)){
    $images = $folder."/".$images;
    }
    echo '<div class="combine_mark">';
    echo '<a href="'.BASE_PATH_HREF.$result["brand"]["link"].'">';
    echo '<img itemprop="logo" src="'.BASE_PATH.'userfiles/shop/small/'.$images.'" style="max-width: 64px;">';
    //echo '<p>'.gettype($images).' = '.$images.'</p>';
    echo'</a>';
    echo '</div>';
    }
    echo '</div>';
    }

Новости

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

Форум