Перейти к содержимому


Изображение по связи в подтаблице


Сообщений в теме: 8

#1 mak

    Активный участник

  • Активный пользователь
  • PipPipPip
  • 207 сообщений

Отправлено 26 Январь 2016 - 12:29

Поле связь - выводить картинку.
В режиме подтаблицы картинка показывается как название файла, если перейти на запись - то картинкой.
Так и должно быть?

Прикрепленные изображения

  • Прикрепленное изображение: Screenshot_2.png


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Январь 2016 - 12:32

Не знаю, вполне возможно что и баг/недоделка. Отправьте заявку в ТП на проверку.

#3 mak

    Активный участник

  • Активный пользователь
  • PipPipPip
  • 207 сообщений

Отправлено 27 Январь 2016 - 15:29

ТП ответила что это не баг и картинки в подтаблице так не вывести.

нашел достаточно простой способ вывести картинку в любом месте:
<a href="open_file.php?table=310&field=5210&amp;line=52191&amp;file=09167.jpg&amp;show=1" ><img src="open_file.php?table=310&field=5210&line=52191&file=09167.jpg&show=1&w=100&h=100"></a>

и даже с помощью виждета "thickbox", который используется в КБ:
<a class="thickbox" href="open_file.php?table=310&field=5210&amp;line=52191&amp;file=09167.jpg&amp;show=1"><img src="open_file.php?table=310&field=5210&line=52191&file=09167.jpg&show=1&w=100&h=100" alt="" /></a>
тут правда косяк - отображается не картинка а содержимое файла.
видимо потому что скрипт отдает файл, если прописать реальный - работает
как то можно указать, что это картинка?

еще вариант - подключить свой плагин, например - FANCYBOX
в коде есть упоминание в переменной "var checksum_scripts", но самого не нашлось, не хочется конфликт получить случайно...
КБ его использует?
подключение через $ADDITIONAL_JAVASCRIPT_INCLUDE в functions_custom.php?

#4 mak

    Активный участник

  • Активный пользователь
  • PipPipPip
  • 207 сообщений

Отправлено 27 Январь 2016 - 16:18

подключил через плагин - FANCYBOX
подключение css в настройки-лого и цвета: include/yii-framework/framework/gii/assets/js/fancybox/jquery.fancybox-1.3.1.css

js в в functions_custom.php через переменную $ADDITIONAL_JAVASCRIPT_INCLUDE:
$ADDITIONAL_JAVASCRIPT_INCLUDE = "<script type='text/javascript' src='include/yii-framework/framework/gii/assets/js/fancybox/jquery.fancybox-1.3.1.pack.js'></script>";
$ADDITIONAL_JAVASCRIPT_INCLUDE .= '<script type="text/javascript">$(document).ready(function() {$(".fancybox_single_image").fancybox();});</script>';

код в поле (тип текст с форматированием html):
<a class="fancybox_single_image" href="open_file.php?table=310&field=5210&amp;line=52191&amp;file=09167.jpg&amp;show=1" ><img src="open_file.php?table=310&field=5210&line=52191&file=09167.jpg&show=1&w=100&h=100"></a>

CbCoder, прокомментируйте пожалуйста правильность решения.
настораживает что плагин в системе есть, но не подключен на страницах таблиц.
возможные косяки?

#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2016 - 16:22

Цитата

ТП ответила что это не баг и картинки в подтаблице так не вывести

Через редактируемое поле связи - да, не вывести. Потому как непонятно, каким образом совместить выпадающий список выбора с картинками. Приемлемого решения мы пока не нашли.

НО, проблема только с редактируемыми полям. Если редактирование отключить, то картинка нормально отображается. Отсюда получаем простое решение: выбираем связь в одном поле, а картинку подгружаем вычислением в другом. Само вычисление простейшее:

$line['Картинка'] = $line['Связь']['raw'];

Оба поля должны быть полями связи с одной и той же таблицей, только первое - редактируемое, для выбора значения, а второе - НЕредактируемое, для вывода картинки.

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2016 - 16:25

Цитата

CbCoder, прокомментируйте пожалуйста правильность решения

Я рекомендую воспользоваться вариантом выше и не мучаться со сторонними плагинами. Не совсем понял, зачем они вам вообще.

#7 mak

    Активный участник

  • Активный пользователь
  • PipPipPip
  • 207 сообщений

Отправлено 27 Январь 2016 - 17:27

решение отличное, полностью устраивает, но: при изменении в подтаблице записи - в поле появляется имя файла, а сама картинка только после перезагрузки страницы.
так и должно быть? смотрите последнюю запись.

Прикрепленные изображения

  • Прикрепленное изображение: Screenshot_3.png


#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2016 - 17:32

Цитата

вообще и в теме и в сообщении написано - Изображение по связи в подтаблице

Дико извиняюсь, невнимательный в последнее время :wacko:

Цитата

при изменении в подтаблице записи - в поле появляется имя файла, а сама картинка только после перезагрузки страницы.

так и должно быть?

Видимо да. Но возможно что это как раз можно исправить.

#9 maksbazhin

    Активный участник

  • Пользователи
  • PipPipPip
  • 62 сообщений
  • Пол:Мужчина

Отправлено 25 Май 2018 - 15:15

Добрый день.
Надо реализовать в таблице контрагентов, желательно штатными средствами, отображение списка наших организаций (у нас их 4) и списка заключенных с ними видов договоров (их больше 10) в виде иконок.
Как лучше реализовать с точки зрения нагрузки на сервер и скорости загрузки страницы.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных