Skip to content

Instantly share code, notes, and snippets.

View evgv's full-sized avatar
🏠
Working from home

Eugene Zubkov evgv

🏠
Working from home
View GitHub Profile
@evgv
evgv / mage.send_email.md
Last active June 27, 2016 10:17 — forked from damiann/send_email
Magento. Send Magento template email with attachment.
// using model magento\app\code\core\Mage\Core\Model\Email\Template.php

public function send_error_email($error = NULL) {
  $mailTemplate = Mage::getModel('core/email_template');
  $mailTemplate->setSenderName('Insert Sender Name'); // use general Mage::getStoreConfig('trans_email/ident_general/name');
  $mailTemplate->setSenderEmail('insert@sender.email'); // use general Mage::getStoreConfig('trans_email/ident_general/email')
  $mailTemplate->setTemplateSubject('Insert Subject Title');
 $mailTemplate->setTemplateText('Insert Body Text');
@evgv
evgv / mage_get_store_data.md
Created June 27, 2016 10:14
Magento. Get store data.
/**
 * All of these functions can be found in class Mage_Core_Model_Store
 * File: app/code/core/Mage/Core/Model/Store.php
 */

//Get store data
Mage::app()->getStore();
@evgv
evgv / mage_get_select_count_sql_distinct.md
Created June 28, 2016 14:38
Magento. Rewrited getSelectCountSql() method, added DISTINCT form GROUP_BY param.
    /**
     * Get SQL for get record count
     * 
     * Rewrited for GROUP_BY
     * @return Varien_Db_Select
     */
    public function getSelectCountSql()
    {   
 $this->_renderFilters();
@evgv
evgv / mage_get_active_payment_methods.md
Created June 30, 2016 14:26
Magento. Get all active payment methods.
 /**
  * Retrieve all active payment methods
  */
	public function getActivPaymentMethods()
	{
	   $payments = Mage::getSingleton('payment/config')->getActiveMethods();
 
 $methods = array(array('value'=>'', 'label'=>Mage::helper('adminhtml')->__('--Please Select--')));
@evgv
evgv / mage_load_order.md
Created July 1, 2016 12:19
Magento. Load order.
  Mage::getModel('sales/order')->loadByIncrementId('10000001'); //use a real increment order id here

  Mage::getModel('sales/order')->load(24999); //use an entity id here
  
@evgv
evgv / mage_add_session_message.md
Last active October 5, 2016 11:26
Magento. Add session messages.

Add session messages.

Notice

  // You can use `core/session`, `customer/session`, `checkout/session`, `adminhtml/session`
  Mage::getSingleton('core/session')->addNotice('Notice Message');
@evgv
evgv / mage_redirect_to_in_observer.md
Created July 4, 2016 12:26
Magento. Redirect to custom URL in observer. Close default route.
   /**
     * Redirect redirect from default customer/account/createPost action to noRoute action (404 page)
     * Observer event "controller_action_predispatch_customer_account_createpost"
     */
    public function redirectToNoRoute()
    {
        Mage::app()->getResponse()
 ->setRedirect(Mage::getUrl('cms/index/noRoute'), 301)
@evgv
evgv / jquery_capitalize_first_letter_in_input.md
Last active July 6, 2016 06:41
jQuery. You can set any selector for field instead #name and you get realtime capitalize first letter in input, I'm use it for name, city etc fields.
$(function(){
    $('#name').bind('input', function(){
      $(this).val(function(_, v){
       return v.charAt(0).toUpperCase() + v.slice(1);
      });
    });
  });
@evgv
evgv / mage_clear_cache.md
Created July 11, 2016 13:34
Magento. Clear cache.
 /**
  * Clean everything
  */
  Mage::app()->getCacheInstance()->flush();
  Mage::app()->getCache()->clean();

 /**
 * Clean specific types
@evgv
evgv / mage_disable_all_local_modules.md
Last active July 12, 2016 08:46
Magento. Disable all Local Modules.

While going through the study guide for the Magento Developer Exam, I’ve been learning a few interesting details that are squirreled away in the Magento code, but can be useful in day to day Magento development.

For example, while going through the section on Module loading, it is revealed that we can easily disable all modules living in the local (app/code/local) namespace by editing app/etc/local.xml and setting the disable_local_modules node to true:

<config>
    <global>
        ...
 true