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

Вывод прикрепленных изображений на странице в шаблоне списка вопросов и ответов

  • 02 марта 2012 г. , редакция: 02 марта 2012 г.
  • Подскажите, как правильно сделать вывод прикрепленных изображений вместе с вопросами на странице с вопросами и ответами? Делал по аналогии с выводом на странице вопроса:

    В файле faq.view.php в функции list
    Код

    //прикрепленные файлы
    if (! empty($row["attachments"]))
    {
    echo '<div class="faq_attachments">';
    foreach ($row["attachments"] as $att)
    {

    и т. д.


    предварительно добавив в faq.model.php в public function first_page()

    Код

    $this->result["attachments"] = $this->diafan->_attachments->get($row["id"], 'faq');


    ничего не выводится, может я что-то еще упустил?
    • 23 марта 2012 г. , редакция: 23 марта 2012 г.
    • Функция fisrt_page обрабатывается в view тоже функцией first_page, поэтому естественно что в view не было результата.

      attachments достаточно добавить в функцию get_elements файла faq.model.php
  • 15 февраля 2015 г.
  • Приветствую всех!
    Тоже необходимо вывести прикрепленные через админку изображения в списке вопросов, который выводится тегом show_block. Во вьюхе вставил следующее:

    Код
    if (! empty($row["attachments"]))
    {
    foreach ($result["attachments"] as $att)
    {
    echo '<img src="'.$att["src"].'">';
    }
    }


    НО ничего не выводит. Я так понял из вышенаписанного, что необходимо в model в функцию show_block вставить строку :

    Код
    $this->result["attachments"] = $this->diafan->_attachments->get($row["id"], 'faq');


    Но не могу сообразить куда... подскажите пожалуйста.
  • 16 февраля 2015 г.
  • В общем ТП подсказала чего не так и что сделать.... может кому пригодится... вот решение:

    в model в функцию elements() в цикл добавил строку
    Код
    $row["attachments"] = $this->diafan->_attachments->get($row["id"], 'faq');


    и во вьюхе в show_block для вывода изображения вставил следующее:
    Код
    if (! empty($row["attachments"]))
    {
    foreach ($row["attachments"] as $att)
    {
    echo '<img src="'.$att["link_preview"].'">';
    }
    }


    Всё заработало, всё отображается.
  • 12 марта 2015 г.
  • А не подскажете, как вывести изображение в анонсе? В общем списке вопросов?
  • 13 марта 2015 г.
  • В админке с помощью плагина tinimce редактируете поле анонс и все. Можете просто руками вставить.
    <img src="url" width="100" height="50">
  • 13 марта 2015 г.
  • А какой анонс посетители и где могут редактировать. Я чего то не в курсе. Кроме объявлений и коментов больше вроде интерактива такого жёсткого и нет.
    • 13 марта 2015 г.
    • FAQ сделан так, чтобы не было отдельной страницы для каждого вопроса, а все вопросы-ответы полным текстом шли на главной странице модуля FAQ, друг за дружкой.
      Вот, хотим сделать, чтобы если задающий вопрос прикрепил картинку (или любой другой разрешенный файл), то картинка отображалась в вопросе на странице со списком вопросов и ответов.
    • 13 марта 2015 г. , редакция: 16 марта 2015 г.
    • Список выводим с помощью faq.view.list.php, но там удалены ссылки на отдельную страницу с вопросом. Полный текст вопроса и ответа отображается с помощью faq.view.list.php.
  • 15 марта 2015 г. , редакция: 15 марта 2015 г.
  • Если картинка прикрепляется каким-то образом то её надо изъять в моделе и вывести во вьюхе. Логика какая то такая должна быть. Посути выще прямо в примере так и написано. Просто нужно вставить в нужное место.
    • 16 марта 2015 г.
    • все вроде так и делаю. как писали выше.
      Цитата
      в model в функцию elements() в цикл добавил строку

      Код
      $row["attachments"] = $this->diafan->_attachments->get($row["id"], 'faq');


      а вывод вставляю в faq.view.list.php
      Код
      if (! empty($row["attachments"]))
      {
      foreach ($row["attachments"] as $att)
      {
      echo '<img src="'.$att["link_preview"].'">';
      }
      }

      Ошибок не выдает - но условие
      Код
      if (! empty($row["attachments"]))

      не выполняется.

      • 17 марта 2015 г. , редакция: 17 марта 2015 г.
      • Глянул ради интереса
        Нет такого
        Код
        includes/attachments.php

        Не работать может только в одном случае
        Код
        if (! empty($row["attachments"]))


        $row["attachments"] не содержит данных
        следовательно
        Код
        $this->diafan->_attachments->get($row["id"], 'faq');
        не возвращает надо потрэйсить этот участок.
  • 18 марта 2015 г. , редакция: 18 марта 2015 г.
  • Разобралась!
    в model
    в public function show_block_rel
    вставила запись
    Код
    $this->diafan->_attachments->get($row["id"], 'faq');

    в цикл
    foreach ($result["rows"] as &$row)

    и получила данные прикрепленных файлов в $row["attachments"]
    Вывожу в list превью изображения
    Код
    if (! empty($row["attachments"]))
    {
    foreach ($row["attachments"] as $att)
    {
    echo '<img src="'.$att["link_preview"].'">';
    }
    }


    Работает Всем большое спасибо за подсказки

Новости

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

Форум