创建多行产品滑块

时间:2014-10-30 21:10:58

标签: magento php

我使用的是magento,我的主页上有一个新的产品滑块,显示新产品,但它只有一行,我想在我的主页上确定它是否有2行或更多行但我不知道我需要在.phtml文件中更改什么,所以它是2行而不是1行。 如果你去parts2u.nl,你可以看到我在Nieuwe Artikelen下面的意思,这是我正在谈论的新产品滑块。

这是代码:

<?php
/**
 *
 */
?>
<?php
    $_productCollection = $this->getProductCollection();
?>
<?php if ($_productCollection && ($_collectionSize = $_productCollection->getSize())): ?>
<?php

    $theme = $this->helper('fortis');
    $helpLabels = $this->helper('fortis/labels');
    $helpTemplate = $this->helper('fortis/template');
    $helpImg = $this->helper('infortis/image');
    $sliderClasses = '';
    $gridClasses = '';

    //Default image size
    $imgWidth = 168;
    $imgHeight = 168;

    //Image aspect ratio
    if ($theme->getCfg('category/aspect_ratio'))
    {
        $imgHeight = 0; //Height will be computed automatically (based on width) to keep the aspect ratio
    }

    //Basic slider block parameters
    //--------------------------------------------------------------
    $isResponsive = $this->getIsResponsive(); //param: is_responsive
    $breakpoints = $this->getBreakpoints(); //param: breakpoints
    $showItems = $this->getShowItems(); //param: show_products
    if (!$showItems)
    {
        $showItems = 5; //IMPORTANT: set default number of visible products
    }

    //Slider timeout (if set: automatic slideshow)
    $timeout = $this->getTimeout(); //param: timeout
    if ($timeout === NULL) //Param not set
    {
        $timeout = intval($theme->getCfg('product_slider/timeout'));
    }
    else
    {
        $timeout = intval($timeout);
    }

    //Slider initial delay
    $initDelay = intval($this->getInitDelay()); //param: init_delay

    //Number of items that should move on animation
    $move = $this->getMove(); //param: move
    if ($move === NULL) //Param not set
    {
        $move = intval($theme->getCfg('product_slider/move_items'));
    }
    else
    {
        $move = intval($move);
    }

    //Additional slider classes
    //--------------------------------------------------------------
    if($isResponsive)
    {
        $sliderClasses .= ' itemslider-responsive';
    }

    if ($_collectionSize == 1)
    {
        $sliderClasses .= ' single-item';
    }

    //Additional grid classes
    //--------------------------------------------------------------
    //Size of grid elements
    $size = $this->getSize(); //param: size
    if ($size)
    {
        $gridClasses = ' ' . $size;
    }
    else
    {
        if ($showItems >= 8)
        {
            $gridClasses = ' size-xs';
        }
        elseif ($showItems >= 6)
        {
            $gridClasses = ' size-s';
        }
    }

    //Align elements to the center
    if ($this->getCentered()) //param: centered
    {
        $gridClasses .= ' centered';
    }

    //Set equal height for all items
    if ($this->getEqualHeight()) //param: equal_height
    {
        $gridClasses .= ' equal-height';
    }

?>

