cd /var/www/html && php bin/magento setup:upgrade && php bin/magento setup:static-content:deploy && chmod -R 0777 *
Wednesday, 19 October 2016
Thursday, 22 September 2016
How to get cart item remove or empty (truncate) in magento 2
Company name :- Sbr
Module name :- Checkout
File path :- /app/code/Sbr/Checkout/etc
============= File name events.xml =====================
<?xml version="1.0"?>
<!--
/**
* @author SB , SBR
* @package Sbr_Checkout
* @copyright Copyright (c) 2015 Sbr Limited (http://www.Sbr.co.nz)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="controller_action_predispatch_checkout_cart_add">
<observer name="beforecart"
instance="Sbr\Checkout\Observer\BeforeCart"/>
</event>
</config>
=================================================
============= File name module.xml =====================
<?xml version="1.0"?>
<!--
/**
* @author SB, Sbr
* @package
* @copyright Copyright (c) 2015 Sbr
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Sbr_Checkout" setup_version="2.0.4">
</module>
</config>
======================================================
============= File name BeforeCart.php =====================
File path :- /app/code/Sbr/Checkout/Observer
<?php
namespace Sbr\Checkout\Observer;
/*
ini_set("display_errors", "On");
error_reporting(E_ALL);
*/
use Magento\Framework\Event\ObserverInterface;
class BeforeCart implements ObserverInterface {
protected $cart;
public function __construct(
\Magento\Checkout\Model\Cart $cart
) {
$this->cart = $cart;
}
public function execute(\Magento\Framework\Event\Observer $observer) {
$_objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $_objectManager->get('Magento\Store\Model\StoreManagerInterface');
$currentStore = $storeManager->getStore();
$currentStore_id = $currentStore->getId();
if($currentStore_id==1):
$count=count($this->cart->getItems());
if($count>=1){
foreach($this->cart->getItems() as $_item){
$sku=trim($_item['sku']);
if(($sku=='basic1')||($sku=='starter')||($sku=='professional')||($sku=='premium')){
$this->cart->truncate();
}
}
}
endif;
}
}
Module name :- Checkout
File path :- /app/code/Sbr/Checkout/etc
============= File name events.xml =====================
<?xml version="1.0"?>
<!--
/**
* @author SB , SBR
* @package Sbr_Checkout
* @copyright Copyright (c) 2015 Sbr Limited (http://www.Sbr.co.nz)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="controller_action_predispatch_checkout_cart_add">
<observer name="beforecart"
instance="Sbr\Checkout\Observer\BeforeCart"/>
</event>
</config>
=================================================
============= File name module.xml =====================
<?xml version="1.0"?>
<!--
/**
* @author SB, Sbr
* @package
* @copyright Copyright (c) 2015 Sbr
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Sbr_Checkout" setup_version="2.0.4">
</module>
</config>
======================================================
============= File name BeforeCart.php =====================
File path :- /app/code/Sbr/Checkout/Observer
<?php
namespace Sbr\Checkout\Observer;
/*
ini_set("display_errors", "On");
error_reporting(E_ALL);
*/
use Magento\Framework\Event\ObserverInterface;
class BeforeCart implements ObserverInterface {
protected $cart;
public function __construct(
\Magento\Checkout\Model\Cart $cart
) {
$this->cart = $cart;
}
public function execute(\Magento\Framework\Event\Observer $observer) {
$_objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $_objectManager->get('Magento\Store\Model\StoreManagerInterface');
$currentStore = $storeManager->getStore();
$currentStore_id = $currentStore->getId();
if($currentStore_id==1):
$count=count($this->cart->getItems());
if($count>=1){
foreach($this->cart->getItems() as $_item){
$sku=trim($_item['sku']);
if(($sku=='basic1')||($sku=='starter')||($sku=='professional')||($sku=='premium')){
$this->cart->truncate();
}
}
}
endif;
}
}
=================================================================
==============File name registration.php ========================
File path:- app/code/Sbr/Checkout
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Sbr_Checkout',
__DIR__
);
====================================
How to get customer data from email id in magento 2
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$customer_email=$_REQUEST['list'];
///echo $customer_email;exit;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$url = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $url->get('\Magento\Store\Model\StoreManagerInterface');
$state = $objectManager->get('\Magento\Framework\App\State');
$state->setAreaCode('frontend');
$websiteId = $storeManager->getWebsite()->getWebsiteId();
// Get Store ID
$store = $storeManager->getStore();
$storeId = $store->getStoreId();
$customerFactory = $objectManager->get('\Magento\Customer\Model\CustomerFactory');
$customer=$customerFactory->create();
$customer->setWebsiteId($websiteId);
$customer->loadByEmail($customer_email);// load customer by email address
//echo $customer->getEntityId();
//$customer->load('1');// load customer by email address
$data= $customer->getData();
$customer_id=$data['entity_id'];
$objectManager = $bootstrap->getObjectManager();
$customer_email=$_REQUEST['list'];
///echo $customer_email;exit;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$url = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $url->get('\Magento\Store\Model\StoreManagerInterface');
$state = $objectManager->get('\Magento\Framework\App\State');
$state->setAreaCode('frontend');
$websiteId = $storeManager->getWebsite()->getWebsiteId();
// Get Store ID
$store = $storeManager->getStore();
$storeId = $store->getStoreId();
$customerFactory = $objectManager->get('\Magento\Customer\Model\CustomerFactory');
$customer=$customerFactory->create();
$customer->setWebsiteId($websiteId);
$customer->loadByEmail($customer_email);// load customer by email address
//echo $customer->getEntityId();
//$customer->load('1');// load customer by email address
$data= $customer->getData();
$customer_id=$data['entity_id'];
Thursday, 15 September 2016
How to get Category Id of current product in magento
$categoryIds = $_product->getCategoryIds();
if(count($categoryIds) ){
$firstCategoryId = $categoryIds[0];
$_category = Mage::getModel('catalog/category')->load($firstCategoryId);
echo $_category->getName();
echo $_category->getId();
}
if(count($categoryIds) ){
$firstCategoryId = $categoryIds[0];
$_category = Mage::getModel('catalog/category')->load($firstCategoryId);
echo $_category->getName();
echo $_category->getId();
}
Monday, 12 September 2016
Magento Select Query
$connectionWrite = Mage::getSingleton('core/resource')->getConnection('core_read');
$resource = Mage::getSingleton('core/resource');
$tableName = $resource->getTableName('marketplace_product');
$query = 'SELECT userid FROM ' . $tableName . ' WHERE mageproductid = '.(int)$product_Id ;
$userid = $connectionWrite->fetchOne($query);
$resource = Mage::getSingleton('core/resource');
$tableName = $resource->getTableName('marketplace_product');
$query = 'SELECT userid FROM ' . $tableName . ' WHERE mageproductid = '.(int)$product_Id ;
$userid = $connectionWrite->fetchOne($query);
Thursday, 4 August 2016
Thursday, 28 July 2016
mahemto cart use on set description
===Set Description===================================
app/code/core/Mage/Sales/Model/Quote.php
public function addProductAdvanced(
after this coding :-
$items[] = $item;
$item->setDescription($_customValue);
=========================================
app/design/frontend/rwd/nassaunationalcable/template/checkout/cart/item/default.phtml
$_item->getDescription();
app/code/core/Mage/Sales/Model/Quote.php
public function addProductAdvanced(
after this coding :-
$items[] = $item;
$item->setDescription($_customValue);
=========================================
app/design/frontend/rwd/nassaunationalcable/template/checkout/cart/item/default.phtml
$_item->getDescription();
how to remove customer account dashboard links
Step 1: Go to ( yourPackage/YourTemplate/customer/account/navigation.phtml )
Step 2: Replace the below line
<?php $count = count($links); ?>
**With**
<?php $_count = count($_links); /* Add or Remove Account Left Navigation Links Here -*/
unset($_links['account']); /* Account Info */
unset($_links['account_edit']); /* Account Info */
unset($_links['tags']); /* My Tags */
unset($_links['invitations']); /* My Invitations */
unset($_links['reviews']); /* Reviews */
unset($_links['wishlist']); /* Wishlist */
unset($_links['newsletter']); /* Newsletter */
unset($_links['orders']); /* My Orders */
unset($_links['address_book']); /* Address */
unset($_links['enterprise_customerbalance']); /* Store Credit */
unset($_links['OAuth Customer Tokens']); /* My Applications */
unset($_links['enterprise_reward']); /* Reward Points */
unset($_links['giftregistry']); /* Gift Registry */
unset($_links['downloadable_products']); /* My Downloadable Products */
unset($_links['recurring_profiles']); /* Recurring Profiles */
unset($_links['billing_agreements']); /* Billing Agreements */
unset($_links['enterprise_giftcardaccount']); /* Gift Card Link */
?>
Wednesday, 27 July 2016
how to get selected drop down attribute value disply on in frontend?
$_product =Mage::getModel('catalog/product')->load($_product_ID);
echo $_product_s->getLength();
======== OR ==========
echo $_product_s->getAttributeText('length');
echo $_product->getResource()->getAttribute('length')
->getFrontend()->getValue($_product);
echo $_product_s->getLength();
======== OR ==========
echo $_product_s->getAttributeText('length');
echo $_product->getResource()->getAttribute('length')
->getFrontend()->getValue($_product);
Monday, 25 July 2016
How to call store address on static block
<p><span class="address-heading">{{config path="general/store_information/name"}}</span>
{{config path="general/store_information/address"}}<br />
<br /> {{config path="trans_email/ident_general/email"}}<br />
{{config path="general/store_information/phone"}}</p>
{{config path="general/store_information/address"}}<br />
<br /> {{config path="trans_email/ident_general/email"}}<br />
{{config path="general/store_information/phone"}}</p>
Friday, 22 July 2016
magento 2 base url and media url
$_objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $_objectManager->get('Magento\Store\Model\StoreManagerInterface');
$currentStore = $storeManager->getStore();
/*********** Base url******/
$baseUrl = $currentStore->getBaseUrl();
/*********** mediaUrl url******/
$mediaUrl = $currentStore->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
$storeManager = $_objectManager->get('Magento\Store\Model\StoreManagerInterface');
$currentStore = $storeManager->getStore();
/*********** Base url******/
$baseUrl = $currentStore->getBaseUrl();
/*********** mediaUrl url******/
$mediaUrl = $currentStore->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
Tuesday, 19 July 2016
magento cart url
$params = array(
'product'=> $_product->getId(),
Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => Mage::helper('core/url')->getEncodedUrl(),
'form_key'=>Mage::getSingleton('core/session')->getFormKey(),'_secure'=>false
);
$addToCartUrl= $this->getUrl("checkout/cart/addToCartFromList/", $params ).'?super_attribute['.$super_a_id.']='.$option['value'];
?>
'product'=> $_product->getId(),
Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => Mage::helper('core/url')->getEncodedUrl(),
'form_key'=>Mage::getSingleton('core/session')->getFormKey(),'_secure'=>false
);
$addToCartUrl= $this->getUrl("checkout/cart/addToCartFromList/", $params ).'?super_attribute['.$super_a_id.']='.$option['value'];
?>
Monday, 11 July 2016
how to cutom mail send by load templated
/app/code/local/artis/Testimonial/etc/config.xml
Add this code:-
<global>
<template>
<email>
<contacts_email_configuration_select_template_post translate="label" module="testimonial">
<label>Custom Email Template After Post Quote Request</label>
<file>email_template_after_post_request.html</file>
<type>html</type>
</contacts_email_configuration_select_template_post >
</email>
</template>
</global>
Careted this file on this path:-
app/locale/en_US/template/email/email_template_after_post_request.html
<!--@subject Testimonial submission! @-->
{{template config_path="design/email/header"}}
{{inlinecss file="email-inline.css"}}
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="action-content">
<h1>Dear Admin,</h1>
</td>
</tr>
<tr>
<td class="action-content">
<p>Name: {{var name }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Company: {{var company }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Email: {{var email }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Telephone {{var telephone }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Wire / Cable Description: {{var description }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Length: {{var length }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Date Required: {{var drequired }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Additional Questions / Comments: {{var acomments}}</p>
</td>
</tr>
</table>
{{template config_path="design/email/footer"}}
/app/code/local/Artis/Contacts/controllers/IndexController.php
==================
public function quoterequestAction()
{
$post = $this->getRequest()->getPost();
if ( $post ) {
$emailTemplate = Mage::getModel('core/email_template')->loadDefault('contacts_email_configuration_select_template_post');
$emailTemplateVariables = array();
$emailTemplateVariables = array();
$emailTemplateVariables['name'] = $post['name'];
$emailTemplateVariables['companyname'] = $post['companyname'];
$emailTemplateVariables['email'] = $post['email'];
$emailTemplateVariables['telephone'] = $post['telephone'];
$emailTemplateVariables['description'] = $post['description'];
$emailTemplateVariables['length'] = $post['length'];
$emailTemplateVariables['drequired'] = $post['drequired'];
$emailTemplateVariables['acomments'] = $post['acomments'];
//print_r($emailTemplateVariables);exit;
$emailTemplateVariables['customer_email'] = $post['email'];
$emailTemplate->getProcessedTemplate($emailTemplateVariables);
$emailTemplate->setSenderName($post['name']);
$emailTemplate->setSenderEmail($post['email']);
$recipientName = 'test';
$recipientEmail = 'artis.test70@gmail.com';
$emailTemplate->send($recipientEmail,$recipientName,$emailTemplateVariables);
}
}
==========================
============ Form page:- ==================================
<div class="col-md-9">
<div class="quest-quote-outer">
<h3>Quote Request</h3>
<p><strong>Can't find what you are looking for or just want to request a quote?</strong> Fill out the form below or give us a call at (516) 606-6537 or send us an email at <strong><a href="mailto:sales@nassaunationalcable.com">sales@nassaunationalcable.com</a></strong></p>
<h4>We guarantee same day response!</h4>
<p>
Phone: (516) 606-6537</br>E-Fax: (480) 287-9579</br>Fax: (516) 482-6438</br>Email: <a href="mailto:sales@nassaunationalcable.com">sales@nassaunationalcable.com</a>
</p>
<form method="post" id="qutote-form" name="qutote-form" class="qutote-form" action="<?php echo Mage::getUrl(); ?>contacts/index/quoterequest/">
<div class="qutote-form-row1">
<h3 class="legend">Contact Information</h3>
<ul class="form-list">
<li class="fields">
<div class="field name">
<label class="required">Name:</label>
<div class="input-box">
<input type="text" name="name" id="name" class="input-text required-entry" style="" value="" />
</div>
</div>
<div class="field company">
<label for="field_15">Company:</label>
<div class="input-box">
<input type="text" name="companyname" id="companyname" class="input-text" style="" value="" />
</div>
</div>
</li>
<li class="fields">
<div class="field email">
<label class="required">Email:</label>
<div class="input-box">
<input type="text" name="email" id="email" class="input-text required-entry validate-email" style="" value="" />
</div>
</div>
<div class="field webforms-fields-telephone">
<label>Telephone:</label>
<div class="input-box">
<input type="text" name="telephone" id="telephone" class="input-text" style="" value="" />
</div>
</div>
</li>
</ul>
</div>
<div class="qutote-form-row2">
<h3 class="legend">Contact Information</h3>
<ul class="form-list">
<li class="wide">
<label class="required">Wire / Cable Description:</label>
<div class="input-box">
<textarea name="description" id="description" class="input-text required-entry wire-request-details" style=""></textarea>
</div>
</li>
<li class="fields">
<div class="field length">
<label class="required">Length:</label>
<div class="input-box">
<input type="text" name="length" id="length" class="input-text required-entry" style="" value="" />
</div>
</div>
<div class="field date-needed">
<label >Date Required:</label>
<div class="input-box">
<input type="text" name="drequired" id="drequired" class="input-text " style="" value="" />
</div>
</div>
</li>
<li class="wide">
<div class=" webforms-fields-comments">
<label>Additional Questions / Comments:</label>
<div class="input-box">
<textarea name="acomments" id="acomments" class="input-text" style=""></textarea>
</div>
</div>
</li>
</ul>
</div>
<div class="buttons-set">
<p class="required">* Required Fields</p>
<input type="submit" value="submit" class="r-submit">
</div>
</form>
</div>
</div>
<div class="col-md-3">
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('right-block')->toHtml();?>
</div>
<script type="text/javascript">
//<![CDATA[
var contactForm = new VarienForm('qutote-form', true);
//]]>
</script>
===========================================
Add this code:-
<global>
<template>
<email>
<contacts_email_configuration_select_template_post translate="label" module="testimonial">
<label>Custom Email Template After Post Quote Request</label>
<file>email_template_after_post_request.html</file>
<type>html</type>
</contacts_email_configuration_select_template_post >
</email>
</template>
</global>
Careted this file on this path:-
app/locale/en_US/template/email/email_template_after_post_request.html
<!--@subject Testimonial submission! @-->
{{template config_path="design/email/header"}}
{{inlinecss file="email-inline.css"}}
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="action-content">
<h1>Dear Admin,</h1>
</td>
</tr>
<tr>
<td class="action-content">
<p>Name: {{var name }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Company: {{var company }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Email: {{var email }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Telephone {{var telephone }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Wire / Cable Description: {{var description }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Length: {{var length }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Date Required: {{var drequired }}</p>
</td>
</tr>
<tr>
<td class="action-content">
<p>Additional Questions / Comments: {{var acomments}}</p>
</td>
</tr>
</table>
{{template config_path="design/email/footer"}}
/app/code/local/Artis/Contacts/controllers/IndexController.php
==================
public function quoterequestAction()
{
$post = $this->getRequest()->getPost();
if ( $post ) {
$emailTemplate = Mage::getModel('core/email_template')->loadDefault('contacts_email_configuration_select_template_post');
$emailTemplateVariables = array();
$emailTemplateVariables = array();
$emailTemplateVariables['name'] = $post['name'];
$emailTemplateVariables['companyname'] = $post['companyname'];
$emailTemplateVariables['email'] = $post['email'];
$emailTemplateVariables['telephone'] = $post['telephone'];
$emailTemplateVariables['description'] = $post['description'];
$emailTemplateVariables['length'] = $post['length'];
$emailTemplateVariables['drequired'] = $post['drequired'];
$emailTemplateVariables['acomments'] = $post['acomments'];
//print_r($emailTemplateVariables);exit;
$emailTemplateVariables['customer_email'] = $post['email'];
$emailTemplate->getProcessedTemplate($emailTemplateVariables);
$emailTemplate->setSenderName($post['name']);
$emailTemplate->setSenderEmail($post['email']);
$recipientName = 'test';
$recipientEmail = 'artis.test70@gmail.com';
$emailTemplate->send($recipientEmail,$recipientName,$emailTemplateVariables);
}
}
==========================
============ Form page:- ==================================
<div class="col-md-9">
<div class="quest-quote-outer">
<h3>Quote Request</h3>
<p><strong>Can't find what you are looking for or just want to request a quote?</strong> Fill out the form below or give us a call at (516) 606-6537 or send us an email at <strong><a href="mailto:sales@nassaunationalcable.com">sales@nassaunationalcable.com</a></strong></p>
<h4>We guarantee same day response!</h4>
<p>
Phone: (516) 606-6537</br>E-Fax: (480) 287-9579</br>Fax: (516) 482-6438</br>Email: <a href="mailto:sales@nassaunationalcable.com">sales@nassaunationalcable.com</a>
</p>
<form method="post" id="qutote-form" name="qutote-form" class="qutote-form" action="<?php echo Mage::getUrl(); ?>contacts/index/quoterequest/">
<div class="qutote-form-row1">
<h3 class="legend">Contact Information</h3>
<ul class="form-list">
<li class="fields">
<div class="field name">
<label class="required">Name:</label>
<div class="input-box">
<input type="text" name="name" id="name" class="input-text required-entry" style="" value="" />
</div>
</div>
<div class="field company">
<label for="field_15">Company:</label>
<div class="input-box">
<input type="text" name="companyname" id="companyname" class="input-text" style="" value="" />
</div>
</div>
</li>
<li class="fields">
<div class="field email">
<label class="required">Email:</label>
<div class="input-box">
<input type="text" name="email" id="email" class="input-text required-entry validate-email" style="" value="" />
</div>
</div>
<div class="field webforms-fields-telephone">
<label>Telephone:</label>
<div class="input-box">
<input type="text" name="telephone" id="telephone" class="input-text" style="" value="" />
</div>
</div>
</li>
</ul>
</div>
<div class="qutote-form-row2">
<h3 class="legend">Contact Information</h3>
<ul class="form-list">
<li class="wide">
<label class="required">Wire / Cable Description:</label>
<div class="input-box">
<textarea name="description" id="description" class="input-text required-entry wire-request-details" style=""></textarea>
</div>
</li>
<li class="fields">
<div class="field length">
<label class="required">Length:</label>
<div class="input-box">
<input type="text" name="length" id="length" class="input-text required-entry" style="" value="" />
</div>
</div>
<div class="field date-needed">
<label >Date Required:</label>
<div class="input-box">
<input type="text" name="drequired" id="drequired" class="input-text " style="" value="" />
</div>
</div>
</li>
<li class="wide">
<div class=" webforms-fields-comments">
<label>Additional Questions / Comments:</label>
<div class="input-box">
<textarea name="acomments" id="acomments" class="input-text" style=""></textarea>
</div>
</div>
</li>
</ul>
</div>
<div class="buttons-set">
<p class="required">* Required Fields</p>
<input type="submit" value="submit" class="r-submit">
</div>
</form>
</div>
</div>
<div class="col-md-3">
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('right-block')->toHtml();?>
</div>
<script type="text/javascript">
//<![CDATA[
var contactForm = new VarienForm('qutote-form', true);
//]]>
</script>
===========================================
Sunday, 10 July 2016
how to enable the product review form anywhere
catalog.xml enable it with:
<block type="review/form" name="product.info.review_form" as="review_form" template="review/form.phtml"/>
and in your template:
<?php echo $this->getChildHtml('review_form'); ?>
<block type="review/form" name="product.info.review_form" as="review_form" template="review/form.phtml"/>
and in your template:
<?php echo $this->getChildHtml('review_form'); ?>
Saturday, 9 July 2016
how to displaying review block (with ratings) on custom page in magento
<?php
$_product = $_item->getProduct(); //get the product in cart
$storeId = Mage::app()->getStore()->getId();
$summaryData = Mage::getModel('review/review_summary')
->setStoreId($storeId)
->load($_product->getId());
if ($summaryData['rating_summary']):?>
<div class="ratings">
<div class="rating-box">
<div class="rating" style="width:<?php echo $summaryData['rating_summary']; ?>%"></div>
</div>
</div>
<?php endif; ?>
$_product = $_item->getProduct(); //get the product in cart
$storeId = Mage::app()->getStore()->getId();
$summaryData = Mage::getModel('review/review_summary')
->setStoreId($storeId)
->load($_product->getId());
if ($summaryData['rating_summary']):?>
<div class="ratings">
<div class="rating-box">
<div class="rating" style="width:<?php echo $summaryData['rating_summary']; ?>%"></div>
</div>
</div>
<?php endif; ?>
Thursday, 7 July 2016
how to remove product wishlist remove custom page on magento
Customer account controllers path :-
/app/code/local/Companyname/Customer/controllers
public function wishlistRemoveAction(){
$proid= $_REQUEST['proid'];
$customerid= $_REQUEST['customerid'];
$itemCollection = Mage::getModel('wishlist/item')->getCollection()->addCustomerIdFilter($customerid);
foreach($itemCollection as $item) {
if($item->getProductId()==$proid)
$item->delete();
}
}
List page :-
<input type="hidden" id="remove_url" value="<?php echo $this->getUrl();?>customer/account/wishlistRemove"/>
<a href="javascript:void(0)" class="link-wishlist click-remove" data-proid="<?php echo $_product->getId(); ?>" data-customerid="<?php echo $customerId; ?>">
<i class="fa fa-star-o"></i>
</a>
JQuery :-
jQuery('.click-remove').click(function() {
var base_url=jQuery.trim(jQuery("#remove_url").val());
var pro_Id=jQuery(this).data('proid');
var customerid=jQuery(this).data('customerid');
//alert(base_url);
jQuery.ajax({
url: base_url,
type: 'post',
data:({'proid':pro_Id,'customerid':customerid}),
success: function(msg){
location.reload();
}
});
});
/app/code/local/Companyname/Customer/controllers
public function wishlistRemoveAction(){
$proid= $_REQUEST['proid'];
$customerid= $_REQUEST['customerid'];
$itemCollection = Mage::getModel('wishlist/item')->getCollection()->addCustomerIdFilter($customerid);
foreach($itemCollection as $item) {
if($item->getProductId()==$proid)
$item->delete();
}
}
List page :-
<input type="hidden" id="remove_url" value="<?php echo $this->getUrl();?>customer/account/wishlistRemove"/>
<a href="javascript:void(0)" class="link-wishlist click-remove" data-proid="<?php echo $_product->getId(); ?>" data-customerid="<?php echo $customerId; ?>">
<i class="fa fa-star-o"></i>
</a>
JQuery :-
jQuery('.click-remove').click(function() {
var base_url=jQuery.trim(jQuery("#remove_url").val());
var pro_Id=jQuery(this).data('proid');
var customerid=jQuery(this).data('customerid');
//alert(base_url);
jQuery.ajax({
url: base_url,
type: 'post',
data:({'proid':pro_Id,'customerid':customerid}),
success: function(msg){
location.reload();
}
});
});
Monday, 4 July 2016
category attributes select type in magento
require_once('app/Mage.php');
Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID));
$installer = new Mage_Sales_Model_Mysql4_Setup;
$attribute = array(
'type' => 'int',
'label'=> 'Is Embroidery Country Ribbon',
'input' => 'select',
'source' => 'eav/entity_attribute_source_boolean',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => true,
'required' => false,
'user_defined' => true,
'default' => 0,
'group' => "General Information"
);
$installer->addAttribute('catalog_category', 'isembroiderycribbon', $attribute);
$installer->endSetup();
Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID));
$installer = new Mage_Sales_Model_Mysql4_Setup;
$attribute = array(
'type' => 'int',
'label'=> 'Is Embroidery Country Ribbon',
'input' => 'select',
'source' => 'eav/entity_attribute_source_boolean',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => true,
'required' => false,
'user_defined' => true,
'default' => 0,
'group' => "General Information"
);
$installer->addAttribute('catalog_category', 'isembroiderycribbon', $attribute);
$installer->endSetup();
Tuesday, 28 June 2016
how to sort multi-dimensional array by value In PHP
$users =Array( [0] =>
Array (
[username] => a
[name] => Andrei Zmievski
)
[1] => Array (
[username] => dotjay
[name] => Jon Gibbins
)
[2] => Array (
[username] => shiflett
[name] => Chris Shiflett
)
)
<?php
$names = array();
foreach ($users as $user) {
$names[] = $user['name'];}
array_multisort($names, SORT_ASC, $users);
?>
============================================
$orders =Array
(
[item-1] => Array
(
[id] => 1
[title] => Item 1
[order] => 3
)
[item-2] => Array
(
[id] => 2
[title] => Item 2
[order] => 2
)
[item-3] => Array
(
[id] => 3
[title] => Item 3
[order] => 1
)
)
usort($orders, 'sort_by_order ');
function sort_by_order ($a, $b)
{
return $a['order'] - $b['order'];
}
print_r($orders)
Array
(
[0] => Array
(
[id] => 3
[title] => Item 3
[order] => 1
)
[1] => Array
(
[id] => 2
[title] => Item 2
[order] => 2
)
[2] => Array
(
[id] => 1
[title] => Item 1
[order] => 3
)
)
Array (
[username] => a
[name] => Andrei Zmievski
)
[1] => Array (
[username] => dotjay
[name] => Jon Gibbins
)
[2] => Array (
[username] => shiflett
[name] => Chris Shiflett
)
)
<?php
$names = array();
foreach ($users as $user) {
$names[] = $user['name'];}
array_multisort($names, SORT_ASC, $users);
?>
============================================
$orders =Array
(
[item-1] => Array
(
[id] => 1
[title] => Item 1
[order] => 3
)
[item-2] => Array
(
[id] => 2
[title] => Item 2
[order] => 2
)
[item-3] => Array
(
[id] => 3
[title] => Item 3
[order] => 1
)
)
usort($orders, 'sort_by_order ');
function sort_by_order ($a, $b)
{
return $a['order'] - $b['order'];
}
print_r($orders)
Array
(
[0] => Array
(
[id] => 3
[title] => Item 3
[order] => 1
)
[1] => Array
(
[id] => 2
[title] => Item 2
[order] => 2
)
[2] => Array
(
[id] => 1
[title] => Item 1
[order] => 3
)
)
how to sort Multi-Dimensional Array By Value In PHP
$users =Array( [0] =>
Array (
[username] => a
[name] => Andrei Zmievski
)
[1] => Array (
[username] => dotjay
[name] => Jon Gibbins
)
[2] => Array (
[username] => shiflett
[name] => Chris Shiflett
)
)
<?php
$names = array();
foreach ($users as $user) {
$names[] = $user['name'];}
array_multisort($names, SORT_ASC, $users);
?>
============================================
$orders =Array
(
[item-1] => Array
(
[id] => 1
[title] => Item 1
[order] => 3
)
[item-2] => Array
(
[id] => 2
[title] => Item 2
[order] => 2
)
[item-3] => Array
(
[id] => 3
[title] => Item 3
[order] => 1
)
)
usort($orders, 'sort_by_order ');
function sort_by_order ($a, $b)
{
return $a['order'] - $b['order'];
}
print_r($orders)
Array
(
[0] => Array
(
[id] => 3
[title] => Item 3
[order] => 1
)
[1] => Array
(
[id] => 2
[title] => Item 2
[order] => 2
)
[2] => Array
(
[id] => 1
[title] => Item 1
[order] => 3
)
)
Array (
[username] => a
[name] => Andrei Zmievski
)
[1] => Array (
[username] => dotjay
[name] => Jon Gibbins
)
[2] => Array (
[username] => shiflett
[name] => Chris Shiflett
)
)
<?php
$names = array();
foreach ($users as $user) {
$names[] = $user['name'];}
array_multisort($names, SORT_ASC, $users);
?>
============================================
$orders =Array
(
[item-1] => Array
(
[id] => 1
[title] => Item 1
[order] => 3
)
[item-2] => Array
(
[id] => 2
[title] => Item 2
[order] => 2
)
[item-3] => Array
(
[id] => 3
[title] => Item 3
[order] => 1
)
)
usort($orders, 'sort_by_order ');
function sort_by_order ($a, $b)
{
return $a['order'] - $b['order'];
}
print_r($orders)
Array
(
[0] => Array
(
[id] => 3
[title] => Item 3
[order] => 1
)
[1] => Array
(
[id] => 2
[title] => Item 2
[order] => 2
)
[2] => Array
(
[id] => 1
[title] => Item 1
[order] => 3
)
)
Thursday, 23 June 2016
how to category load by category id Magento 2
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$category = $objectManager->create('Magento\Catalog\Model\Category')->load($_cat->getId());
$category = $objectManager->create('Magento\Catalog\Model\Category')->load($_cat->getId());
magento 2 Media url
$mediaUrl = $objectManager->get('Magento\Store\Model\StoreManagerInterface')->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
how to get current category Id on Magento 2
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$category = $objectManager->get('Magento\Framework\Registry')->registry('current_category');//get current category
echo $category->getId();
echo $category->getName();
?>
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$category = $objectManager->get('Magento\Framework\Registry')->registry('current_category');//get current category
echo $category->getId();
echo $category->getName();
?>
select query Magento 2
<?php
$post_categroy='';
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // Instance of object manager
$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$connection = $resource->getConnection();
$tableName = $resource->getTableName('magefan_blog_post_category');
$sql = "SELECT category_id FROM ".$tableName." WHERE post_id=".$_post->getId();
$result = $connection->fetchOne($sql);
if(count($result)>0):
$tableName2 = $resource->getTableName('magefan_blog_category');
$post_catid = $result[0];
if($post_catid!=''){
$sql2 = "SELECT title FROM ".$tableName2." WHERE category_id=".$post_catid;
$post_categroy = $connection->fetchOne($sql2);
}
endif;
?>
$post_categroy='';
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // Instance of object manager
$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$connection = $resource->getConnection();
$tableName = $resource->getTableName('magefan_blog_post_category');
$sql = "SELECT category_id FROM ".$tableName." WHERE post_id=".$_post->getId();
$result = $connection->fetchOne($sql);
if(count($result)>0):
$tableName2 = $resource->getTableName('magefan_blog_category');
$post_catid = $result[0];
if($post_catid!=''){
$sql2 = "SELECT title FROM ".$tableName2." WHERE category_id=".$post_catid;
$post_categroy = $connection->fetchOne($sql2);
}
endif;
?>
Tuesday, 21 June 2016
Thursday, 9 June 2016
meta description mange magento2
Stores -> Configuration -> Catalog -> Catalog -> Product Fields Auto-Generation (Change this section)
Friday, 3 June 2016
remember me (id-password) functionality on magento login page.
Magento\app\code\core\Mage\Customer\controllers\AccountController.php
Step: 2 Find following function.
protected function _loginPostRedirect()
Step: 3 Replace with following function code.
protected function _loginPostRedirect()
{
$session = $this->_getSession();
if (!$session->getBeforeAuthUrl() || $session->getBeforeAuthUrl() == Mage::getBaseUrl())
{
// Set default URL to redirect customer to
$session->setBeforeAuthUrl(Mage::helper('customer')->getAccountUrl());
// Redirect customer to the last page visited after logging in
if ($session->isLoggedIn())
{
if (!Mage::getStoreConfigFlag('customer/startup/redirect_dashboard'))
{
$referer = $this->getRequest()->getParam(Mage_Customer_Helper_Data::REFERER_QUERY_PARAM_NAME);
if ($referer)
{
$referer = Mage::helper('core')->urlDecode($referer);
if ($this->_isUrlInternal($referer))
{
$session->setBeforeAuthUrl($referer);
}
}
}
else if ($session->getAfterAuthUrl())
{
$session->setBeforeAuthUrl($session->getAfterAuthUrl(true));
}
}
else
{
$session->setBeforeAuthUrl(Mage::helper('customer')->getLoginUrl());
}
}
else if ($session->getBeforeAuthUrl() == Mage::helper('customer')->getLogoutUrl())
{
$session->setBeforeAuthUrl(Mage::helper('customer')->getDashboardUrl());
}
else
{
if (!$session->getAfterAuthUrl())
{
$session->setAfterAuthUrl($session->getBeforeAuthUrl());
}
if ($session->isLoggedIn())
{
$session->setBeforeAuthUrl($session->getAfterAuthUrl(true));
}
}
if ($this->getRequest()->isPost())
{
$login = $this->getRequest()->getPost('login');
$rememberme = $this->getRequest()->getPost('rememberme');
try
{
$cookie = Mage::getModel('core/cookie');
if (!empty($login['username']) && !empty($login['password']) && !empty($rememberme))
{
$cookie->set('user_name', $login['username']);
$cookie->set('pass_user_name', $login['password']);
$cookie->set('rememberme', 1);
}
else if (!empty($login['username']) && !empty($login['password']) && empty($rememberme))
{
$cookie->delete('user_name');
$cookie->delete('pass_user_name');
$cookie->delete('rememberme');
}
}
catch (Exception $e)
{
}
}
$this->_redirectUrl($session->getBeforeAuthUrl(true));
}
Step: 4 Find following file (login page functionality).
Magento\app\design\frontend\default\[your theme]\template\customer\form\login.phtml
Step: 5 Add following code top of login.phtml.
<?php
$cooki = Mage::getModel('core/cookie');
$cookie_user_name = $cooki->get('user_name');
$cookie_user_password = $cooki->get('pass_user_name');
$rememberme = $cooki->get('rememberme');
?>
Step: 6 Find following code in login.phtml (user id textbox).
<input type="text" name="login[username]" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" id="email" class="input-text required-entry validate-email" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Email Address')) ?>" />
And replace with the following code. The code define the user id of user if that user select remember me option.
<input name="login[username]" value="<?php if($cookie_user_name !=''){ echo $cookie_user_name;}else{ echo $this->htmlEscape($this->getUsername()); } ?>" title="<?php echo $this->__('Email Address') ?>" id="email" class="input-text required-entry validate-email" type="text" />
Step: 7 Find following code in login.phtml (password textbox).
<input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Password')) ?>" />
And replace with the following code. The code define the password of user if that user select remember me option.
<input name="login[password]" type="password" class="input-text required-entry validate-password" value="<?php if($cookie_user_password != ''){ echo $cookie_user_password;}?>" />
Step: 8 Add the following code at the place where you want to display checkbox for the functionality of remember me on page.
<div>
<input type="checkbox" name="rememberme" value="remember" <?php if($rememberme != ''){ echo "checked";} ?> /> Remember me.
</div>
Step: 2 Find following function.
protected function _loginPostRedirect()
Step: 3 Replace with following function code.
protected function _loginPostRedirect()
{
$session = $this->_getSession();
if (!$session->getBeforeAuthUrl() || $session->getBeforeAuthUrl() == Mage::getBaseUrl())
{
// Set default URL to redirect customer to
$session->setBeforeAuthUrl(Mage::helper('customer')->getAccountUrl());
// Redirect customer to the last page visited after logging in
if ($session->isLoggedIn())
{
if (!Mage::getStoreConfigFlag('customer/startup/redirect_dashboard'))
{
$referer = $this->getRequest()->getParam(Mage_Customer_Helper_Data::REFERER_QUERY_PARAM_NAME);
if ($referer)
{
$referer = Mage::helper('core')->urlDecode($referer);
if ($this->_isUrlInternal($referer))
{
$session->setBeforeAuthUrl($referer);
}
}
}
else if ($session->getAfterAuthUrl())
{
$session->setBeforeAuthUrl($session->getAfterAuthUrl(true));
}
}
else
{
$session->setBeforeAuthUrl(Mage::helper('customer')->getLoginUrl());
}
}
else if ($session->getBeforeAuthUrl() == Mage::helper('customer')->getLogoutUrl())
{
$session->setBeforeAuthUrl(Mage::helper('customer')->getDashboardUrl());
}
else
{
if (!$session->getAfterAuthUrl())
{
$session->setAfterAuthUrl($session->getBeforeAuthUrl());
}
if ($session->isLoggedIn())
{
$session->setBeforeAuthUrl($session->getAfterAuthUrl(true));
}
}
if ($this->getRequest()->isPost())
{
$login = $this->getRequest()->getPost('login');
$rememberme = $this->getRequest()->getPost('rememberme');
try
{
$cookie = Mage::getModel('core/cookie');
if (!empty($login['username']) && !empty($login['password']) && !empty($rememberme))
{
$cookie->set('user_name', $login['username']);
$cookie->set('pass_user_name', $login['password']);
$cookie->set('rememberme', 1);
}
else if (!empty($login['username']) && !empty($login['password']) && empty($rememberme))
{
$cookie->delete('user_name');
$cookie->delete('pass_user_name');
$cookie->delete('rememberme');
}
}
catch (Exception $e)
{
}
}
$this->_redirectUrl($session->getBeforeAuthUrl(true));
}
Step: 4 Find following file (login page functionality).
Magento\app\design\frontend\default\[your theme]\template\customer\form\login.phtml
Step: 5 Add following code top of login.phtml.
<?php
$cooki = Mage::getModel('core/cookie');
$cookie_user_name = $cooki->get('user_name');
$cookie_user_password = $cooki->get('pass_user_name');
$rememberme = $cooki->get('rememberme');
?>
Step: 6 Find following code in login.phtml (user id textbox).
<input type="text" name="login[username]" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" id="email" class="input-text required-entry validate-email" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Email Address')) ?>" />
And replace with the following code. The code define the user id of user if that user select remember me option.
<input name="login[username]" value="<?php if($cookie_user_name !=''){ echo $cookie_user_name;}else{ echo $this->htmlEscape($this->getUsername()); } ?>" title="<?php echo $this->__('Email Address') ?>" id="email" class="input-text required-entry validate-email" type="text" />
Step: 7 Find following code in login.phtml (password textbox).
<input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Password')) ?>" />
And replace with the following code. The code define the password of user if that user select remember me option.
<input name="login[password]" type="password" class="input-text required-entry validate-password" value="<?php if($cookie_user_password != ''){ echo $cookie_user_password;}?>" />
Step: 8 Add the following code at the place where you want to display checkbox for the functionality of remember me on page.
<div>
<input type="checkbox" name="rememberme" value="remember" <?php if($rememberme != ''){ echo "checked";} ?> /> Remember me.
</div>
Monday, 16 May 2016
how to call a custom phtml file on CMS Page and blocks (Admin panel) magento 2
Calling in blocks and cms pages
{{block class="Magento\Framework\View\Element\Template" name="test_file" template="Magento_Theme::html/test.phtml"}}
Thursday, 12 May 2016
how to order canceled by code on magento 2
require_once '../app/Mage.php';
umask(0);
Mage::app('default');
Mage::getSingleton('core/session', array('name'=>'frontend'));
//$toDate = date('Y-m-d H:i:s', strtotime("-3 minutes"));
$toDate = date('Y-m-d H:i:s', strtotime("-96 hours"));
$orderCollection = Mage::getModel('sales/order')->getCollection()
->addAttributeToFilter('created_at', array('to'=>$toDate))
->addFieldToFilter('status', 'pending');
foreach($orderCollection as $_order)
{
$order = Mage::getModel('sales/order')->load($_order['entity_id']);
if($order->canCancel())
{
$order->cancel();
$comment = 'Order marked as cancelled';
$isCustomerNotified =true;
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, "canceled", $comment, $isCustomerNotified);
$order->save();
$order->sendOrderUpdateEmail(true, $comment);
}
}
umask(0);
Mage::app('default');
Mage::getSingleton('core/session', array('name'=>'frontend'));
//$toDate = date('Y-m-d H:i:s', strtotime("-3 minutes"));
$toDate = date('Y-m-d H:i:s', strtotime("-96 hours"));
$orderCollection = Mage::getModel('sales/order')->getCollection()
->addAttributeToFilter('created_at', array('to'=>$toDate))
->addFieldToFilter('status', 'pending');
foreach($orderCollection as $_order)
{
$order = Mage::getModel('sales/order')->load($_order['entity_id']);
if($order->canCancel())
{
$order->cancel();
$comment = 'Order marked as cancelled';
$isCustomerNotified =true;
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, "canceled", $comment, $isCustomerNotified);
$order->save();
$order->sendOrderUpdateEmail(true, $comment);
}
}
Tuesday, 3 May 2016
how to remove space before body class on magento
/app/code/core/Mage/Page/Block/Html.php (Line number 157)
public function getBodyClass()
{
return trim($this->_getData('body_class');
}
public function getBodyClass()
{
return trim($this->_getData('body_class');
}
Tuesday, 26 April 2016
how to find the position of a product in a magento category
$productPositions = Mage::getResourceModel('catalog/category')->getProductsPosition($category);
$productPositions[$_product->getId()];
$productPositions[$_product->getId()];
Wednesday, 20 April 2016
Monday, 18 April 2016
sort products by most sold, reviews" in products list page
sort products by most sold, reviews" in products list page
for ->Sorting by rating
Copy the file
app/code/core/Mage/Catalog/Block/Product/List.php to
app/code/local/Mage/Catalog/Block/Product/List.php
in list.php find for this line
$this->_productCollection =$layer->getProductCollection();
which will be in around line no 86 add the following code after that
$this->_productCollection->joinField('rating_summary', 'review_entity_summary', 'rating_summary', 'entity_pk_value=entity_id', array('entity_type'=>1, 'store_id'=> Mage::app()->getStore()->getId()), 'left');
now copy
app/code/core/Mage/Catalog/Model/Config.php
to
app/code/local/Mage/Catalog/Model/Config.php
in config.php find for this code
$options = array(
'position' => Mage::helper('catalog')->__('Position')
);
replace with
$options = array(
'position' => Mage::helper('catalog')->__('Position'),
'rating_summary' => Mage::helper('catalog')->__('Rating')
);
====================================================
-->>for BESTSELLER
follow this procedure create a folder naming Company and inside that folder place Catalog and inside catalog create 3 folders Block,etc and Model In Block add Product in Product add List and in List create a file and name it as Toolbar.php and ad this code into it
<?php
class Company_Catalog_Block_Product_List_Toolbar extends Mage_Catalog_Block_Product_List_Toolbar
{
public function setCollection($collection)
{
parent::setCollection($collection);
if ($this->getCurrentOrder()) {
if($this->getCurrentOrder() == 'qty_ordered') {
$this->getCollection()->getSelect()
->joinLeft(
array('sfoi' => $collection->getResource()->getTable('sales/order_item')),
'e.entity_id = sfoi.product_id',
array('qty_ordered' => 'SUM(sfoi.qty_ordered)')
)
->group('e.entity_id')
->order('qty_ordered ' . $this->getCurrentDirection());
} else {
$this->getCollection()
->setOrder($this->getCurrentOrder(), $this->getCurrentDirection())->getSelect();
}
}
return $this;
}
}
now in etc folder create a file with name config.xml and add this code
<config>
<modules>
<Company_Catalog>
<version>0.1.0</version>
</Company_Catalog>
</modules>
<global>
<blocks>
<catalog>
<rewrite>
<product_list_toolbar>Inchoo_Catalog_Block_Product_List_Toolbar</product_list_toolbar>
</rewrite>
</catalog>
</blocks>
<models>
<catalog>
<rewrite>
<config>Inchoo_Catalog_Model_Config</config>
</rewrite>
</catalog>
<catalog_resource>
<rewrite>
<product_collection>Inchoo_Catalog_Model_Resource_Product_Collection</product_collection>
</rewrite>
</catalog_resource>
</models>
</global>
</config>
Now in Model create a file naming Config.php and add this code.
<?php class Company_Catalog_Model_Config extends Mage_Catalog_Model_Config
{
public function getAttributeUsedForSortByArray()
{
return array_merge(
parent::getAttributeUsedForSortByArray(),
array('qty_ordered' => Mage::helper('catalog')->__('Sold quantity'))
);
}
}
also create Resource folder in Model and in Resource folder create Product folder and create a file naming Collection.php and add following code.
<?php
class Company_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_Resource_Product_Collection
{
protected function _getSelectCountSql($select = null, $resetLeftJoins = true)
{
$this->_renderFilters();
$countSelect = (is_null($select)) ?
$this->_getClearSelect() :
$this->_buildClearSelect($select);
if(count($countSelect->getPart(Zend_Db_Select::GROUP)) > 0) {
$countSelect->reset(Zend_Db_Select::GROUP);
}
$countSelect->columns('COUNT(DISTINCT e.entity_id)');
if ($resetLeftJoins) {
$countSelect->resetJoinLeft();
}
return $countSelect;
}
}
Now finally activate this module by going to app/etc/modules create a file Company_Catalog.xml add this code.
<?xml version="1.0"?>
<!--
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE_AFL.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Connect
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
-->
<config>
<modules>
<Company_Catalog>
<active>true</active>
<codePool>community</codePool>
<depends />
</Company_Catalog>
</modules>
</config>
for ->Sorting by rating
Copy the file
app/code/core/Mage/Catalog/Block/Product/List.php to
app/code/local/Mage/Catalog/Block/Product/List.php
in list.php find for this line
$this->_productCollection =$layer->getProductCollection();
which will be in around line no 86 add the following code after that
$this->_productCollection->joinField('rating_summary', 'review_entity_summary', 'rating_summary', 'entity_pk_value=entity_id', array('entity_type'=>1, 'store_id'=> Mage::app()->getStore()->getId()), 'left');
now copy
app/code/core/Mage/Catalog/Model/Config.php
to
app/code/local/Mage/Catalog/Model/Config.php
in config.php find for this code
$options = array(
'position' => Mage::helper('catalog')->__('Position')
);
replace with
$options = array(
'position' => Mage::helper('catalog')->__('Position'),
'rating_summary' => Mage::helper('catalog')->__('Rating')
);
====================================================
-->>for BESTSELLER
follow this procedure create a folder naming Company and inside that folder place Catalog and inside catalog create 3 folders Block,etc and Model In Block add Product in Product add List and in List create a file and name it as Toolbar.php and ad this code into it
<?php
class Company_Catalog_Block_Product_List_Toolbar extends Mage_Catalog_Block_Product_List_Toolbar
{
public function setCollection($collection)
{
parent::setCollection($collection);
if ($this->getCurrentOrder()) {
if($this->getCurrentOrder() == 'qty_ordered') {
$this->getCollection()->getSelect()
->joinLeft(
array('sfoi' => $collection->getResource()->getTable('sales/order_item')),
'e.entity_id = sfoi.product_id',
array('qty_ordered' => 'SUM(sfoi.qty_ordered)')
)
->group('e.entity_id')
->order('qty_ordered ' . $this->getCurrentDirection());
} else {
$this->getCollection()
->setOrder($this->getCurrentOrder(), $this->getCurrentDirection())->getSelect();
}
}
return $this;
}
}
now in etc folder create a file with name config.xml and add this code
<config>
<modules>
<Company_Catalog>
<version>0.1.0</version>
</Company_Catalog>
</modules>
<global>
<blocks>
<catalog>
<rewrite>
<product_list_toolbar>Inchoo_Catalog_Block_Product_List_Toolbar</product_list_toolbar>
</rewrite>
</catalog>
</blocks>
<models>
<catalog>
<rewrite>
<config>Inchoo_Catalog_Model_Config</config>
</rewrite>
</catalog>
<catalog_resource>
<rewrite>
<product_collection>Inchoo_Catalog_Model_Resource_Product_Collection</product_collection>
</rewrite>
</catalog_resource>
</models>
</global>
</config>
Now in Model create a file naming Config.php and add this code.
<?php class Company_Catalog_Model_Config extends Mage_Catalog_Model_Config
{
public function getAttributeUsedForSortByArray()
{
return array_merge(
parent::getAttributeUsedForSortByArray(),
array('qty_ordered' => Mage::helper('catalog')->__('Sold quantity'))
);
}
}
also create Resource folder in Model and in Resource folder create Product folder and create a file naming Collection.php and add following code.
<?php
class Company_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_Resource_Product_Collection
{
protected function _getSelectCountSql($select = null, $resetLeftJoins = true)
{
$this->_renderFilters();
$countSelect = (is_null($select)) ?
$this->_getClearSelect() :
$this->_buildClearSelect($select);
if(count($countSelect->getPart(Zend_Db_Select::GROUP)) > 0) {
$countSelect->reset(Zend_Db_Select::GROUP);
}
$countSelect->columns('COUNT(DISTINCT e.entity_id)');
if ($resetLeftJoins) {
$countSelect->resetJoinLeft();
}
return $countSelect;
}
}
Now finally activate this module by going to app/etc/modules create a file Company_Catalog.xml add this code.
<?xml version="1.0"?>
<!--
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE_AFL.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Connect
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
-->
<config>
<modules>
<Company_Catalog>
<active>true</active>
<codePool>community</codePool>
<depends />
</Company_Catalog>
</modules>
</config>
Thursday, 14 April 2016
how get Selected filter In layered navigation magento
All the applied filters are stored in layer state object. You can easily retrieve them by using the following snippet:
$appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters();
foreach ($appliedFilters as $item) {
$item->getName(); // Name of the filter
$item->getLabel(); // Currently selected value
$item->getFilter()->getRequestVar();
}
Wednesday, 24 February 2016
database server does not support the InnoDB storage engine.
Line 59 of the file app/code/core/Mage/Install/Model/Installer/Db/Mysql4.php
Replace:
public function supportEngine()
{
$variables = $this->_getConnection()
->fetchPairs('SHOW VARIABLES');
return (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') ? false : true;
}
with this:
public function supportEngine()
{
$variables = $this->_getConnection()
->fetchPairs('SHOW ENGINES');
return (isset($variables['InnoDB']) && $variables['InnoDB'] != 'NO');
}
Thursday, 18 February 2016
how to get logged In customer’s details on magento
// Check if any customer is logged in or not
if (Mage::getSingleton('customer/session')->isLoggedIn()) {
// Load the customer's data
$customer = Mage::getSingleton('customer/session')->getCustomer();
$customer->getPrefix();
$customer->getName(); // Full Name
$customer->getFirstname(); // First Name
$customer->getMiddlename(); // Middle Name
$customer->getLastname(); // Last Name
$customer->getSuffix();
// All other customer data
$customer->getWebsiteId(); // ID
$customer->getEntityId(); // ID
$customer->getEntityTypeId(); // ID
$customer->getAttributeSetId(); // ID
$customer->getEmail();
$customer->getGroupId(); // ID
$customer->getStoreId(); // ID
$customer->getCreatedAt(); // yyyy-mm-ddThh:mm:ss+01:00
$customer->getUpdatedAt(); // yyyy-mm-dd hh:mm:ss
$customer->getIsActive(); // 1
$customer->getDisableAutoGroupChange();
$customer->getTaxvat();
$customer->getPasswordHash();
$customer->getCreatedIn(); // Admin
$customer->getGender(); // ID
$customer->getDefaultBilling(); // ID
$customer->getDefaultShipping(); // ID
$customer->getDob(); // yyyy-mm-dd hh:mm:ss
$customer->getTaxClassId(); // ID
}
if (Mage::getSingleton('customer/session')->isLoggedIn()) {
// Load the customer's data
$customer = Mage::getSingleton('customer/session')->getCustomer();
$customer->getPrefix();
$customer->getName(); // Full Name
$customer->getFirstname(); // First Name
$customer->getMiddlename(); // Middle Name
$customer->getLastname(); // Last Name
$customer->getSuffix();
// All other customer data
$customer->getWebsiteId(); // ID
$customer->getEntityId(); // ID
$customer->getEntityTypeId(); // ID
$customer->getAttributeSetId(); // ID
$customer->getEmail();
$customer->getGroupId(); // ID
$customer->getStoreId(); // ID
$customer->getCreatedAt(); // yyyy-mm-ddThh:mm:ss+01:00
$customer->getUpdatedAt(); // yyyy-mm-dd hh:mm:ss
$customer->getIsActive(); // 1
$customer->getDisableAutoGroupChange();
$customer->getTaxvat();
$customer->getPasswordHash();
$customer->getCreatedIn(); // Admin
$customer->getGender(); // ID
$customer->getDefaultBilling(); // ID
$customer->getDefaultShipping(); // ID
$customer->getDob(); // yyyy-mm-dd hh:mm:ss
$customer->getTaxClassId(); // ID
}
Monday, 15 February 2016
how to ip track location country
$key='4aa3d8dd845debd79b15b3d55449dbeddbf00645e0acdd2b943a99f298b9c089';
$ip=$_SERVER['REMOTE_ADDR'];
$url='http://api.ipinfodb.com/v3/ip-country/?key='.$key.'&ip='.$ip;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
$dataArr=explode(";",$data);
if($dataArr[3]=="IN"){
//echo "<pre>"; print_r($dataArr); echo "</pre>"; exit;
header("Location: ./india");
exit;
}
$ip=$_SERVER['REMOTE_ADDR'];
$url='http://api.ipinfodb.com/v3/ip-country/?key='.$key.'&ip='.$ip;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
$dataArr=explode(";",$data);
if($dataArr[3]=="IN"){
//echo "<pre>"; print_r($dataArr); echo "</pre>"; exit;
header("Location: ./india");
exit;
}
Tuesday, 9 February 2016
magento custom search by name ,description short_description
// Code to Search Product by $searchstring and get Product IDs
$product_collection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('name', array('like' => '%'.$searchstring.'%'))
->load();
foreach ($product_collection as $product) {
$ids[] = $product->getId();
}
$product_collection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('name', array('like' => '%'.$searchstring.'%'))
->load();
foreach ($product_collection as $product) {
$ids[] = $product->getId();
}
Sunday, 7 February 2016
How can I find all products without images in Magento?
//this builds a collection that's analagous to
//select * from products where image = 'no_selection'
$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*')->addAttributeToFilter('visibility', 4)->addAttributeToFilter('status', 1)->addAttributeToFilter('image', 'no_selection');
foreach($products as $product)
{
echo $product->getSku() . " has no image \n<br />\n";
//var_dump($product->getData()); //uncomment to see all product attributes
//remove ->addAttributeToFilter('image', 'no_selection');
//from above to see all images and get an idea of
//the things you may query for
}
//select * from products where image = 'no_selection'
$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*')->addAttributeToFilter('visibility', 4)->addAttributeToFilter('status', 1)->addAttributeToFilter('image', 'no_selection');
foreach($products as $product)
{
echo $product->getSku() . " has no image \n<br />\n";
//var_dump($product->getData()); //uncomment to see all product attributes
//remove ->addAttributeToFilter('image', 'no_selection');
//from above to see all images and get an idea of
//the things you may query for
}
Thursday, 4 February 2016
How to retrieve a customer by phone number in magento?
$customer = Mage::getResourceModel('customer/address_collection')
->addAttributeToSelect('telephone')
->addAttributeToFilter('telephone', $phoneNumber)
->getFirstItem()->getCustomer();
if ($customer !== false) {
// Do stuff...
}
->addAttributeToSelect('telephone')
->addAttributeToFilter('telephone', $phoneNumber)
->getFirstItem()->getCustomer();
if ($customer !== false) {
// Do stuff...
}
Wednesday, 13 January 2016
Magento admin order details Next and Previous order
/*************************************************************************/
$conn = Mage::getSingleton('core/resource')->getConnection('core_read');
$sql="SELECT sum(total_qty) as shipqty FROM sales_flat_shipment WHERE order_id=".$_order->getentity_id()." GROUP BY order_id ";
$results = $conn->fetchOne($sql);
$per=($results/$total)*100;
$orderAdminDate = $this->formatDate($_order->getCreatedAtDate(), 'medium', true);
$orderStoreDate = $this->formatDate($_order->getCreatedAtStoreDate(), 'medium', true);
$preOrderId=0;
$nextOrderId=0;
$curOrderId=0;
$curOrderId=$_order->getId();
$resource = Mage::getSingleton('core/resource');
$tableName = $resource->getTableName('sales_flat_order');
$readConnection = $resource->getConnection('core_read');
$query = 'SELECT entity_id FROM ' . $tableName . ' WHERE entity_id < '.$curOrderId.' ORDER BY entity_id DESC LIMIT 0,1';
$preOrderId = $readConnection->fetchOne($query);
$query = 'SELECT entity_id FROM ' . $tableName . ' WHERE entity_id > '.$curOrderId.' ORDER BY entity_id ASC LIMIT 0,1';
$nextOrderId = $readConnection->fetchOne($query);
?>
<?php //* ?>
<div style="width:300px;">
<?php if($preOrderId>0) { ?>
<div style="float:left" ><a href="<?php echo $this->getViewUrl($preOrderId) ?>" style="font-weight:bold">« Previous Order </a></div>
<?php } else { ?>
<div style="float:left" >« Previous Order </div>
<?php } if($nextOrderId>0) { ?>
<div style="float:right" ><a href="<?php echo $this->getViewUrl($nextOrderId) ?>" style="font-weight:bold"> Next Order »</a></div>
<?php } else { ?>
<div style="float:right" > Next Order »</div>
<?php } ?>
</div>
<?php //*/ ?>
$conn = Mage::getSingleton('core/resource')->getConnection('core_read');
$sql="SELECT sum(total_qty) as shipqty FROM sales_flat_shipment WHERE order_id=".$_order->getentity_id()." GROUP BY order_id ";
$results = $conn->fetchOne($sql);
$per=($results/$total)*100;
$orderAdminDate = $this->formatDate($_order->getCreatedAtDate(), 'medium', true);
$orderStoreDate = $this->formatDate($_order->getCreatedAtStoreDate(), 'medium', true);
$preOrderId=0;
$nextOrderId=0;
$curOrderId=0;
$curOrderId=$_order->getId();
$resource = Mage::getSingleton('core/resource');
$tableName = $resource->getTableName('sales_flat_order');
$readConnection = $resource->getConnection('core_read');
$query = 'SELECT entity_id FROM ' . $tableName . ' WHERE entity_id < '.$curOrderId.' ORDER BY entity_id DESC LIMIT 0,1';
$preOrderId = $readConnection->fetchOne($query);
$query = 'SELECT entity_id FROM ' . $tableName . ' WHERE entity_id > '.$curOrderId.' ORDER BY entity_id ASC LIMIT 0,1';
$nextOrderId = $readConnection->fetchOne($query);
?>
<?php //* ?>
<div style="width:300px;">
<?php if($preOrderId>0) { ?>
<div style="float:left" ><a href="<?php echo $this->getViewUrl($preOrderId) ?>" style="font-weight:bold">« Previous Order </a></div>
<?php } else { ?>
<div style="float:left" >« Previous Order </div>
<?php } if($nextOrderId>0) { ?>
<div style="float:right" ><a href="<?php echo $this->getViewUrl($nextOrderId) ?>" style="font-weight:bold"> Next Order »</a></div>
<?php } else { ?>
<div style="float:right" > Next Order »</div>
<?php } ?>
</div>
<?php //*/ ?>
Tuesday, 5 January 2016
Magento: Get a configurable products associated simple product data
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($_product);
$simple_collection = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
$simple_collection = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
Sunday, 3 January 2016
Magento Product Offer time count
<?php
$toDate = $_product->getSpecialTODate();
$count = 1;
if($toDate && strtotime($toDate)>time()){
$date = new DateTime($toDate);
?>
<input type="hidden" id="todate" value="<?php echo $date->format('m/d/Y')?>" />
<div class="time_d">
<span class="countdown_section dealcountday">
<span class="countdown_amount" id="dealcountday"></span>
</span>
<span class="countdown_section">
<span class="countdown_amount" id="dealcounthour"></span>
<span class="countdown_amount min" id="dealcountmin"></span>
<span class="countdown_amount sec" id="dealcountsec"></span>
<span class="countdown_amount milisec" id="dealcountmilisec"></span>
</span>
</div>
<script language="JavaScript">
var todate = document.getElementById("todate").value;
date = new Date(todate);
var target_date = date.getTime();
var weeks,days, hours, minutes, seconds;
var countdown = document.getElementById("dealcounthour");
setInterval(function () {
var current_date = new Date().getTime();
var totalseconds_left = (target_date - current_date) ;
var seconds_left = (target_date - current_date) / 1000;
days = parseInt(seconds_left / 86400);
if (days>0) {
seconds_left = seconds_left % 86400;
}
if (days<=0) {
dealcountday.style.display = "none";
}
hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;
minutes = parseInt(seconds_left / 60);
seconds = parseInt(seconds_left % 60);
miliseconds= (totalseconds_left % 1000); //alert(seconds);
dealcountday.innerHTML = "<strong>"+days+"</strong>" + ' Day(s)';
dealcounthour.innerHTML = "<strong>"+hours+": </strong>" ;
dealcountmin.innerHTML = "<strong>"+ minutes+": </strong>";
dealcountsec.innerHTML = "<strong>"+seconds +': </strong>';
dealcountmilisec.innerHTML="<strong>"+miliseconds+"</strong>";
}, 10);
</script>
<?php } ?>
$toDate = $_product->getSpecialTODate();
$count = 1;
if($toDate && strtotime($toDate)>time()){
$date = new DateTime($toDate);
?>
<input type="hidden" id="todate" value="<?php echo $date->format('m/d/Y')?>" />
<div class="time_d">
<span class="countdown_section dealcountday">
<span class="countdown_amount" id="dealcountday"></span>
</span>
<span class="countdown_section">
<span class="countdown_amount" id="dealcounthour"></span>
<span class="countdown_amount min" id="dealcountmin"></span>
<span class="countdown_amount sec" id="dealcountsec"></span>
<span class="countdown_amount milisec" id="dealcountmilisec"></span>
</span>
</div>
<script language="JavaScript">
var todate = document.getElementById("todate").value;
date = new Date(todate);
var target_date = date.getTime();
var weeks,days, hours, minutes, seconds;
var countdown = document.getElementById("dealcounthour");
setInterval(function () {
var current_date = new Date().getTime();
var totalseconds_left = (target_date - current_date) ;
var seconds_left = (target_date - current_date) / 1000;
days = parseInt(seconds_left / 86400);
if (days>0) {
seconds_left = seconds_left % 86400;
}
if (days<=0) {
dealcountday.style.display = "none";
}
hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;
minutes = parseInt(seconds_left / 60);
seconds = parseInt(seconds_left % 60);
miliseconds= (totalseconds_left % 1000); //alert(seconds);
dealcountday.innerHTML = "<strong>"+days+"</strong>" + ' Day(s)';
dealcounthour.innerHTML = "<strong>"+hours+": </strong>" ;
dealcountmin.innerHTML = "<strong>"+ minutes+": </strong>";
dealcountsec.innerHTML = "<strong>"+seconds +': </strong>';
dealcountmilisec.innerHTML="<strong>"+miliseconds+"</strong>";
}, 10);
</script>
<?php } ?>
Subscribe to:
Posts (Atom)