2017-11-11 13 views
1

재정의 블록 XML에서 ifconfig를 추가 할 \ success.phtml 내 파일젠토 2 : 내가</p> <p>공급 업체 의 젠토 모듈 체크 아웃 보기 프론트 엔드에서 PHTML 파일과 블록을 무시하려

응용 프로그램 \ 코드 \ 사용자 \ 모듈 \보기 \ 프론트 엔드 \ 체크 아웃 \ success.phtml

및 XML 파일 checkout_onepage_success.xml입니다

<referenceBlock name="checkout.success"> 
     <action method="setTemplate" ifconfig="custom_general/general/active"> 
      <argument name="template" xsi:type="string">Custom_Module::checkout/success.phtml</argument> 
     </action> 
</referenceBlock> 

구성에서 모듈을 활성화 한 다음 내 블록 및 phtml 파일과 함께 실행하십시오.

모듈을 비활성화 한 다음 기본 파일을 실행하고 차단합니다.

하지만 구성에서 모듈을 사용하지 않도록 설정하면 기본 파일과 블록이 실행되지 않습니다.

도와 사전에이 문제를

감사를 해결하시기 바랍니다.

답변

0

config에 값이 true 일 때만 템플릿이 표시되면 else 조건으로 작동하지 않습니다.

문제를 해결하려면 도우미 함수를 만들어 도우미 메서드에 조건을 추가하는 것이 좋습니다. 이 같은

뭔가 :

<?php 

namespace Custom\Module\Helper; 

class Data extends \Magento\Framework\App\Helper\AbstractHelper 
{ 
    protected $_request; 

    public function __construct 
    (
     \Magento\Framework\App\Request\Http $request 
    ) { 
     $this->_request = $request; 
    } 

    public function getTemplate() 
    { 
     if ($this->_scopeConfig->isSetFlag('custom_general/general/active')) { 
      $template = 'Custom_Module::checkout/success.phtml'; 
     } else { 
      $template = 'Vendor_Module::checkout/success.phtml'; 
     } 

     return $template; 
    } 
} 

다음 레이아웃 대신 나를 위해 일하고 재생 이

<referenceBlock name="checkout.success"> 
    <action method="setTemplate"> 
     <argument name="template" xsi:type="helper" helper="Custom\Module\Helper\Data::getTemplate"></argument> 
    </action> 
</referenceBlock> 
+0

감사에서 블록을 포함 –