2

Products.Carousel を試しています。ホームページ用のカルーセルを作成し、n 秒後に自動的に回転する 2 つのバナーを追加しました。

問題は、カルーセル設定で幅と高さを設定するか、それらの値を空白のままにして最初のバナーに使用することになっていることです。

私が望んでいたのは、カルーセルがメイン コンテンツ エリアと同じ幅を使用することでした。固定値を設定しようとしましたが、もちろん、異なる解像度では機能しません (バナーが適切なポートレット領域に侵入したり、メイン コンテンツの幅に対して短すぎたりする可能性があります)。

これを回避する方法についてのアイデアはありますか?

4

2 に答える 2

2

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>
于 2011-03-17T13:18:54.343 に答える
0

答えはありません。アイデアだけです。

  • メイン コンテンツ領域と同じ幅を設定するクラスをバナー領域に設定できますか?
  • % 幅を使用できますか?

または、私が使用した邪悪だが成功した方法:

  • swfobject.js を使用したフラッシュ バナー
于 2011-03-17T12:51:59.737 に答える