Несколько ресайзов image cache

Главные вкладки

Аватар пользователя Dope Skeeza Dope Skeeza 9 декабря 2009 в 19:48

Столкнулся с задачей по автоматическому изменению размеров одинаковой фотографии через imagecache.
Всего нужно 3 состояния: 1). анонс (тизер) 2). основная (в полной версии) 3). на главной (блок views)
В display свойстве imagecache есть только 2 состояния: teaser и full.
Как добавить еще 1 состояние?

Комментарии

Аватар пользователя Stan.Ezersky Stan.Ezersky 9 декабря 2009 в 21:08

"direqtor" wrote:
Только вместо типа строки Материал, используйте поля. Тогда можно любой imagecache выбрать.
Да, я просто не учёл тот момент, что у человека берётся материал, а не поля. Спасибо за уточнение.

Аватар пользователя Dope Skeeza Dope Skeeza 9 декабря 2009 в 21:35

А если мне нужен вывод не полей а материала в блоке?
Просто тогда я не вижу возможности гибкой темизации, если использовать views с полями.
А если мне нужно вывести еще попутно html из ноды в этот блок? Что тогда?

Аватар пользователя Dan Dan 9 декабря 2009 в 22:16

Во views можно:
1. Использовать вывод материалов (тизеров или полных нод). Views просто выводит тизер или полную версию. Кастомизация - Ваша проблема, которую надо решать через шаблоны нод.
2. Юзать поля - весь вывод (состав и вид полей) настраивается с помощью views. Дополнительно можно всё подрихтовать через шаблоны views.

Аватар пользователя Dope Skeeza Dope Skeeza 9 декабря 2009 в 22:24

Вот представьте вполне нормальную ситуацию:
Нужно выводить новости на главной странице и на странице самого раздела новостей (/news).
Изначально юзер должен видеть аннонсы новостей, на главной странице фотка в тизере новости должна быть крупнее, чем в тизерах раздела новостей (/news). В полной версии ноды новости - самая большая картинка. Получается, что нужно 3 состояния картинок с возможной темазацией... и views с полями для главной страницы будет крайне неудобным решением.

Вот над этим и бьюсь вообщем то...

Аватар пользователя Dan Dan 9 декабря 2009 в 23:07

Именно поля Вас и спасут. Можно хоть десять списков с десятью размерами сделать. Не вижу проблемы.

Аватар пользователя direqtor direqtor 10 декабря 2009 в 6:40

Вообще-то человек правильную проблему поднял. Это недостаток системы, что нельзя настраивать дополнительные отображения материалов, которые бы именовались своим идентификатором (как teaser или full) и содержали разные наборы по-разному отформатированных полей.

Аватар пользователя Dan Dan 10 декабря 2009 в 7:18

Есть две проблемы:
- что показывать,
- где показывать.

Вариантов "где" несколько: teaser, full, rss, token (это штатно в ССК), вариантов "что" гораздо больше и зависит от типа поля (для изображений - вообще неограниченно).

Так мы про какую проблему рассуждаем?

Аватар пользователя 69 69 10 декабря 2009 в 11:40

"Dan" wrote:
Во views можно:
1. Использовать вывод материалов (тизеров или полных нод). Views просто выводит тизер или полную версию. Кастомизация - Ваша проблема, которую надо решать через шаблоны нод.

Именно так я у себя на сайте и сделал, прекрасно работает.
Для материала news имеется три пресета, один для full node, другой для teaser в разделе новости, а третий для teaser на главной.

Аватар пользователя Dan Dan 10 декабря 2009 в 19:26

Если различие только в размере картинки, в настроках типа материала (display fields) отключите показ этого поля, а рендер его сделайте в препроцессинге.
Если нужно его куда-то в недра переменной $content пихать, то тогда можно заюзать nodeapi.

Аватар пользователя direqtor direqtor 11 декабря 2009 в 17:19

"Dimm" wrote:
http://drupal.org/project/nd[/quote]

Тваю мать!!! Простите за оффтоп. Вот меня уже начинают терзать смутные сомнения... Стоит подумать о каких-то кардинальных изменениях функционала в друпале и на тебе... Есть модуль. Тьфу... Плевательница.

Аватар пользователя Dope Skeeza Dope Skeeza 3 января 2010 в 15:56

только вот непонятно как в node.tpl.php обозначать область для доп. вида.
Например стандартный код: <?php if($teaser==1) { ?>
Делал по аналогии, но не работает: <?php if($myview==1) { ?>

В документации модуля ничего не сказано Sad