【问题标题】:Can I make the images in the product view of Magento have a set width, but a fluid height?我可以让 Magento 产品视图中的图像具有固定的宽度,但具有可变的高度吗?
【发布时间】:2015-06-24 18:42:57
【问题描述】:

我正在为一家艺术画廊开发一个网站,因此他们所有的产品图片都有不同的宽度和高度,具体取决于艺术作品。我希望图像每次都以 630 像素宽显示,但根据图像,在页面下方延伸的时间比其他图像长。目前,我知道我可以从位于

的 media.php 文件中调整产品图像的 $bigImageX 和 $bigImageY

/app/design/frontend/default/theme706/template/ecommerceteam/cloud-zoom/catalog/product/view

但这仅允许我设置特定的宽度高度。如果我只设置高度,它会缩小,使宽度与高度相同。

<div class="product-img-box">
    <script type="text/javascript" src="http://citizen.bluelotuscreative.com/skin/frontend/default/theme706/js/klass.min.js"></script>
    <script type="text/javascript" src="http://citizen.bluelotuscreative.com/skin/frontend/default/theme706/js/code.photoswipe.jquery-3.0.5.js"></script>


    <div class="product-box-customs">
        <p class="product-image">
        <img src="http://citizen.bluelotuscreative.com/media/catalog/product/cache/1/image/630x630/9df78eab33525d08d6e5fb8d27136e95/placeholder/default/Citizen_Atelier_-_Ashley_Woodson_Bailey_2__2.jpg" alt="Test Product" title="Test Product" />    </p>

    </div>
</div>

$bigImageX  = 630;
$bigImageY = ???;

<div class="product-box-customs">
    <?php if ($product->getImage() != 'no_selection' && $product->getImage()): ?>

    <p class="product-image">
        <a  href='<?php echo $this->helper('catalog/image')->init($product, 'image')->resize($bigImageWidth, $bigImageHeight);?>' class = 'cloud-zoom' id='zoom1' rel="<?php echo implode($config, ',');?>">
            <img class="big" src="<?php echo $this->helper('catalog/image')->init($product, 'image')->resize($bigImageX, $bigImageY);?>" alt='' title="<?php echo $this->htmlEscape($this->getImageLabel());?>" />
        </a>
    </p>

    <?php else: ?>
    <p class="product-image">
        <?php
        $_img = '<img src="'.$this->helper('catalog/image')->init($product, 'image')->resize($bigImageX, $bigImageY).'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
        echo $outputHelper->productAttribute($product, $_img, 'image');
        ?>
    </p>

【问题讨论】:

  • 您可以发布模板代码,因为这是自定义模板吗?
  • 嘿,我添加了代码。

标签: php html image magento


【解决方案1】:

替换:

$this->helper('catalog/image')->init($product, 'image')->resize($bigImageWidth, $bigImageHeight);

有了这个:

$this->helper('catalog/image')->init($_product, 'image')
->constrainOnly(TRUE)
->keepAspectRatio(TRUE)
->keepFrame(FALSE)
->resize($bigImageWidth,null);

【讨论】:

  • 非常感谢!我现在可以停止用头撞墙了。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多