Magento check if customer registered in checkout page
If you want to check if the customer is guest, registered or just register to the site when they place the order, below script will help you identify that in success.phtml file.
You can find success / order confirmation phtml file at:
app/design/frontend/[package]/[theme]/template/checkout/success.phtml
Just at the end of this file put below lines of code:
<?php $order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId()); | |
$quoteId = $order->getQuoteId(); | |
$quote = Mage::getModel('sales/quote')->load($quoteId); | |
$method = $quote->getCheckoutMethod(true); | |
$customer_email = $order->getCustomerEmail(); | |
if ($method == 'register'){ ?> | |
//code to handle if customer just registered to your site | |
<?php } elseif($method == 'guest') {?> | |
//code to handle if customer is guest | |
<?php } else { ?> | |
//code to handle for logged in customer | |
<?php } ?> |
In the same file, success.phtml, you can request for order number, customer email, customer id, subtotal, grandtotal, order ID just created etc. like this:
$_customerId = Mage::getSingleton('customer/session')->getCustomerId(); | |
$lastOrderId = Mage::getSingleton('checkout/session')->getLastOrderId(); | |
$order = Mage::getSingleton('sales/order'); | |
$order->load($lastOrderId); | |
$_totalData =$order->getData(); | |
$_sub = $_totalData['subtotal']; | |
$_orderEmail = $_totalData['customer_email']; | |
$_orderNumber = $_totalData['increment_id']; |
Magento get State Code, ID, Name from Region ID
Magento get state name, ID, code from region ID or region code.
Get state code from state id
$region = Mage::getModel('directory/region')->load(12); | |
$state_code = $region->getCode(); //CA |
Get state name from state id
$region = Mage::getModel('directory/region')->load(12); | |
$state_name = $region->getName(); //California |
Get state id from state code
$region = Mage::getModel('directory/region')->loadByCode('CA', 'US'); | |
$state_id = $region->getId(); //12 |
Magento: Sample apache virtualhost for your website
Sample apache virtualhost to point to your magento directory and run your local website with specified URL.
<VirtualHost *:80> | |
ServerAdmin webmaster@dummy-host.example.com | |
DocumentRoot "/var/www/magento/" | |
ServerName loca.lho.st | |
ServerAlias loca.lho.st | |
ErrorLog "logs/error_log" | |
CustomLog "logs/access_log" common | |
</VirtualHost> |
Add entry to /etc/hosts too:
127.0.0.1 loca.lho.st |
Restart apache (service httpd restart OR service apache2 restart) and point your browser location to:
http://loca.lho.st |
and you will see the website running from your /var/www/magento directory.
Magento: Sample local.xml template
Sample app/etc/local.xml file template. Change mysql database name, username and password with yours and clear the cache.
<!-- | |
/** | |
* 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_Core | |
* @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com) | |
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) | |
*/ | |
--> | |
<config> | |
<global> | |
<install> | |
<date><![CDATA[Mon, 23 Sep 2013 19:53:16 +0000]]></date> | |
</install> | |
<crypt> | |
<key><![CDATA[414c9022922d31b62bbe4447356e4ed6]]></key> | |
</crypt> | |
<disable_local_modules>false</disable_local_modules> | |
<resources> | |
<db> | |
<table_prefix><![CDATA[]]></table_prefix> | |
</db> | |
<default_setup> | |
<connection> | |
<host><![CDATA[127.0.0.1]]></host> | |
<username><![CDATA[MYSQL_USERNAME]]></username> | |
<password><![CDATA[MYSQL_PASSWORD]]></password> | |
<dbname><![CDATA[DATABASE_NAME]]></dbname> | |
<initStatements><![CDATA[SET NAMES utf8]]></initStatements> | |
<model><![CDATA[mysql4]]></model> | |
<type><![CDATA[pdo_mysql]]></type> | |
<pdoType><![CDATA[]]></pdoType> | |
<active>1</active> | |
</connection> | |
</default_setup> | |
</resources> | |
<session_save><![CDATA[files]]></session_save> | |
</global> | |
<admin> | |
<routers> | |
<adminhtml> | |
<args> | |
<frontName><![CDATA[admin]]></frontName> | |
</args> | |
</adminhtml> | |
</routers> | |
</admin> | |
</config> |
Magento: Clear all caches from command line
Magento clear all caches from command line, programatically from ssh. Clearing the caches is a must when you are making any configuration changes in your Magento website. Although you can always clear the cache from admin panel, sometimes for faster cleaning or unable to log into admin panel reason, it’s good to have a script which will clear all the caches in Magento.
Create a file in your Magento root and name it clearCache.php with the below code:
<?php | |
echo "Start Cleaning all caches at ... " . date("Y-m-d H:i:s") . "\n\n"; | |
ini_set("display_errors", 1); | |
require 'app/Mage.php'; | |
Mage::app('admin')->setUseSessionInUrl(false); | |
Mage::getConfig()->init(); | |
$types = Mage::app()->getCacheInstance()->getTypes(); | |
try { | |
echo "Cleaning data cache... \n"; | |
flush(); | |
foreach ($types as $type => $data) { | |
echo "Removing $type ... "; | |
echo Mage::app()->getCacheInstance()->clean($data["tags"]) ? "Cache cleared!" : "There is some error!"; | |
echo "\n"; | |
} | |
} catch (exception $e) { | |
die("[ERROR:" . $e->getMessage() . "]"); | |
} | |
echo "\n"; | |
try { | |
echo "Cleaning stored cache... "; | |
flush(); | |
echo Mage::app()->getCacheInstance()->clean() ? "Cache cleared!" : "There is some error!"; | |
echo "\n\n"; | |
} catch (exception $e) { | |
die("[ERROR:" . $e->getMessage() . "]"); | |
} | |
?> |
Make sure all the double quotes comes good in copy pasting.
You can now run this script by the command “php -f clearCache.php” from your magento root location in terminal and this will start clearing all the caches for you! Once done, it will confirm by the message “Cache cleared!” or giving error message if it fails.
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)