我在我的一个网站上使用 magento 1.5.0.1。在这种情况下,每当一个人将鼠标悬停在网格视图或列表视图中的图像上时,就会弹出一个更大的图像窗口。有没有办法我可以禁用它并摆脱产品视图中的缩放功能
3 回答
这不是 Magento 的核心功能,因此将安装第 3 方扩展,或者更简单地说,正在加载额外的 JavaScript 和 CSS 文件。由于我无法进一步了解您的设置,因此我只能提供一些一般性帮助...
第 3 方扩展
如果扩展的唯一目的是在产品列表块中提供缩放功能,那么我会简单地禁用或完全删除它。如果它提供您需要的产品缩放以外的其他功能,那么您可能需要调整模块以满足您的需求。
如果您不知道模块名称,请查看 app/etc/modules 下的源代码作为起点。在这里,您将看到所有已安装模块的列表 xml 文件。如果您可以识别模块,则可以通过编辑 xml 文件中的活动节点来禁用它:
从:
<active>true</active>
至:
<active>false</active>
然后清除缓存。
如果您无法从那里识别它,请查看管理部分以获取一些线索 - 大多数模块将提供一些配置选项。
正在加载其他 JS 和 CSS 文件
如果只是为了提供此功能而加载了一些额外的 JS 和 CSS 文件。您必须查看主题中的 layout.xml 文件:
app/design/your_package/your_theme/layout
有几种不同的方法可以包含 js 和 css 文件,因此您将寻找类似于以下内容之一的内容:
<action method="addJs"><script>js/yourjs.js</script></action>
<action method="addItem"><type>js</type><name>js/yourjs.js</name></action>
<action method="addItem"><type>skin_js</type><name>js/yourjs.js</name></action>
如果您可以找到负责包含 js 的节点,则只需将其删除。
转到模板/目录/产品/视图/media.phtml
找到这段代码:
<a onclick="popWin('<?php echo $this->helper('catalog/image')->init($_product, 'image') ?>', 'gallery', 'width=520,height=480,left=50,top=50,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;" href="#">
<img id="image" title="<?php echo $this->htmlEscape($_product->getName()) ?>" src="<?php echo $this->helper('catalog/image')->init($_product, 'image')->resize(250,250); ?>" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" />
</a>
并将其替换为:
<a href="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'image', $_image->getFile()); ?>" title="<?php echo $_product->getName();?>" onclick="$('image').src = this.href; return false;"> <img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" /></a>
谢谢你。这是非常有用的代码。
<a href="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'image', $_image->getFile()); ?>" title="<?php echo $_product->getName();?>" onclick="$('image').src = this.href; return false;">
<img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" />
</a>