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

Как увеличить изображение новости?

  • 29 марта 2015 г.
  • Вывожу новости с помощью блока (news.view.show_block.php).
    Выводятся фото размера medium (все по умолчанию, не менял).

    Не могу понять, как прописать адрес на большое фото (large)? Код прописал вот так:
    Код
    //изображения новости
    if (! empty($row["img"]))
    {
    foreach ($row["img"] as $img)
    {
    echo '<a href=".BASE_PATH.$img["link"]." rel="prettyPhoto[gallery'.$row["id"].'news]" class="img-large">';

    echo '<img src="'.$img["src"].'" class="img-small">'
    .'</a> ';
    }
    }

    Как подправить ".BASE_PATH.$img["link"].", чтобы prettyPhoto мог увеличить и показать фото размера large?
    Аль чего-то еще не хватает?
    • 29 марта 2015 г.
    • Продолжаю эксперименты. Вернулся к началу, т.е. дефолтному коду вывода изображений.
      Пробую делать так как подсказывает Марина. Там она пишет для магазина, но нашел что по логике подходит для новостей. И в news.model.php закомментировал:
      Код
      if (is_array($images_config))
      {
      if($images_config["count"] > 0)
      {
      $row["img"] = $this->diafan->_images->get(
      $images_config["variation"], $row["id"], 'news', 'element',
      $row["site_id"], $row["name"], 0,
      $images_config["count"]/*,
      $row["link"]*/
      );
      }
      }


      Ну да, изображение перестало ссылаться на страницу новости и начало показывать на гл.страницу сайта.
      Но мне вообще-то нужно заставить prettyPhoto увеличивать изображение...
  • 29 марта 2015 г.
  • Вернулся к первоначальному коду.
    Если тупо вписать в href="/userfiles/news/large/1_my_img.jpg" то увеличение и галерея начинают работать.

    В общем, продолжаю. Какая-то из комбинаций кода уже точно заработает.
  • 30 марта 2015 г.
  • В общем-то помогла подсказка Евгения: https://user.diafan.ru/forum/show1681/#14783
    Код
    echo '<img src="'.str_replace('small/', 'shopgal/', $img["src"]).'" alt="'.$img["alt"].'" title="'.$img["title"].'">';


    т.е. сделал вот так:
    Код
    //изображения новости
    if (! empty($row["img"]))
    {
    foreach ($row["img"] as $img)
    {
    echo '<a href="'.str_replace('small/', 'large/', $img["src"]).'" rel="prettyPhoto[gallery'.$row["id"].'news]" class="img-large">';
    echo '<img src="'.$img["src"].'" class="img-small">'
    .'</a> ';
    }
    }


    И заработало как надо!!!!!
    • 30 марта 2015 г. , редакция: 30 марта 2015 г.
    • Кстати, то же самое касается и магазина. Сейчас по-моему по-дефолту в модуле выводится medium и при клике pretty открывает также medium. Я код менял на код из старых версий, при котором в карточке выводится среднее изображение
      Код
      echo '<img src="'.$img["src"].'" alt="'.$img["alt"].'" title="'.$img["title"].'" image_id="'.$img["id"].'">';

      , а при клике href="'.BASE_PATH.$img["link"].'" увеличивается до большого. То есть $img["src"] - medium, $img["link"] - large
      Только в shop.model прописывал дополнительно medium > large.
      Это так, к справке. Мало ли кому понадобится
      • 30 марта 2015 г.
      • Код
        Сейчас по-моему по-дефолту в модуле выводится medium и при клике pretty открывает также medium.

        немного не так.
        Сейчас как среднее (medium) выводится large, и как большое тоже large.
        Т.е. medium вообще не используется.
      • 30 марта 2015 г.
      • Сказанное выше справедливо для модуля Магазин в дефолтном шаблоне.
        Ну а для модуля Новости (Статьи - тоже) еще интереснее.
        Там в Настройках прописан, что как "Маленькое изображение" используется medium, а реально используется small - можете проверить
  • 30 марта 2015 г.
  • Подытожу 3 момента на которые надо обратить внимание.

    1. Список генерируемых изображений для модуля. От этого зависит, что будет выбираться в следующем пункте.
    2. В моделе смотрим на метод $this->diafan->_images->get() какие параметры принимает и какие данные надо получить на выходе.
    3. Во вьюхе используем необходимые элементы массива $row["img"] полученые на втором этапе.
    • 30 марта 2015 г.
    • Спасибо! Вы всегда так грамотно объясняете, что мне тут же все понятно, кроме как это использовать.
  • 01 апреля 2015 г.
  • ну лезть в код и искать куски и которые необходимо прогнать с определёнными данными, чтобы описать механизм в деталях с конкретными примерами довольно долго. Смотрю в документацию и описываю схемы, на которые нужно обратить внимание.

Новости

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

Форум