Magento: Difference between order states and statuses
If you are building website in Magento, you may have noticed that there are two columns in sales_flat_order table which are confusing. These are state and status. You might think what is the difference between these two, both having same meaning.
Well, this is not the case. They both are different. State is used by magento to tell if the order is new, processing, complete, holded, closed, canceled, etc.; while Statuses are the one that YOU would be defining at the backend in System -> Order Statuses. Magento displays order STATUSES and not STATES in the backend order detail page to let you know which status is assigned as per your mapping. Remember, multiple statuses can be mapped with one state, while vice versa is not possible. Continue reading »
Magento: Get sentence case from camel case string
Magento has pre-defined methods for getters and setters which will convert camelcase string to underscore formatted string.
Example, Magento will convert thisIsDummy to this_is_dummy using it’s method _underscore which is available at Varien_Object class.
If you want to convert Camel case string to Sentence case (this may sound weird, but we got the requirement),
Example, from thisIsDummy to This Is Dummy, below method will help you to do so:
public function camelToSentence($word) { | |
if(isset($word)) { | |
$result = ucwords(preg_replace('/(.)([A-Z])/', "$1 $2", $word)); | |
return $result; | |
} | |
} |
Magento: Difference between source_model, frontend_model, backend_model
When dealing with Magento Admin’s system configuration, you may have encountered with these models. If you don’t know, these models are used when you add custom fields through your system.xml file at Magento’s backend configuration (Admin -> System -> Configuration).
Okay, so the difference between these 3 models are:
source_model:
It specifies a Model class, where you will be returned with options that can populate in the current field.
Example,
<source_model>adminhtml/system_config_source_yesno</source_model> |
this will populate select dropdown with values Yes/No
frontend_model:
It specifies a Block class to add custom render to use as a frontend field type instead of/along with default frontend_type field value (text, textarea, select, etc.).
Example, Continue reading »
Magento add admin user in MySQL
In Magento, if you want to create a new user directly in Mysql, it’s not that easy to insert one record in admin_user table.
You need to also update the privileges and inserting new admin’s roles.
So here is a Mysql script which will create a new admin user with all privileges.
Replace FIRSTNAME, LASTNAME, EMAIL, USERNAME, PASSWORD with your desired values.
insert into admin_user | |
select | |
(select max(user_id) + 1 from admin_user) user_id, | |
'FIRSTNAME' first_name, | |
'LASTNAME' last_name, | |
'TEST@EMAIL.COM' email, | |
'USERNAME' username, | |
MD5('PASSWORD') password, | |
now() created, | |
NULL modified, | |
NULL logdate, | |
0 lognum, | |
0 reload_acl_flag, | |
1 is_active, | |
(select max(extra) from admin_user where extra is not null) extra, | |
NULL, | |
NULL; | |
insert into admin_role | |
select | |
(select max(role_id) + 1 from admin_role) role_id, | |
(select role_id from admin_role where role_name = 'Administrators') parent_id, | |
2 tree_level, | |
0 sort_order, | |
'U' role_type, | |
(select user_id from admin_user where username = 'USERNAME') user_id, | |
'USERNAME' role_name |
Magento: Show “track your order” in frontend – My Orders
It is always required for the customer to track their order. The shipping carriers can be anything: Aramex, Bluedart, DHL, First Flight, Federal Express, etc.. Navigate to My Account and place a button in My Orders section there “Track Order”. Paste the code below to link it to tracking popup that you can also see in backend Shipments area.
<?php | |
if($_order->hasShipments()) { | |
$show = true; | |
foreach($_order->getTracksCollection() as $k=>$v) { | |
if($v['carrier_code'] == 'custom' || $v['carrier_code'] == '') | |
$show = false; | |
} | |
if($show) {?> | |
<span class="separator2"> </span> | |
<a class="askTrackBtn" href="javascript:;" onclick="popWin('<?php echo Mage::helper('shipping/data')->getTrackingPopUpUrlByOrderId($_order->getId()) ?>', 'tracking the order', 'scrollbars=yes,width=800,height=600,resizable=yes');return false;"><span><?php echo $this->__('Track Order') ?></span></a> | |
<?php | |
} | |
}?> |
Welcome to my Blog
Certifications
Honor
Recognition
Contributions
Categories
- Apache (2)
- ChatGPT (1)
- Domain name (2)
- eCommerce (2)
- htaccess (1)
- Humor (3)
- Instagram API (1)
- jQuery (4)
- JSON (1)
- Linux (10)
- Magento (142)
- Magento admin (58)
- Magento Certification (5)
- Magento error (13)
- Magento frontend (68)
- Magento Imagine (2)
- Magento Interview (5)
- Magento Master (2)
- Magento2 (10)
- Mobile (1)
- MySQL (7)
- OpenAI (1)
- OroCRM (2)
- Performance (2)
- PHP (8)
- Prototype JS (3)
- Security (4)
- Wordpress (3)
- XML (2)