2014-05-19 98 views
0

我在Magento的Gd2.php的顶部添加了以下内容,以在目录图像周围创建一个红色边框,但我没有获得边框。我错过了什么吗?drawBorder函数在Magento中不起作用

/* 
* Function to create a border around an image 
*/ 
function drawBorder($image_name, $r = 255, $g = 0, $b = 0, $thickness = 30) 
{ 
$image = ImageCreateFromJPEG($image_name); 
$color = ImageColorAllocate($img, $r, $g, $b); 

$x1 = 0; 
$y1 = 0; 
$x2 = ImageSX($image) - 1; 
$y2 = ImageSY($image) - 1; 

for($i = 0; $i < $thickness; $i++) 
{ 
ImageRectangle($image, $x1++, $y1++, $x2--, $y2--, $color); 
} 

return $image; 
} 

回答

1

您可以使用CSS来做到这一点。下面添加类在你的styles.css文件

.ImageBorder 
{ 
    border: 3px solid; 
    color: #FF0000; 
} 

在你list.phtml,做到像下面与您<img>标签

<img class="ImageBorder" src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->keepAspectRatio(true)->keepFrame(true); ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /> 
+0

哪里会增加内Magento的第二个部分?到相同的文件或在list.phtml? – user3647897

+0

如果您只是想要在您的产品目录图片周围放置边框,则可以通过css进行操作。 – Slimshadddyyy

+0

我无法使用CSS来添加边框,因为图像具有keepFrame(true),它可以计算图像尺寸的空白区域并将其设置为正方形。这就是为什么我需要在进行keepFrame计算之前使用php添加边框。 – user3647897