Подскажите, пожалуйста, как в 7-ке формируется вывод поля-изображения с установленным форматом отображения и как этим управлять.
Т.е. как я могу переопределить вывод этого поля с учетом всех настроек, выбранных пользователем - формат("Изображение" или,например, "Colorbox"), стиль в ноде - такой то, а стиль при переходе по ссылке - вот этот(пресеты Image Style).
Куда смотреть в API?
Вот так я задаю статичный вывод
'path' => $vars['field_class_photo'][0]['uri'],
'width' => '300'));
Наверное можно динамически 'style_name' брать из field_class_photo['items']['formatter'].
Но как учесть варианты 'в ноде' и 'переход по ссылке'?
Комментарии
не понял...
что именно ты хочешь сделать?темизировать ноду?но так,чтобы в одном случае была одна темизация,а в другом другая?
Нет. Я хочу переопределить шаблон для нод определенного типа. В ноде нужно вывести фото - одно из полей ноды. Но сделать это с учетом настроек поля. Т.е. для отображения в ноде - один пресет, а если по фотке кликнут - другой, в окне Colorbox, например.
Короче нужно показать поле-фотку в ноде с учетом всех настроек отображения для этого поля, заданных пользователем на странице настроек. Так, как это делает Друпал по-умолчанию, если я просто в шаблоне поставлю print render($content).
Но я хочу переопределить вывод каждого поля(из $content) отдельно. Как в ней ($content)по-умолчанию формируется вывод именно вот такого поля с изображением? Как определяется, какой пресет и когда использовать?
Прошу прощения за косноязычие в терминах.
знаешь че..сходу так не скажу.
короче поставь contentemplate.
открой в нем(в админке) шаблон нужного тебе типа ноды.
в подстановочных шаблонах найдешь как вывести скажем путь к твоей картинке. там что то типа $field->бла бла бла...
Вот это дело и копируй прям в шаблон node--mytype.tpl.php ну и фороми там соответствующе,добавив класс колорбокса,или оберни в нужный тебе пресет.
Вобщем, решил пока не заморачиваться. Оставил пока
print render($content['field_class_photo']
Но при наличии времени обязательно копну, че да как.
Как будет решение - отпишите обязательно в теме.
Тоже интересно
Нашел! Нужно использовать функцию image_style_url
Нашел! Нужно использовать функцию image_style_url