Тип материала с двумя полями ССК:
1. Картинка.
2. Скрытый Чекбокс с автозаполнением.
Чекбокс дает "Истину" если у картинки ширина больше высоты и "Ложь", если равно и наоборот.
Как сделать это все при редактировании ноды (когда к картинке уже можно обратиться по номеру ноды) я практически понимаю (хотя пока не пробовал), но хотелось бы это сделать при создании. Возможно ли такое? Если нет, то какие возможные пути решения?
Комментарии
для чего это ?
для последующего ускорения процесса выборки картинок соответствующей ориентации.
Да, возможно, только зачем этот чекбокс вообще, тут можно просто поле, которое в форме вообще не будет присутствовать, пользователю его видеть и заполнять все равно никогда не надо будет, (например computed field использовать для этого или обычное текстовое настроить) и написать небольшой сниппет, который будет заносить значение в это поле при отправке формы.
Да, я это и имел в виду.
Это тоже понятно, не понятно как это значение получить перед сохранением формы.
Либо нужно написать нечто типа:
"Если сохраняется новый документ, то войти в его редактирование и сохранить еще раз" Только как этот текст правильно оформить и куда его прописать я тоже не очень понимаю
Нет, сохранять не надо 2 раза ничего, достаточно найти в сниппете значение поля картинки, определить что больше - ее ширина или длина и в зависимости от этого внести свои изменения в значение нужного поля, все данные можно найти отпринтовав либо объект ноды, либо массив $form_state['values'], в зависимости от места где будете влазить в процесс сохранения ноды(тут несколько вариантов).
Спасибо, пошел разбираться.