Background в зависимости от слайда.

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

Аватар пользователя Torvild Torvild 8 января 2013 в 18:03

Привет всем!

Подскажите нестандартное решение.
Есть слайдшоу организованное через views_slideshow,есть тип материала который помимо других полей имеет поле background(textfield),который этот слайдер прокручивает.
Необходимо чтобы при смене слайда менялся background региона где находится этот слайдер(менялся на указанный при создании слайда в соотв.поле).

Именно D6...

Комментарии

Аватар пользователя IPlayer IPlayer 8 января 2013 в 18:48

Что называется "регионом слайда" в Вашей терминологии? В этом "регионе" есть другой контент кроме слайда?

Аватар пользователя Torvild Torvild 8 января 2013 в 19:57

"iGusev" wrote:

Нестандартные решения пишутся руками

Не спорю,но прошу направить на Путь Истинный!

"IPlayer" wrote:
Что называется "регионом слайда" в Вашей терминологии? В этом "регионе" есть другой контент кроме слайда?

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

"Pilotsamoleta" wrote:

Используйте css - свойство z-index. Думаю разжевывать не надо.

Не то.

Можно попробовать вывести значение поля в page.tpl.php

<?php
<div class="region-slideshow" style=' background:# <?php print $variable_background; ?> '>
  <?
php print $slideshow?>
</div>
?>

Но так оно не будет меняться динамически,с прокруткой слайда...

Аватар пользователя Torvild Torvild 8 января 2013 в 19:56

"ХулиGUN" wrote:

А теперь ещё раз и по-русски? Что в должно быть в каждом слайде из слайдшоу? что должно быть в background(textfield)?
Неизвестно чего Вы добиваетесь, но это решается либо через токены, либо чисто js

В каждом слайде набор полей: картинка,заголовок,текст и background(6 символов,например: ff0000),значение которого должно подставляться в стиль региона динамически.

Аватар пользователя IPlayer IPlayer 8 января 2013 в 22:09

Раз ничего более слайд-шоу в этом регионе нет, и все таки можно ограничится неким набором цветов бэкграунда региона, то во вью делаем перезапись поля с картинкой при которой оборачиваем ее в некий div (это и будет регионом) и этому div присваиваем класс, который формируем из поля background. Т.о. Вы получите динамический класс и дальше рулите в css. Если надо прям что бы любой цвет можно было использовать в background, то наверно проще на js делать.

Аватар пользователя Pilotsamoleta Pilotsamoleta 8 января 2013 в 22:07

"Torvild" wrote:
"Pilotsamoleta" написал(а):

Используйте css - свойство z-index. Думаю разжевывать не надо.

Не то.


почему? используйте к полям верстку слоями - свойства z-index и position.

Аватар пользователя IPlayer IPlayer 9 января 2013 в 15:27

Чем не нравится вариант:

1. Во вью сначала выводите поле с кодом цвета бекграунда. Допустим [bg_color]. Скрываете его из вывода (чекбоксом)
2. Вторым выводите поле с картинкой - [image_field]. Ставите чекбокс "заменить выводимое поле значением"
3. В появившемся окошке пишете: <div class="my-wrapper" style="background:[bg_color]">[image_field]</div>
4. В css допиливаете размеры дива-обертки и позиционируете внутри него слайд

Аватар пользователя iGusev iGusev 9 января 2013 в 15:28

"IPlayer" wrote:
1. Во вью сначала выводите поле с кодом цвета бекграунда. Допустим [bg_color]. Скрываете его из вывода (чекбоксом)
2. Вторым выводите поле с картинкой - [image_field]. Ставите чекбокс "заменить выводимое поле значением"
3. В появившемся окошке пишете: [image_field]
4. В css допиливаете размеры дива-обертки и позиционируете внутри него слайд

Все верно написал, я обычно так и делаю + jquery cycle для слайдинга вешаю на .view-content