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

Применение тегов изображений во view файлах

  • 09 февраля 2013 г.
  • Здравствуйте. В настройках изображений для некоторых модулей есть опция Генерировать размеры изображений.
    В данной опции тегами medium и large помечены фото для првью и увеличения соответственно. Мы можем добавить свои размеры изображений и отметить их своим тегом.

    Встает вопрос, как нам вызывать эти изображения, помеченные определенным тегом во view шаблонах страниц?

    Допустим, что я пометил свой тип изображений тегом "custom". Как на примере следующего кода мне его там можно вызвать?

    Код
    //вывод изображений товара
    if (!empty($row["img"]))
    {
    echo '<div class="shop_img"><pre>';
    foreach ($row["img"] as $img)
    {
    switch ($img["type"])
    {
    case 'animation':
    echo '<a href="' . BASE_PATH . $img["link"] . '" rel="prettyPhoto[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"] . '" width="' . $img["width"] . '" height="' . $img["height"] . '" alt="' . $img["alt"] . '" title="' . $img["title"] . '">'
    . '</a> ';
    }
    echo '</pre></div>';
    }


    Заранее спасибо!
    • 09 февраля 2013 г.
    • http://cms.diafan.ru/dokument/full-manual/upmodules/images/#inc
      Сначала надо в model-и получить Ваше изображение
      Код
      $img = $this->diafan->_images->get("custom", $id, "shop", $site_id, "Название товара", false, 2, "large");

      А затем уже код во вьюхе его выведет. Код там править не надо.

      Либо, если надо и старую превьюху вывести и Ваше custom, то заведите
      Код
      $imgcustom = $this->diafan->_images->get("custom", $id, "shop", $site_id, "Название товара", false, 2, "large");

      а во вьюхе просто скопируйте
      Код
      //вывод изображений товара
      if (!empty($row["imgcustom"]))
      {
      echo '<div class="shop_img"><pre>';
      foreach ($row["imgcustom"] as $img)
      {
      switch ($img["type"])
      {
      case 'animation':
      echo '<a href="' . BASE_PATH . $img["link"] . '" rel="prettyPhoto[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"] . '" width="' . $img["width"] . '" height="' . $img["height"] . '" alt="' . $img["alt"] . '" title="' . $img["title"] . '">'
      . '</a> ';
      }
      echo '</pre></div>';
      }
      • 11 февраля 2013 г.
      • Спасибо Виталий!

        P.S. В след. версиях документации, который вы мне послали рекомендую включить мой пример. На мой взгляд людям будет так понагляднее.
        • 11 февраля 2013 г.
        • Дык, сходите в документацию, и включите. Там же есть внизу "Ваши примеры и дополнения". Чтобы Вашим коллегам полезно было и они видели Ваше имя
          • 11 февраля 2013 г.
          • Не обратил внимание на такую функцию. Сделаю. Спасибо :)
  • 11 февраля 2013 г.
  • Не совсем понял куда пихать в модели указанные выше сроки.
    Мне нужно выводить картинки с определенным тегов в списке новостей.
    Правильно ли я сделал, что поместил на 1367 строку следующий код?

    Код
    $row["imgcustom"] = $this->diafan->_images->get(
    'custom', $row["id"], 'news', $row["site_id"], $row["name"], false,
    $this->diafan->configmodules("list_img", "news", $row["site_id"]) == 1 ? 1 : 0,
    $row["link"]
    );
    • 11 февраля 2013 г.
    • Походу запахало. Удивительно :) Было бы еще неплохо понимать, что сделал.

      Итого в списке новостей, я получаю автоматически подрезанные картинки помеченные тегом custom, чтобы все было ровненько и красиво, а на внутряке новости я уже получаю те же самые картинки, но целиком, без подрезки (которые помечены тегами medium и large).
      • 13 февраля 2013 г.
      • Цитата
        Итого в списке новостей, я получаю автоматически подрезанные картинки помеченные тегом custom, чтобы все было ровненько и красиво, а на внутряке новости я уже получаю те же самые картинки, но целиком, без подрезки (которые помечены тегами medium и large).

        Для того этот функционал и существует
        Можно еще и в блок новостей задать четвертый вариант обработки новостей.
        • 13 февраля 2013 г.
        • Виталий, не совсем понял что значит "четвертый вариант обработки новостей". Поясните пожалуйста :)
          • 14 февраля 2013 г.
          • Ещё один тип картинки совсем маленький или както подругому порезаный.
  • 24 марта 2013 г. , редакция: 25 марта 2013 г.
  • Подскажите пожалуйста, куда в модельке фотогалереи вставлять подобный код, чтобы она позволила получить фотографии, помеченные моим тегом, в списке альбомов (стоит галка "Использовать альбомы"). Пытался править модельку в секции "Генерирует данные для первой страницы фотогалереи" , но видимо где-то ошибся.

    Список альбомов во вьюхе выдается кодом:
    Код
    //вывод нескольких фотографий из текущей категории (задается в настройках модуля)
    if ($cat["rows"])
    {
    foreach ($cat["rows"] as $row)
    {
    echo '<div class="catalog_item_pic">';

    //изображение
    if (! empty($row["img"]))
    {
    echo '<a href="'.BASE_PATH_HREF.$cat["link_all"].'">';
    echo '<img src="'.$row["img"]["src"].'" width="'.$row["img"]["width"].'" height="'.$row["img"]["height"]
    .'" alt="'.$row["img"]["alt"].'" title="'.$row["img"]["title"].'">'
    .'</a>';
    }

    echo '</div>';
    }
    }




    Спасибо!
  • 29 марта 2013 г.
  • Уважаемые разработчики, выручите пожалуйста.
    Не могу победить никак, а надо проект закончить.

Новости

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

Форум