Inicializar e atualizar vars usado em um phtml.Qual é a forma correta?
-
12-12-2019 - |
Pergunta
Eu sou a implementação de um formulário de cotação.Eu, então, declarou um módulo no qual eu definido um phtml modelo que contém o formulário, calculado o indicador de preço e javascript/ajax script.
Eu também definiu um bloco :
<?php
class Mine_Quotemodule_Block_Quoteformblock extends Mage_Core_Block_Template
{
public function methodblock()
{
return 'informations de mon block !!';
}
}
?>
e um controlador de
<?php
class Mine_Quotemodule_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$this->loadLayout();
$this->renderLayout();
}
public function quoteAction()
{
echo 'test mamethode';
}
}
?>
A fim de ser capaz de exibir e atualizar o meu preço de cotação, é preciso usar algumas variáveis.
Eu pensei declarando e inicializando-los no indexAction() (para o padrão do indicador de preço) e atualizá-los em quoteAction() que será chamado pelo meu script de formulário.
É esta a boa forma?
se declarada na indexAction, como se referem a eles em quoteAction() e no phtml?
Obrigado por sua ajuda,
Alex
Solução
As variáveis globais são definidas usando Mage::register('variable', $variable)
.Esta variável pode ser chamado a partir de qualquer lugar, em seguida, usando $_variable = Mage::registry('variable)
.
Se você precisa de uma variável de sessão, você pode usar :
Mage::getSingleton('core/session')->setMyVariable('value of variable');
Esta variável pode ser chamado mais tarde com :
$variable = Mage::getSingleton('core/session')->getMyVariable();
Eu diria que, idealmente, a sessão e variáveis globais são definidas nos controladores.Em seguida, você pode chamá-los de qualquer lugar.
Para as variáveis utilizadas é a visualização..phtml), o melhor é colocá-los em bloco.Em seguida, você pode chamá-los usando $this->getVariable().
private $_variable;
public function getVariable(){
return $_variable
}
public function setVariable(){
...logic...
}