Thursday, November 12, 2015
I Started Forum for Magento2
Hi
Guys i started working on magento2 you guys can follow me on
click Here
Tuesday, July 14, 2015
Early Magento Session Instantiation or PHPSESSID in Magento
While doing security fix in magento we come across one unknown session is getting create which name has php default session PHPSESSID
after debugging we come to when customer session is int at that time we are not passing session name
so to block PHPSESSID need to add else condition in Mage_Core_Model_Session_Abstract_Varien::start()
else{ return $this; }
got some clue from http://alanstorm.com/magento_sessions_early but as per this block they are doing same change in event level i did it in core abstract file itself
if (!empty($sessionName)) { $this->setSessionName($sessionName); }else{ return $this; }
else{ return $this; }
got some clue from http://alanstorm.com/magento_sessions_early but as per this block they are doing same change in event level i did it in core abstract file itself
Thursday, May 7, 2015
Magento Grouped Products Containing Associated Configurable Products
for http://brimllc.com/2010/12/magento-grouped-products-containing-associated-configurable-products/ in group.php add below code if($subProduct->getTypeId() == 'configurable' ){ $buyRequestconfig['super_attribute']=$buyRequest['super_attribute'][$subProduct->getId()]; $buyRequestconfig['product']=$subProduct->getId(); //$buyRequestconfig['product_id']=$subProduct->getId(); $buyRequestconfig['qty'] = $buyRequest['super_group'][$subProduct->getId()]; $buyRequestconfig['form_key'] = $buyRequest['form_key']; $buyRequestconfig['uenc'] = $buyRequest['uenc']; //$cart = Mage::getModel("checkout/cart"); //$cart->addProduct($subProduct, $buyRequestconfig); //print_r($buyRequest); exit; /* $products[] = $subProduct->getTypeInstance(true) ->_prepareProduct( $buyRequestconfig, $subProduct, $processMode ); */ $subProduct = $subProduct->getTypeInstance(true)->getProductByAttributes($buyRequestconfig['super_attribute'], $subProduct); $productsInfo[$subProduct->getId()]=1; } and also in configurable.phtml <?php /** * This template handles individual configurable products that have been associated with a grouped product. */ ?> <?php $_product = $this->getProduct(); $_attributes = Mage::helper('core')->decorateArray($this->getAllowAttributes()); $_formId = "product_addtocart_wrapper_".$_product->getId(); $_formJsVar = "productAddToCartForm".$_product->getId(); ?> <div class="price-box"><?php //echo $this->getPriceHtml($_product); ?></div> <div id="<?php echo $_formId ?>"> <h3><?php echo $_product->getName() ?></h3> <div class="no-display"> <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" /> <input type="hidden" name="related_product" id="related-products-field" value="" /> </div> <?php if ($_product->isSaleable() && count($_attributes)):?> <dl> <?php foreach($_attributes as $_attribute): ?> <dt><label><?php echo $_attribute->getLabel() ?><span class="required"> *</span></label></dt> <dd<?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>> <select name="super_attribute[<?php echo $_product->getId() ?>][<?php echo $_attribute->getAttributeId() ?>]" id="attribute<?php echo $_attribute->getAttributeId() ?>" class="go-qty-required-entry required-entry super-attribute-select"> <option><?php echo $this->__('Choose an Option...') ?></option> </select> </dd> <?php endforeach; ?> </dl> <script type="text/javascript"> var spConfig = new Product.GroupedConfig(<?php echo $this->getJsonConfig() ?>, <?php echo $_product->getId() ?>); spConfig.setOptionsPrice(new Product.OptionsPrice(<?php echo Mage::helper('groupedconfigured')->getProductViewJsonConfig($_product) ?>)); </script> <?php echo $this->getPriceHtml($_product) ?> <input id="super_group_<?php echo $_product->getId(); ?>" type="hidden" name="super_group[<?php echo $_product->getId() ?>]" maxlength="12" value="1<?php //echo $_item->getQty()*1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" /> <script type="text/javascript"> //<![CDATA[ var <?php echo $_formJsVar ?> = new VarienForm('<?php echo $_formId ?>'); <?php echo $_formJsVar ?>.submit = function(){ if (this.validator.validate()) { this.form.submit(); } }.bind(<?php echo $_formJsVar ?>); //]]> </script> <?php endif;?> </div> which will support magento1.9
Monday, April 13, 2015
Concatenate two fields in admin grid with filter in magento
i override Mage/Adminhtml/Block/Sales/Order/Grid.php to local and
You can use this technique for any Magento core file. This way, you can avoid overriding the core file. This way, you can also avoid the risk of over writing your custom code by the system during the Magento system upgrade operation.
Now, go for the main action. Open the Grid.php file from its new local directory and look at the following block of code carefully:
Now take a deep look at the following portion from the above code section. You’ll understand that this following section is the newly added custom code:protected function _getCollectionClass() { return 'sales/order_grid_collection'; } protected function _prepareCollection() { $collection = Mage::getResourceModel($this->_getCollectionClass()); /* adding customer name section */ $customerFirstNameAttr = Mage::getSingleton('customer/customer')->getResource()->getAttribute('firstname'); $customerLastNameAttr = Mage::getSingleton('customer/customer')->getResource()->getAttribute('lastname'); $collection->getSelect() ->joinLeft( array('cusFirstnameTb' => $customerFirstNameAttr->getBackend()->getTable()), 'main_table.customer_id = cusFirstnameTb.entity_id AND cusFirstnameTb.attribute_id = '.$customerFirstNameAttr->getId(). ' AND cusFirstnameTb.entity_type_id = '.Mage::getSingleton('customer/customer')->getResource()->getTypeId(), array('cusFirstnameTb.value') ); $collection->getSelect() ->joinLeft( array('cusLastnameTb' => $customerLastNameAttr->getBackend()->getTable()), 'main_table.customer_id = cusLastnameTb.entity_id AND cusLastnameTb.attribute_id = '.$customerLastNameAttr->getId(). ' AND cusLastnameTb.entity_type_id = '.Mage::getSingleton('customer/customer')->getResource()->getTypeId(), array('customer_name' => "CONCAT(cusFirstnameTb.value, ' ', cusLastnameTb.value)") ); /* end adding customer name section */ $this->setCollection($collection); return parent::_prepareCollection(); }
in the admin sales order grid with the name “customer_name” by inserting the following code snippet in the _prepareColumns() method of the Mage_Adminhtml_Block_Sales_Order_Grid class :/* adding customer name section */ $customerFirstNameAttr = Mage::getSingleton('customer/customer')->getResource()->getAttribute('firstname'); $customerLastNameAttr = Mage::getSingleton('customer/customer')->getResource()->getAttribute('lastname'); $collection->getSelect() ->joinLeft( array('cusFirstnameTb' => $customerFirstNameAttr->getBackend()->getTable()), 'main_table.customer_id = cusFirstnameTb.entity_id AND cusFirstnameTb.attribute_id = '.$customerFirstNameAttr->getId(). ' AND cusFirstnameTb.entity_type_id = '.Mage::getSingleton('customer/customer')->getResource()->getTypeId(), array('cusFirstnameTb.value') ); $collection->getSelect() ->joinLeft( array('cusLastnameTb' => $customerLastNameAttr->getBackend()->getTable()), 'main_table.customer_id = cusLastnameTb.entity_id AND cusLastnameTb.attribute_id = '.$customerLastNameAttr->getId(). ' AND cusLastnameTb.entity_type_id = '.Mage::getSingleton('customer/customer')->getResource()->getTypeId(), array('customer_name' => "CONCAT(cusFirstnameTb.value, ' ', cusLastnameTb.value)") ); /* end adding customer name section */
$this->addColumn('customer_name', array( 'header' => Mage::helper('adminhtml')->__('Customer Name'), 'index' => 'customer_name', 'filter_condition_callback' => array($this, 'customerNameFilter'), 'width' => '120px', ));
public function customerNameFilter($collection, $column){ $filterValue = $column->getFilter()->getValue(); if(!is_null($filterValue)){ $filterValue = trim($filterValue); $filterValue = preg_replace('/[\s]+/', ' ', $filterValue); $whereArr = array(); $whereArr[] = $collection->getConnection()->quoteInto("cusFirstnameTb.value = ?", $filterValue); $whereArr[] = $collection->getConnection()->quoteInto("cusLastnameTb.value = ?", $filterValue); $whereArr[] = $collection->getConnection()->quoteInto("CONCAT(cusFirstnameTb.value, ' ', cusLastnameTb.value) = ?", $filterValue); $where = implode(' OR ', $whereArr); $collection->getSelect()->where($where); } }
Thursday, February 5, 2015
Magento Auto Login and Auto Authorize for Rest API
We can skip login and authorize page when your doing rest api call in magento
we can just make it admin login and create the token by using that token and secret key we can access need rest api
for more information you can contact me
pradeep.kumarrcs67@gmail.com
+91-9916038230
Subscribe to:
Posts (Atom)