Разные стили в одном представлении

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

Аватар пользователя Ginger_ Ginger_ 8 августа 2013 в 19:55

Добрый вечер всем. Прошу помощи форума. Проблемы с Views.

Как вывести в одном views фотографии разных стилей - чередовать стиль вывода поля image?

Чтобы в одном row (ой, я хоть правильно называю?) - в общем, в первой ячейке фото одного формата, в следующей - другого, или через две менялся формат?

Пыталась использовать модуль views_field_view - "вьюшка в вьюшке". Но после каждого row родительского views новые поля повторяются.
То есть что я хочу сделать:

Фото /* стиль 1 */
заголовок статьи 1
Фото /* стиль 2 */
Заголовок статьи 2
Фото /* стиль 1*/
Заголовок статьи 3

А выходит вот что:

Фото /* стиль 1 */
заголовок статьи 1
Фото /* стиль 2 */
Заголовок статьи 1
Фото /* стиль 1*/
Заголовок статьи 1

Была дикая идея вывести таблицей, even/odd править в css - но это просто ужас получается, фото деформируются. Что можно сделать - прошу совета Smile

Комментарии

Аватар пользователя graker graker 9 августа 2013 в 11:54

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

Либо другой вариант: добавлять поле фото, скрывать его от показа, добавить счетчик строк Global: View result counter (тоже скрыть), добавить поле php и в нем с использованием фото и счетчика темизировать поле. Это все равно вручную надо код писать. Причем этот вариант хуже первого, т.к. добавляет 2 ненужные сущности - счетчик (который в темплейте создается обычной переменной php) и php field (для которого надо ставить views_php). Подходит только если надо быстро сделать, а доступа на сервер чтоб разместить темплейт - нету.

Аватар пользователя Ginger_ Ginger_ 9 августа 2013 в 17:36

"graker" wrote:
Graker,
спасибо большое за ответ. Вы еще и натолкнули меня на полезную мысль: зачем плодить сущности без особой на то надобности?

Для пары рюшек я хочу нагромоздить много-много всего, пирамиду целую из модулей и запросов - а ведь это лишние запросы, а потом говорят, что Друпал - неповоротливый и громоздкий.

А вообще без темизации не обойтись, уже поняла. Но это ох как сложно, тем более, если не программист. Нашла похожий, но не решенный вопрос, идеально мне подходящий drupal.ru/node/98925 - но у меня тоже ничего не вышло, запуталась с этими шаблонами.

Честно говоря, надеялась, что есть варианты по типу второго, предложенного Вами. Пыталась привязать к таксономии - создать что-то вроде словаря с модулем views_field_view - крутила-вертела аргументы, но не выходит пока ничего.
Буду пытаться раскусить эту темизацию - а вдруг?

=========================================================

И чтобы не плодить темы по форуму - вдруг кто прочтет Smile
На Друпал.орг модули для 7-ки dev версии и помеченные не зеленым, а желтым цветом стоит брать или не стоит? Я правильно поняла - это не стабильные еще версии, если желтым, но уже не dev?
Спасибо Smile

Аватар пользователя graker graker 9 августа 2013 в 18:39

Quote:
Буду пытаться раскусить эту темизацию - а вдруг?
В любом случае придется код писать.

Quote:
На Друпал.орг модули для 7-ки dev версии и помеченные не зеленым, а желтым цветом стоит брать или не стоит? Я правильно поняла - это не стабильные еще версии, если желтым, но уже не dev?

Это диалектично Smile
С одной стороны, раз вы еще в процессе разработки - вполне можно: пока закончите, уже и "зеленый" релиз выйдет. К тому же, зачастую "красные" и "желтые" релизы прекрасно работают, а у авторов просто нет времени сделать новый релиз.
С другой стороны, если модуль будет глючить именно там, где вам надо чтоб не глючил, поправить его самостоятельно, будучи не-программистом, вы все равно не сможете и будете искать другое решение.

Аватар пользователя Ginger_ Ginger_ 9 августа 2013 в 22:45

"graker" wrote:
В любом случае придется код писать.

Ой, надеюсь, что случаев этих будет как можно меньше. Каждый должен заниматься своим делом. PHP с нуля экстерном - нонсенс, а подбирать обрывочки чужого кода и пытаться их куда-то пристроить - чем я и занималась последние пару часов - это печально Smile

