Pregunta

Estoy implementando un formulario de cotización.Luego declaré un módulo en el que definí una plantilla phtml que contenía el formulario, la visualización del precio calculado y el script javascript/ajax.

También he definido un bloque:

<?php
class Mine_Quotemodule_Block_Quoteformblock extends Mage_Core_Block_Template
{
     public function methodblock()
     {
         return 'informations de mon block !!';
     }
}
?>

y un controlador

<?php
class Mine_Quotemodule_IndexController extends Mage_Core_Controller_Front_Action
{
   public function indexAction()
   {
        $this->loadLayout();
        $this->renderLayout();
   }

   public function quoteAction()
   {
     echo 'test mamethode';
    }
}
?>

Para poder mostrar y actualizar mi precio de cotización, necesito usar algunas variables.

Pensé en declararlos e inicializarlos en indexAction() (para mostrar el precio predeterminado) y actualizarlos en quoteAction(), que será llamado por mi script de formulario.

¿Es este el buen camino?

si se declara en indexAction, ¿cómo hacer referencia a ellos en quoteAction() y en phtml?

Gracias por su ayuda,

Alex

¿Fue útil?

Solución

Las variables globales se establecen usando Mage::register('variable', $variable).Esta variable se puede llamar desde cualquier lugar y luego usar $_variable = Mage::registry('variable).

Si necesita una variable de sesión, puede usar:

Mage::getSingleton('core/session')->setMyVariable('value of variable');

Esta variable se puede llamar más tarde con:

$variable = Mage::getSingleton('core/session')->getMyVariable();

Yo diría que lo ideal es que la sesión y las variables globales estén configuradas en los controladores.Luego podrás llamarlos a cualquier lugar.

Para las variables utilizadas es la vista (.phtml), lo mejor es configurarlas en el bloque.Luego puedes llamarlos usando $this->getVariable().

private $_variable;
public function getVariable(){
    return $_variable
} 
public function setVariable(){
    ...logic...
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top