Авто изменение размера для Products.Carousel - PullRequest
2 голосов
/ 17 марта 2011

Я пробую продукты. Карусель.Я создал карусель для своей домашней страницы и добавил два баннера, которые автоматически поворачиваются через n секунд.

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

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

Любые идеи покак я могу обойти это?

Ответы [ 2 ]

2 голосов
/ 17 марта 2011

Вы должны иметь возможность задать карусели переменную ширину, переопределив Products.Carousel.viewlet (либо в коде файловой системы, либо в portal_view_customizations).Возможно, вы захотите основать ширину карусели на ширине другого элемента, например, #content div:

<div tal:condition="view/available"
    tal:attributes="id view/element_id;"
    class="carousel">
    <tal:banners tal:define="banners view/banners;"
        tal:condition="banners"
        tal:content="structure banners">
        Banners
    </tal:banners>
    <tal:pager tal:define="pager view/pager;"
        tal:condition="pager"
        tal:content="structure pager">
        Pager
    </tal:pager>
    <script type="text/javascript" charset="utf-8" tal:content="string:
        (function ($$) {
            $$('#${view/element_id}').ploneCarousel({
                height: ${view/height},
                width: $$('#content').width(),
                transition: '${view/transition}',
                speed: ${view/speed},
                delay: ${view/delay}
            });
        })(jQuery);
    ">
    </script>
</div>
0 голосов
/ 17 марта 2011

У меня нет ответа, только идеи.

  • Вы можете установить класс в области баннера, ширина которого будет равна ширине основного содержимого?
  • можете ли вы использовать% ширину?

или злой, но успешный, метод, который я использовал:

  • флеш-баннер с использованием swfobject.js
...