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


пзображение из подчиненой таблицы в шаблоне


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

#1 dimichspb

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

  • Пользователи
  • PipPipPip
  • 55 сообщений

Отправлено 14 Апрель 2011 - 17:33

Шаблон для печати HTML, но поле с изображением - вычисляемое, то есть подставляется из основной таблицы. В основной таблице изображения отображаются, в подчиненной - нет. Появляется ошибка


Warning: imagecreatefromstring() [function.imagecreatefromstring]: Empty string or invalid image in
/public_html/cb/include/functions1.php on line 1402

Warning: imagepng(): supplied argument is not a valid Image resource in
/public_html/cb/include/functions1.php on line 1441

#2 CbCoder

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

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

Отправлено 14 Апрель 2011 - 17:42

Версия, ревизия?

#3 dimichspb

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

  • Пользователи
  • PipPipPip
  • 55 сообщений

Отправлено 14 Апрель 2011 - 18:23

Версия: 1.9.3 ревизия 1396 от 2011-03-28

#4 CbCoder

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

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

Отправлено 15 Апрель 2011 - 09:44

Очевидно ошибка связана с тем что изображения в данном поле нет. Каким образом Вы вычисляете это поле? В самой таблице, в просмотре записи, изображение показывается?

#5 dimichspb

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

  • Пользователи
  • PipPipPip
  • 55 сообщений

Отправлено 15 Апрель 2011 - 09:49

Да, действительно. Даже если я меняю тип поля на Файл - ссылка на файл есть, но файл пустой. Вычисление прописано в самом поле.

$rpoz = data_table("Расчетные позиции","id={ID}");

$rds = data_table("Расчет-доставка-себестоимость","id='".$rpoz['Расчет-доставка-себестоимость']."'");

$ras = data_table("Расчет себестоимости","id='".$rds['Расчет']."'");

$zap = data_table("Запросы","id='".$ras['Запрос']."'");

return $zap['Фото'];


в самой подчиненной таблице, соответственно, тоже не отображаются. В главной - все ОК.




Просмотр сообщенияРазработчик (15.4.2011, 9:44) писал:

Очевидно ошибка связана с тем что изображения в данном поле нет. Каким образом Вы вычисляете это поле? В самой таблице, в просмотре записи, изображение показывается?


#6 CbCoder

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

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

Отправлено 15 Апрель 2011 - 10:02

Суть в том что поле с типом файл (или изображение) в БД хранится в двух местах: собственно в таблице с данными хранится только его название, а само содержимое размещено в отдельной таблице (cb_data_files). Это сделано в частности для улучшения быстродействия. У Вас вычисление копирует только название файла, получается ссылка в никуда, и как следствие - ошибка. Поэтому Вам либо надо копировать и его содержимое, либо, что более рационально - отказаться вообще от поле типа файл, сделать его обычным текстовым и через вычисление формировать значение в виде тэга img со ссылкой на поле-оригинал.

#7 dimichspb

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

  • Пользователи
  • PipPipPip
  • 55 сообщений

Отправлено 15 Апрель 2011 - 10:41

Понятно, спасибо. Просто в одной из веток Вы говорили, что вычисляемым может быть поле любого типа.

Просмотр сообщенияРазработчик (15.4.2011, 10:02) писал:

Суть в том что поле с типом файл (или изображение) в БД хранится в двух местах: собственно в таблице с данными хранится только его название, а само содержимое размещено в отдельной таблице (cb_data_files). Это сделано в частности для улучшения быстродействия. У Вас вычисление копирует только название файла, получается ссылка в никуда, и как следствие - ошибка. Поэтому Вам либо надо копировать и его содержимое, либо, что более рационально - отказаться вообще от поле типа файл, сделать его обычным текстовым и через вычисление формировать значение в виде тэга img со ссылкой на поле-оригинал.


#8 CbCoder

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

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

Отправлено 15 Апрель 2011 - 10:49

Теоретически - может. Просто для данной Вашей задачи рациональнее использовать поле другого типа. Но это не исключает возможности в практической необходимости и вычисляемого поля типа "файл" (к примеру если Вы захотите сделать загрузку файла из внешнего источника)





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

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