Inizializzazione e aggiornamento vars utilizzato in un PHTML.Qual è il modo corretto?
-
12-12-2019 - |
Domanda
Sto implementazione di un modulo di quotazione.Ho quindi dichiarato un modulo in cui ho definito un modello di PHTML contenente il modulo, il display del prezzo calcolato e lo script JavaScript / Ajax.
Ho anche definito un blocco:
<?php
class Mine_Quotemodule_Block_Quoteformblock extends Mage_Core_Block_Template
{
public function methodblock()
{
return 'informations de mon block !!';
}
}
?>
.
e un controller
<?php
class Mine_Quotemodule_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$this->loadLayout();
$this->renderLayout();
}
public function quoteAction()
{
echo 'test mamethode';
}
}
?>
.
Per poter visualizzare e aggiornare il mio prezzo di quotazione, ho bisogno di usare alcuni vars.
Ho pensato di dichiararli e inizializzarli nell'indicizzazione () (per la visualizzazione del prezzo predefinita) e aggiornarli in quotazione () che verrà chiamato dallo script del mio modulo.
è questo il buon modo?
Se dichiarato in Indexaction, come riferirsi a loro in quotazione () e nel PHTML?
Grazie per il tuo aiuto,
Alex
Soluzione
Le variabili globali sono impostate utilizzando Mage::register('variable', $variable)
.Questa variabile può essere chiamata da qualsiasi luogo quindi utilizzando $_variable = Mage::registry('variable)
.
Se è necessario una variabile di sessione, è possibile utilizzare:
Mage::getSingleton('core/session')->setMyVariable('value of variable');
.
Questa variabile può essere chiamata in seguito con:
$variable = Mage::getSingleton('core/session')->getMyVariable();
.
Direi che idealmente la sessione e le variabili globali sono impostate nei controller.Puoi chiamarli ovunque.
Per le variabili utilizzate è la vista (.phtml), il meglio è di impostarli nel blocco.Puoi quindi chiamarli usando $ questo-> GetVariable ().
private $_variable;
public function getVariable(){
return $_variable
}
public function setVariable(){
...logic...
}
.