2013-06-09 2 views
0

Magento 1.7.0.2 플랫폼 용 확장 프로그램을 만들고 있습니다. 확장 기능이 admin 패널에서 관리되는 jquery & js를 기본적으로로드하는 데 사용되는 한 성공적이었습니다.Magento의 컨트롤러를 사용하여 레이아웃 xml을 추가/생성하십시오.

문제는 storeConfig를 사용하는 관리자 설정에서 여러 개의 예/아니오 구성이 있고 echo, else 등을 사용하여 .phtml을 통해로드하지 않으려는 경우입니다.이 경우 병합/압축에 사용할 수 없습니다. if 정적 압축 파일 인 다른 압축 확장명 (기본 magento라고도 함)을 통해 요청되었습니다. (추신 : 그렇지 않으면 에코 else 파일이 xml보다 느린 경우도 있습니다)

그래서 레이아웃을 통해 이러한 파일을로드하고 싶습니다. 그러나 디자인/파일에서 .xml 레이아웃 절차를 사용하지 않습니다. default/default/layout 너무 많은 config yes/no 값과 .xml 구조 (예 : ifconfig = "value")에서 사용할 수없는 model/select 옵션이 있기 때문에.

컨트롤러를 사용하여 헤드 블록에 이러한 파일을로드하고 여기에 if/else를 실행하여 적절한 구성을로드하려고합니다.

지금까지 내가

public function indexAction(){ 

$this->loadLayout(); 
$this->renderLayout(); 


} 

을하고 난 시도하고있다

$this->getLayout()->getBlock('head')->append(
$this->getLayout() 
->createBlock('core/text', 'some-unique-name') 
->setText('<script type="text/javascript" src="/foo/baz/bar.js"></script>') 
); 

내가 앨런 눈의 일부 조각과 제안을 읽었지만되었습니다 (단지 일명 작업을 진행에서의 시작) 내가 각 페이지에 생성 된 XML로드를 가지기를 원하지만 컨트롤러를 사용하여 가능하지 않을 수도 있습니다.

의견, 도움이 & 의견은 대단히 환영합니다.

+0

는 포스트 [링크] http://inchoo.net/ecommerce/magento와 Inchoo에서 승무원으로부터 훌륭한 정보를 가지고/programatically-create-magento-blocks-and-inject-them-into-layout / – BENN1TH

답변

1

하나가 기존의 방법을 사용한다으로 다음을 수행해야합니다

$this->getLayout()->getBlock('head')->addJs('javascriptfile.js');

관련 문제