我正在实施报价单。然后我声明了一个模块,在其中定义了一个 phtml 模板,其中包含表单、计算出的价格显示和 javascript/ajax 脚本。

我还定义了一个块:

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

和一个控制器

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

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

为了能够显示和更新我的报价,我需要使用一些变量。

我想在 indexAction() 中声明和初始化它们(用于默认价格显示),并在 quoteAction() 中更新它们,这将由我的表单脚本调用。

这是好方法吗?

如果在indexAction中声明,如何在quoteAction()和phtml中引用它们?

感谢您的帮助,

亚历克斯

有帮助吗?

解决方案

全局变量设置使用 Mage::register('variable', $variable). 。可以从任何地方调用该变量,然后使用 $_variable = Mage::registry('variable).

如果您需要会话变量,可以使用:

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

稍后可以使用以下命令调用该变量:

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

我想说,理想情况下,会话和全局变量是在控制器中设置的。然后您可以在任何地方给他们打电话。

对于使用的变量是视图(.phtml),最好是在块中设置它们。然后您可以使用 $this->getVariable() 调用它们。

private $_variable;
public function getVariable(){
    return $_variable
} 
public function setVariable(){
    ...logic...
}
许可以下: CC-BY-SA归因
scroll top