<h3 class="section-title padding-right"><?php echo $this->getBlockName(); ?></h3>
<div class="itemslider-wrapper new-itemslider-wrapper">

    <div class="nav-wrapper gen-slider-arrows1 gen-slider-arrows1-pos-top-right"></div>

    <div class="itemslider itemslider-horizontal<?php if($sliderClasses) echo $sliderClasses; ?>">
        <ul class="slides products-grid<?php if($gridClasses) echo $gridClasses; ?>">
            <?php foreach ($_productCollection->getItems() as $_product): ?>
                <li class="item">

                    <div class="product-image-wrapper" style="max-width:<?php echo $imgWidth; ?>px;">

                        <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true); ?>" class="product-image">

                            <img src="<?php echo $helpImg->getImg($_product, $imgWidth, $imgHeight, 'small_image'); ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true); ?>" />

                            <?php if ($theme->getCfg('category/alt_image')): ?>
                                <?php echo $theme->getAltImgHtml($_product, $imgWidth, $imgHeight); ?>
                            <?php endif; ?>

                            <?php echo $helpLabels->getLabels($_product); //Product labels ?>
                        </a>

                        <?php //Add-to links
                            if ($theme->getCfg('category_grid/display_addtolinks') != 0 
                                && $theme->getCfg('category_grid/addtolinks_simple'))
                            {
                                if ($theme->getCfg('category_grid/display_addtolinks') == 1) //Display on hover
                                {
                                    echo $helpTemplate->getCategoryAddtoLinksComplex_2(
                                    $_product, $this->getAddToCompareUrl($_product), 'addto-links-icons addto-onimage visible-onhover');
                                }
                                else //Always display
                                {
                                    echo $helpTemplate->getCategoryAddtoLinksComplex_2(
                                    $_product, $this->getAddToCompareUrl($_product), 'addto-links-icons addto-onimage');
                                }
                            }
                        ?>

                    </div> <!-- end: product-image-wrapper -->

                    <h3 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $this->escapeHtml($_product->getName()) ?></a></h3>
                    <?php echo $this->htmlEscape($_product->getSku()); ?>

                    <?php echo $this->getReviewsSummaryHtml($_product, 'short') ?>

                    <?php echo $this->getPriceHtml($_product, true, '-new') ?>
                    <div class="actions">
                        <?php if($_product->isSaleable()): ?>

                            <?php if ($this->getHideButton() == false): ?>
                                <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
                            <?php endif; ?>

                        <?php else: ?>

                            <?php if ($this->getHideButton() == false): ?>
                                <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
                            <?php endif; ?>

                        <?php endif; ?>

                        <?php //Add-to links
                        if ($theme->getCfg('category_grid/display_addtolinks') != 0 && !$theme->getCfg('category_grid/addtolinks_simple'))
                        {
                            if ($theme->getCfg('category_grid/display_addtolinks') == 1) //Display on hover
                                echo $helpTemplate->getCategoryAddtoLinks($_product, $this->getAddToCompareUrl($_product), 'addto-gaps-right addto-texticons display-onhover');
                            else //Always display
                                echo $helpTemplate->getCategoryAddtoLinks($_product, $this->getAddToCompareUrl($_product), 'addto-gaps-right addto-texticons');
                        }
                        ?>
                    </div>
                </li>
            <?php endforeach; ?>
        </ul> <!-- end: slides -->
    </div> <!-- end: itemslider -->

</div> <!-- end: new-itemslider-wrapper -->
<script type="text/javascript">
//<![CDATA[
    jQuery(function($) {

        $('.new-itemslider-wrapper .itemslider').flexslider({
            namespace: "",
            animation: "slide",
            easing: "easeInQuart",

            <?php if ($timeout): ?>
                slideshowSpeed: <?php echo $timeout; ?>,
                animationLoop: true,
            <?php else: ?>
                slideshow: false,
                animationLoop: false,
            <?php endif; ?>

            <?php if ($initDelay): ?>
                initDelay: <?php echo $initDelay; ?>,
            <?php endif; ?>

            <?php if ($speed = intval($theme->getCfg('product_slider/speed'))): ?>
                animationSpeed: <?php echo $speed; ?>,
            <?php endif; ?>

            pauseOnHover: true,
            controlNav: false,
            controlsContainer: ".new-itemslider-wrapper .nav-wrapper",

            itemWidth: 188,
            <?php if ($showItems): ?>
                minItems: <?php echo $showItems; ?>,
                maxItems: <?php echo $showItems; ?>,
            <?php endif; ?>

            move: <?php echo $move; ?>
        })
        <?php if ($breakpoints): ?>
            .data("breakpoints", [ <?php echo $breakpoints; ?> ] )
        <?php elseif ($showItems): ?>
            .data("showItems", <?php echo $showItems; ?> )
        <?php endif; ?>
        ; //IMPORTANT: don't remove semicolon!

    });
//]]>
</script>
<?php endif; ?>

1 个答案:

答案 0 :(得分:0)

这似乎是一个令人难以置信的复杂实现。我建议你认真投入一些时间来构建自己的滑块,而不是试图破解它以你想要的方式工作。超级麦片。