我想从所有产品视图的左栏中移动product.info.media
块。catalog.xml
为了实现这一点,我在local.xml
文件中添加了两行:
<catalog_product_view>
<reference name="left">
<block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml"/>
</reference>
<reference name="product.info">
<action method="unsetChild"><child>media</child></action>
</reference>
</catalog_product_view>
media.phtml 是二进制文件,与 1.7.0.2 版本的 magento 中的默认文件相同。
奇怪的是,网页上的产品图片有这样的代码:
<img id="image" src="path/to/image.jpg" alt="" title="" style="position: relative; left: 0px; width: 220px; top: 215px;">
为什么要为 top 定义样式?!由于这种样式是在元素内部定义的,我什至无法用 css 更改它。谁能解释magento的这种行为?
media.phtml 中创建此内容的行如下所示:
$_img = '<img id="image" src="'.$this->helper('catalog/image')->init($_product, 'image').'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
echo $_helper->productAttribute($_product, $_img, 'image');
他们将我带到app/code/core/Mage/Catalog/Helper/Output.php
了 productAttribute 函数的定义位置。但为什么看在上帝的份上是顶级风格呢?这根本没有意义。如果我想设置它,我会使用 css。
提前致谢。