"graker" wrote:
пока закончите, уже и "зеленый" релиз выйдет

Да как бы не Drupal 9. Кажется, я начинаю понимать, что имеют ввиду, говоря про "высокий порог вхождения". Хорошо, что хоть легко можно найти нужный элемент и "оттемезировать" его CSS. Что я и сделала с моими картинками.

Спасибки за внимание к вопросом перепуганных Drupal' Smile

Аватар пользователя graker graker 9 августа 2013 в 23:44

Quote:
а подбирать обрывочки чужого кода и пытаться их куда-то пристроить - чем я и занималась последние пару часов - это печально :)
Ну, тут либо так, либо за деньги. Ну или мужа-друпалиста ищите Smile

Quote:
Кажется, я начинаю понимать, что имеют ввиду, говоря про "высокий порог вхождения".

Дык - правду говорят. Но поначалу мало кто верит.

Quote:
Спасибки за внимание к вопросом перепуганных Drupal' :)

Да не за что Smile

Аватар пользователя graker graker 23 сентября 2013 в 11:12

nurik2120 wrote:
Это все делается при помощи css и классов у списка! зачем коды писать и модули ставить?..

Ты имейджкеш CSS-ом прописывать собрался?

Аватар пользователя nurik2120 nurik2120 10 ноября 2015 в 11:49

ХулиGUN wrote:
"nurik2120" wrote:
Это все делается при помощи css и классов у списка! зачем коды писать и модули ставить?..

У меня вьюха выводит по 100 результатов на страницу. Мне нужно с 1 по 7 применить 1 стиль 17 и 44 вторым стилем 29 54 и 87 чтобы были 3 стилем... Ну и как ты будешь с помощью css такое делать? С учётом того, что материалы постоянно добавляются. После каждого нового материала лезть в css и дописывать каскад?

Аватар пользователя Cynicus Cynicus 23 сентября 2013 в 7:57

"ХулиGUN" wrote:
У меня вьюха выводит по 100 результатов на страницу. Мне нужно с 1 по 7 применить 1 стиль 17 и 44 вторым стилем 29 54 и 87 чтобы были 3 стилем... Ну и как ты будешь с помощью css такое делать? С учётом того, что материалы постоянно добавляются. После каждого нового материала лезть в css и дописывать каскад?

.classname:nth-child(-n+7){}
.classname:nth-child(17){}
и т.д.
Аватар пользователя nurik2120 nurik2120 23 сентября 2013 в 11:09

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

Аватар пользователя nurik2120 nurik2120 23 сентября 2013 в 11:26

разве нельзя собрать такую сборку :
1 вывести все изображения самым большим стилем
2 дописать css что то типа :

.views-row-1 img,
.views-row-2 img,
.views-row-3 img{
первый стиль
это не обязательно писать т.к. стиль будет передаваться через вьюху
}

.views-row-4 img,
.views-row-5 img,
.views-row-6 img{
стиль второй
тут картинка меньшего размера чем оригинальный размер
}

.views-row-7 img,
.views-row-8 img,
.views-row-9 img{
стиль третий
и тут картинка меньшего размера
}

Аватар пользователя graker graker 23 сентября 2013 в 12:15

nurik2120 wrote:
разве нельзя собрать такую сборку :
1 вывести все изображения самым большим стилем
2 дописать css что то типа

А если стили непропорциональные? А если обрезку надо делать разную или повороты? CSS-ом все это будешь прикручивать, да?

Спрашивалось - как прикрутить разные стили к полю имейджа. Не как к разным строкам вьюхи css добавить, а как прикрутить разные стили. В общем виде. Нешто кажется что все такие тупые и не могут догадаться картинку css-ом уменьшить, что надо некропостить - только чтобы об этом сказать?

Аватар пользователя nurik2120 nurik2120 23 сентября 2013 в 11:42

читайте второй комент

"Для пары рюшек я хочу нагромоздить много-много всего, пирамиду целую из модулей и запросов - а ведь это лишние запросы, а потом говорят, что Друпал - неповоротливый и громоздкий.

А вообще без темизации не обойтись, уже поняла. Но это ох как сложно, тем более, если не программист. Нашла похожий, но не решенный вопрос, идеально мне подходящий drupal.ru/node/98925 - но у меня тоже ничего не вышло, запуталась с этими шаблонами. "

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