2010-07-08 6 views
2

다른 페이지로 이동하는 대신 제품에 대한 팝업 창을 만들고 싶습니다. 기본적으로 제품보기 템플릿의 복사본을 만들어 별도의 모델과 블록을 만들지 않고도 내 요구 사항을 수정할 수있는 가장 좋은 방법에 대한 조언을 찾고 있습니다. 버전 1.3.2.2를 사용하고 있습니다. 설명이 필요한 것이 있으면 알려주세요.magento 제품 팝업

이 작업을 수행하는 모듈이 있다는 것을 알고 있지만 직접하고 싶습니다. 부분적으로 배우기.

답변

1

일반적으로 자바 스크립트를 사용하면 제품 페이지 링크가 팝업으로 열리도록 변경할 수 있습니다 (AJAX 레이어 또는 많은 사용자의 브라우저가 차단하는 "실제"팝업을 의미하는 경우 명확하지 않음). 그런 다음 레이아웃 XML 파일을 수정하여 필요한 블록을 추가하거나 제거하십시오.

정상 페이지와 마우스가 놓인 '레이어'를 모두 갖고 싶으면 새 컨트롤러를 만들고 카탈로그보기 레이아웃 (IIRC, $this->loadLayout('catalog_product_view')해야 함)에서 상속되게하십시오. 그런 다음 다시 한 번 레이아웃 태그의 레이아웃을 변경하여 필요에 따라 추가하고 제거하십시오.

+0

실제 팝업을 만들 수 있습니다. 나는 별도의 제품보기 레이아웃을 만드는 방법을 궁금해서 일반 페이지 및 마우스 오버 레이어를 말한 것처럼 할 수 있습니다. 내 레이아웃 태그의 레이아웃을 변경하면 무슨 뜻인지 알 수 없습니다. 새 컨트롤러, 레이아웃 xml, 템플릿으로 새 모듈을 만들어야합니까? 문제가있는 부분은 전에 모듈을 만들었지 만 레이아웃과 템플릿은 처음부터 모두였습니다. 따라서 이미 이미 존재하는 것을 기반으로하는 방법에 대해서는 명확하지 않습니다. – dardub

0

조셉의 대답은 분명하지 않았지만 이것이 내가 한 것입니다. ProductController를 확장 한 새로운 컨트롤러로 팝업을위한 새로운 모듈을 만들었습니다. viewAction의 복사본을 만들어 새 컨트롤러에서 popupAction으로 이름을 바꿨습니다.

그런 다음 catalog.xml의 사본을 만들어 내 모듈에 따라 이름을 변경했습니다. 그런 다음 제품보기 페이지와 관련이없는 모든 항목을 삭제합니다. 뷰 템플릿의 사본을 만들어 내 XML 레이아웃의 템플릿으로 설정했습니다. 그런 다음 xml 레이아웃 또는 새 뷰 템플릿 내에서 필요한 변경 작업을 수행했습니다.

나를 위해 $this->loadLayout('catalog_product_view')을 얻을 수 없습니다.