Help - покажите пример ПРАВИЛЬНО заполненных "Предустановленных значений" для типа поля "Изображение"

InstantCMS 2.X
#16 17 февраля 2020 в 14:45

Изображение брал с аватарки

AndroS

Вы не указываете имя пресета, вот и не грузится ничего.

normal:000/u2/000/25834f71.jpg
#17 17 февраля 2020 в 14:46

а у остальных остались битые ссылки на эту уже не существующую картинку

Loadырь
Да, именно так.
#18 17 февраля 2020 в 14:46

Вы не указываете имя пресета

чебурек дохлэй мыш
или указывают имя неиспользуемого в этом поле пресета
#19 17 февраля 2020 в 14:48

проще добавить поле типа "Изображение" с названием "Заглушка", дать его на создание/редактирование только админам, загрузить туда нужную картинку и в шаблоне просто прописать условие, если картинка не заполнена в основном поле, то показывать заглушку.

Loadырь
Еще проще тупо в шаблоне прописать заглушку и закрыть вопрос.
#20 17 февраля 2020 в 14:49

тупо в шаблоне

чебурек дохлэй мыш
Это же не наш метод ©
#21 17 февраля 2020 в 14:50

Это же не наш метод ©

Loadырь
Ваш, еще как ваш)))

добавить поле типа "Изображение" с названием "Заглушка", дать его на создание/редактирование только админам, загрузить туда нужную картинку и в шаблоне просто прописать условие, если картинка не заполнена в основном поле, то показывать заглушку

Loadырь
#22 17 февраля 2020 в 14:55

в шаблоне просто прописать условие

Loadырь
и

тупо в шаблоне прописать заглушку

чебурек дохлэй мыш
Чувствуете разницу? Наш метод более элегантный: прописать условие, а ваш: тупо прописывает заглушку.
#23 17 февраля 2020 в 14:55

а что будет с другими объявлениями с дефолтными картинками, если удалить у одного из них дефолтную картинку и загрузить нормальную?

Loadырь
Думаю, ничего не будет. У нас же как — даже если ты нажимаешь удалить картинку, она физически остается на сервере. При сохранении записи первый раз в бд пишется ссылка на указанную дефолтную картинку. Соответствунно, при редактировании записи, даже если ранее была деолтная сохранена картинка, она слетит.

Единственно верный путь к изображению такой, и только такой normal:000/u2/000/25834f71.jpg. (Что не совсем соответствует документации, точнее, для понимания этого мне пришлось убить несколько часов на общение с Fuze и в этой теме. Был бы просто пример — скорее всего, с первого раза догнал) Если задать без названия пресета, только ссылку на изображение — не сохраняется оно в записи. Соответственно, для вывода в списке, виджетах и в других местах нужно прописывать ссылки на каждый пресет этого изображения. shock

Судя по всему, удалятся они все. Картинка на скриншоте взята из новостей, удалил объявление — удалилась картинка из новостей.

чебурек дохлэй мыш
Нет, конечно. В бд пишется url же… Даже новость можно удалить, физически файлы на серваке остаются же.

Мне кажется проще

Loadырь
Очередной бубен, какой год уже из года в год люди одно и тоже на форуме спрашивают. Решение я в гите описал же выше — добавить надстройку для типа поля Изображение с возможностью загрузки заглушки )))
При этом пусть движок сам сохраняет, куда ему надо, и ресайзит автоматом во все возможные на сайте пресеты (на случай последующего изменения этих самых пресетов).
#24 17 февраля 2020 в 15:01

Нет, конечно. В бд пишется url же… Даже новость можно удалить, физически файлы на серваке остаются же.

AndroS
Попробуйте))) я попробовал и написал так, как есть.
#25 17 февраля 2020 в 15:06

Попробуйте))) я попробовал и написал так, как есть.

чебурек дохлэй мыш
очередная мистега. Не хочу расстраиваться laugh
Пойду в phpmyadmin запросами скормлю движку ссылки на изображение по умолчанию — полезнее будет. Все лучше, чем ручками редактировать каждую запись и плодить сотни копий одних и тех же изображений.
#26 17 февраля 2020 в 15:29

Пойду в phpmyadmin запросами скормлю движку ссылки на изображение по умолчанию — полезнее будет. Все лучше, чем ручками редактировать каждую запись и плодить сотни копий одних и тех же изображений.

AndroS
Всё наоборот. Одинаковые изображения не будут размножаться. Но если Вы удалите из одной записи свою заглушку и вставите другое изображение, то эта заглушка удалится из папки upload и везде будут битые картинки. Вот так это работает))) Что-то мне подсказывает, то если Вы просто в бд заглушку пропишите, то произойдет то же самое.

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

Вот это
  1. <?php if(empty($item['photo'])){ ?>
  2. <div class="field ft_image f_photo">
  3. <div class="value"><img src="путь_к_картинке"></div>
  4. </div>
  5. <?php } ?>
#27 17 февраля 2020 в 18:14

У нас же как — даже если ты нажимаешь удалить картинку, она физически остается на сервере

AndroS
именно. Так как удаление происходит в момент сохранения записи, что логично.
Например, в поле Изображение удаление происходит в этой строчке github.com/instantsoft/icms2/blob/8d14a7f5957c2d401feb977f0f089f63d2779d32/system/fields/image.php#L110
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.