magento -- 可配置产品的选项如何默认选中第一项

 

How to make configurable options autoselected on configurable product view page

 

If you ever tried to do anything with Magento configurable products view page, most likely you needed changes in  /js/varien/product.js in case you wanted to manipulate dropdowns.

This will be one of the ways to do it.

Basically, what we need to do in order to make initial selection of a product is the following:

Open this file: /app/design/frontend/default/your_theme/template/catalog/product/view/type/options/configurable.phtml

Right below

 

var spConfig = new Product.Config(< ?php echo $this->getJsonConfig() ?>); 

 

add this JavaScript code:

 

//we create new function
spConfig.setInitialState = function(dropdown_id)
{
//select dropdown
var dropdown = $(dropdown_id);
//remove empty option from dropdown so it is not selectable after initial selection
dropdown[0].remove();
//change selections in dropdowns
for(index = 0; index < dropdown.length; index++)
{
if(dropdown[index].value != "")
{
dropdown.selectedIndex = index;
var element = dropdown;
var event = 'change';
//fire events
if(document.createEventObject)
{
var evt = document.createEventObject();
return element.fireEvent('on'+event,evt)
}
else
{
var evt = document.createEvent("HTMLEvents");
evt.initEvent(event, true, true );
return !element.dispatchEvent(evt);
}
}
}
};
<?php foreach($_attributes as $_attribute): ?>
spConfig.setInitialState("attribute< ?php echo $_attribute->getAttributeId() ?>")
< ?php endforeach; ?> 

 

That’s it. I hope you can find this usable, however don’t use it on production site without extensive testing.

As you can see, all prototype functions in Magento (and in general) can be added as new into already existing class.

Same way you could override existing methods in existing classes.

I have coded this feature for the purpose of this article and I’m not claiming that it is production ready. It is only for informative purposes.

 

原文链接地址:http://inchoo.net/ecommerce/magento/how-to-make-configurable-options-autoselected-on-configurable-product-view-page/

 

 

时间: 2024-10-28 03:23:18

magento -- 可配置产品的选项如何默认选中第一项的相关文章

默认值-extjs4 combobox默认选中第一个(急)

问题描述 extjs4 combobox默认选中第一个(急) 网上方法都试了一遍,没一个管用的··· 我前台采用的是mvc架构的代码,但是无论是给combo指定value,或者给store添加监听load事件,还是给combo添加监听afterRender事件,结果页面上的combobox显示的都是value值,而不是相应的显示值: 另外,我的store是采用remote数据源; 快疯了···哪个大神指教一下! 贴代码: //store Ext.define("MB.store.ChannelS

magento -- 可配置产品页获得所属简单产品的库存

想在产品页显示可配置产品所属的简单产品的库存,解决方案如下:   打开文件mage/catalog/block/product/view/type/configurable.php,大概在85行可以找到如下代码:   foreach ($this->getAllowAttributes() as $attribute) { $productAttribute = $attribute->getProductAttribute(); $attributeValue = $product->

新手请教关于combobox默认选中一项的问题

问题描述 在(C#)WINFORM中,我已经实现了将combobox下拉控件绑定显示某个表字段(产品类型),现在根据要求:当修改某一个产品记录时,要先显示出该一个产品记录属于那个产品类型,就要显示出所有产品类型(这个绑定显示没问题),然后显示该产品原来是那个产品类型,就是COMBOBOX必须定位选中到产品原来的类型.比如:产品类型有:食品.小吃.烟酒等.某个产品名称=中华,产品类型号=1002:现在就是要让COMBOBOX默认选中显示:烟酒一项.(因为中华香烟属于烟酒类)但最大的问题是:如果显示

从另一页面显示复选框默认选中状态

问题描述 从弹出的子窗口选择复选框,把其值传回文本框中,当再次点击文本框时,弹出复选框,并且文本框里的值在复选框中是默认选中状态的!现在如何解决当点击文本框时,弹出的复选框选项是默认选中的!运行图如下:代码如下:编辑页面jsp:从上图1弹出字窗口页面: 解决方案 解决方案二:方法很多:1.传参数获取,模式窗口等有传参2.就是打开的窗口去获取opener中的控件值例如:A:textArea--->id=areId---->value=2,3,4B:被打开的用opner获取textArea的值然后

magento -- 如何修改产品列表默认排序

magento的产品在列表页默认是按升序排列,也就是说先添加的产品显示在最前面,这就导致页面上总是看到老产品,而新添加的却要翻页才能看到.想让最新添加的排最前面需要修改文件,方式如下:       打开文件/app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php,找到  /**      * Default direction      *      * @var string      */ protected $_direction

可配置产品(ConfigurableProduct)的业务和例子

1. 什么是可配置产品? 可配置产品即由客户选择该主产品所包含的的各种配置或者组件,组成一个类似产品包的http://www.aliyun.com/zixun/aggregation/11168.html">组合产品,但是每样产品均是隐含在主产品之内,而不是独立的.购买时按最终组合的主产品进行计价和发货. 可配置产品又称为个性化配置产品.客户定制产品等.英文名有:Configurable Product.Customize Buy等. 比如购买一台电脑,允许客户在线DIY,在指定范围内自行

安卓项目如何设置才能实现在应用安装完后默认选中后台运行选项

问题描述 安卓项目如何设置才能实现在应用安装完后默认选中后台运行选项 如题: 解决方案 终于解决这个问题了,此问题解决方法是.必需和系统厂商合作,让你的app成为系统的白名单用户. 解决方案二: 自己顶一下,自己顶一下 解决方案三: 你的手机是什么,莫非是Android 5? 如果是谷歌倒腾出来的,可以去Android developer官网看看,或许谷歌真有说明呢 如果是非谷歌原生系统,是第三方rom,比如奇葩的小米系统(对于这种奇葩屌炸天的系统只能呵呵了)

magento -- 结账时默认选中其中一种配送方式

用Magento给国内用户做中文站,各种各样的需求都会有,一个客户要求前台结账时某一种快递方式是默认选中的,作为推荐使用的一种.举个例子,前台可以选择申通.圆通和顺丰作为快递方式,客户会要求申通是默认选中的,这样既对自己有利,也方便客户. 下面是修改方案: 打开文件/template/checkout/onepage/shipping_method/available.phtml,找到如下代码 <input name="shipping_method" type="ra

magento 开启solr 产品列表属性筛选无效

magento 开启solr 产品列表属性筛选无效 ,solr layered navigation 不起作用.比如价格属性筛选等  一:debug了一段时间,发现solr返回的$this->_searchedEntityIds = &$ids;  被执行两次,也就double sql, 结果是GA造成个collection 复用,产品list页面调用getLoadedProductCollection $_productCollection = Mage::getBlockSingleto