PHTML에서 사용되는 VAR을 초기화하고 갱신합니다.적절한 방법은 무엇입니까?

magento.stackexchange https://magento.stackexchange.com//questions/38054

문제

나는 견적 양식을 구현하고 있습니다.나는 양식, 계산 된 가격 디스플레이 및 JavaScript / Ajax 스크립트가 포함 된 PHTML 템플릿을 정의한 모듈을 선언했다.

나는 또한 블록을 정의했다 :

<?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';
    }
}
?>
.

내 견적 가격을 표시하고 업데이트 할 수 있도록 일부 VAR을 사용할 필요가 있습니다.

나는 indexAction ()에서 그들을 선언하고 초기화하고 내 양식 스크립트로 호출하는 quoteaction ()에서 quitalction ()으로 업데이트한다고 생각했습니다.

이것은 좋은 방법입니까?

인덱스에서 선언 된 경우, Quotaction () 및 PHTML에서 참조하는 방법은 무엇입니까?

도움말 qu,

알렉스

도움이 되었습니까?

해결책

전역 변수는 Mage::register('variable', $variable)를 사용하여 설정됩니다.이 변수는 어디서나 GeneraCodicicetagcode를 사용하여 호출 할 수 있습니다.

세션 변수가 필요한 경우 다음을 사용할 수 있습니다.

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 ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top