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:
$this
->getRequest()->getControllerName();
$this
->getRequest()->getActionName();
$this
->getRequest()->getRouteName();
$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:
Mage::app()->getRequest()->getControllerName();
Mage::app()->getRequest()->getActionName();
Mage::app()->getRequest()->getRouteName();
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.
print_r(Mage::app()->getRequest());
通过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);