Skip to content

Instantly share code, notes, and snippets.

View dinhkhanh's full-sized avatar

Trần Đình Khánh dinhkhanh

View GitHub Profile
# Author: Pieter Noordhuis
# Description: Simple demo to showcase Redis PubSub with EventMachine
#
# Update 7 Oct 2010:
# - This example does *not* appear to work with Chrome >=6.0. Apparently,
# the WebSocket protocol implementation in the cramp gem does not work
# well with Chrome's (newer) WebSocket implementation.
#
# Requirements:
# - rubygems: eventmachine, thin, cramp, sinatra, yajl-ruby
@dinhkhanh
dinhkhanh / mysql.sql
Created June 17, 2014 14:24
Add 'Newest' to product listing dropdown sorter
UPDATE `catalog_eav_attribute`
SET `used_for_sort_by` = 1
WHERE attribute_id = (
SELECT attribute_id FROM `eav_attribute` WHERE `entity_type_id` = (SELECT `entity_type_id` FROM `eav_entity_type` WHERE `entity_model` = "catalog/product") AND `attribute_code` = "created_at");
UPDATE `eav_attribute`
SET frontend_label = "Newest"
WHERE `entity_type_id` = (SELECT `entity_type_id` FROM `eav_entity_type` WHERE `entity_model` = "catalog/product") and `attribute_code` = "created_at";
@dinhkhanh
dinhkhanh / catalog.patch
Created June 18, 2014 14:11
Always include catalog in product url
Index: app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php
===================================================================
--- app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php (revision 2102)
+++ app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php (working copy)
@@ -553,7 +553,11 @@
->from($this->getTable('core/url_rewrite'), array('product_id', 'request_path'))
->where('store_id=?', Mage::app()->getStore()->getId())
->where('is_system=?', 1)
- ->where('category_id=? OR category_id is NULL', $this->_urlRewriteCategory)
+// excluding this clause to facilitate one URL per product, and one that includes the category
@dinhkhanh
dinhkhanh / magento-add-newest-sort-option.sql
Last active August 29, 2015 14:09
Magento - Add Newset sort option
UPDATE `catalog_eav_attribute`
SET `used_for_sort_by` = 1
WHERE `attribute_id` = (SELECT `attribute_id` FROM `eav_attribute` WHERE `entity_type_id` = (SELECT `entity_type_id` FROM `eav_entity_type` WHERE `entity_model` = "catalog/product") AND `attribute_code` = "created_at");
UPDATE `eav_attribute`
SET `frontend_label` = "Newest"
WHERE `entity_type_id` = (SELECT `entity_type_id` FROM `eav_entity_type` WHERE `entity_model` = "catalog/product" AND `attribute_code` = "created_at");
@dinhkhanh
dinhkhanh / restore-canceled-orders-magento.php
Last active January 17, 2017 11:32
Magento restore canceled orders
<?php
require_once 'app/Mage.php';
Mage::app();
$order = Mage::getModel('sales/order')->load(258); // order_id (not increament id)
$order->setState(Mage_Sales_Model_Order::STATE_NEW);
$order->setStatus(Mage_Sales_Model_Order::STATE_NEW);
$order->save();
foreach ($order->getAllItems() as $item) {
@dinhkhanh
dinhkhanh / magento-delete-order-phpmyadmin.sql
Created December 30, 2014 14:49
Magento delete order phpmyadmin
SET @increamentID = 'XXXXXXXXX';
SET FOREIGN_KEY_CHECKS = 1;
DELETE FROM sales_flat_order
WHERE increment_id = @increamentID;
DELETE FROM sales_flat_quote
WHERE reserved_order_id = @increamentID;
static NSString * BCP47LanguageCodeFromISO681LanguageCode(NSString *ISO681LanguageCode) {
if ([ISO681LanguageCode isEqualToString:@"ar"]) {
return @"ar-SA";
} else if ([ISO681LanguageCode hasPrefix:@"cs"]) {
return @"cs-CZ";
} else if ([ISO681LanguageCode hasPrefix:@"da"]) {
return @"da-DK";
} else if ([ISO681LanguageCode hasPrefix:@"de"]) {
return @"de-DE";
} else if ([ISO681LanguageCode hasPrefix:@"el"]) {
@dinhkhanh
dinhkhanh / update_attributes_source_model.php
Last active August 29, 2015 14:16
Magento: Update attributes source_model
<?php
require_once "app/Mage.php";
Mage::app();
$installer = new Mage_Eav_Model_Entity_Setup('core_setup');
$entityTypeId = $installer->getEntityTypeId('catalog_product');
// replace <my_attribute_code> with your attribute code
$idAttribute = $installer->getAttribute($entityTypeId, '<your_attribute_code_here>', 'attribute_id');
$installer->updateAttribute($entityTypeId, $idAttribute, array(
@dinhkhanh
dinhkhanh / change-dropdown-attribute-to-multiselect.sql
Last active April 17, 2020 09:23
Magento change dropdown attribute to multiselect
-- First, update the attribute input type to multiselect
UPDATE eav_attribute SET
entity_type_id = 4,
attribute_model = NULL,
backend_model = 'eav/entity_attribute_backend_array',
backend_type = 'varchar',
backend_table = NULL,
frontend_model = NULL,
frontend_input = 'multiselect',
frontend_class = NULL
@dinhkhanh
dinhkhanh / magento-manully-add-handle-in-controller.php
Created March 25, 2015 08:51
Magento - Manually add handle in controller
<?php
/**
1. If you add your handle before you call $this->loadLayout() from a controller it’s too soon
2. If you add your handle after you call $this->loadLayout() it’s too late
So, if you really need to add a handle to a controller, you need to replace the call to $this->loadLayout() with:
**/
$update = $this->getLayout()->getUpdate();
$update->addHandle('default');
$this->addActionLayoutHandles();