If you're specifically doing this on the checkout success page - in success.phtml - then the code to get the order increment ID is already available in the template, since it is displayed to the customer.
You just need the following:
$orderId = $this->getOrderId();
Note that this won't work on other pages so, for those, you'd need to use:
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$this->getRequest() can be used in template (phtml) files.
Here is the code:
/**
* get Controller name
*/
$this
->getRequest()->getControllerName();
/**
* get Action name, i.e. the function inside the controller
*/
$this
->getRequest()->getActionName();
/**
* get Router name
*/
$this
->getRequest()->getRouteName();
/**
* get module name
*/
$this
->getRequest()->getModuleName();
IN CLASS FILES
$this might not work in class (php) files. In this case, you need to use Mage::app().
Here is the code:
/**
* get Controller name
*/
Mage::app()->getRequest()->getControllerName();
/**
* get Action name, i.e. the function inside the controller
*/
Mage::app()->getRequest()->getActionName();
/**
* get Router name
*/
Mage::app()->getRequest()->getRouteName();
/**
* get module name
*/
Mage::app()->getRequest()->getModuleName();
The above functions (getControllerName, getActionName, getRouteName, getModuleName) are present in the class Mage_Core_Model_Url.
You can explore all requests with print_r.
echo
"<pre>"
;
print_r(Mage::app()->getRequest());
echo
"</pre>"
;
通过sku获取产品
$product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
$proData=$_product->getData();
$proSku=$proData['sku'];
$relProduct=Mage::getModel("catalog/product")->loadByAttribute('sku',$proSku);
$zipValue=$relProduct->getResource()->getAttribute('zipin')->getFrontend()->getValue($relProduct);