markdown Observer - Como trafegar dados de uma controller para um观察员
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Observer - Como trafegar dados de uma controller para um观察员相关的知识,希望对你有一定的参考价值。
## Controller
O código abaixo faz parte de uma Controller, onde os dados estão disponíveis, e iremos armazenar os dados via sessão, para que possamos resgatá-los em nosso observer.
```PHP
<?php
class Default_Controller extends Mage_Core_Controller_Front_Action {
public function indexAction() {
$session = Mage::getSingleton( 'checkout/session' );
$session->setDirectCheckoutUtmSource( $_GET['utm_source'] );
$session->setDirectCheckoutUtmCampaing( $_GET['utm_campaing'] );
}
?>
```
## Observer
Aqui, em nosso observer, eu resgato os parâmetros que foram passados via sessão pela nossa Controller.
```PHP
<?php
class Projeto_CustomBlocks_Model_NomeDoObserver {
public function NomeDoMetodo() {
$session = Mage::getSingleton('checkout/session');
$utmSource = $session->getDirectCheckoutUtmSource();
$utmCampaing = $session->getDirectCheckoutUtmCampaing();
$query = array();
if ( !empty( strval( $utmSource ) ) ) {
$query[] = "utm_source=$utmSource";
}
if ( !empty( strval( $utmCampaing ) ) ) {
$query[] = "utm_campaing=$utmCampaing";
}
$query = implode( "&", $query );
header("Location: " . Mage::getUrl('checkout/onepage', array( '_query' => $query)));
}
}
```
以上是关于markdown Observer - Como trafegar dados de uma controller para um观察员的主要内容,如果未能解决你的问题,请参考以下文章