2011-04-19 2 views
5

모듈 작성자를 사용하여 그리드 뷰가있는 관리 모듈을 설정했는데 잘 작동했지만 이제는 동일한 모듈 내에 다른 그리드 뷰를 추가해야합니다.Magento Grid Container 블럭이 로딩되지 않습니다.

그리드보기와 관련된 모든 파일 (제어기 및 블록 파일은 모델이 아니기 때문에 내가하고있는 것에 필요하지 않음)을 복사하고 이름을 바꾸고 새로 만든 블록을 레이아웃 xml에 추가했습니다. 그것을위한 핸들은 새로운 컨트롤러입니다.

Firephp를 사용하여,로드하지 않는 Grid.php가 끝날 때까지 모든 것이 새로운 뷰에로드되고, 최종 출력은 빈 페이지 일뿐입니다.

필자가 알고있는 한,이 새로운 뷰는 이름을 제외한 모든 측면에서 모듈에 의해 생성 된 원래 작업 격자 뷰와 동일하므로 Grid.php를 인식하거나로드하지 못하게하는 원인은 무엇일까요?

답변

17

그리드 컨테이너 블록에서 $_blockGroup$_controller의 값을 살펴보십시오. 컨테이너에 의해 그리드 블록을 찾아로드하는 데 사용됩니다. 무슨 일이 벌어지고 있는지 정말로보고 싶다면 parent::_prepareLayout() 메쏘드를보십시오.

PS :
$_blockGroup은 모듈의 이름입니다.
$_controller은 그리드 블록의 경로입니다.

PPS :
이 충분하지 경우 .htaccess에 넣고는 : 그것은 수집의 SQL 또는 뭔가에 그리드가 문제가되는 경우

php_flag display_errors on 
SetEnv MAGE_IS_DEVELOPER_MODE true 

당신은 더 많은 정보를 얻을 수 있습니다.

+0

이들은 모두 블록에 설정됩니다. 흥미롭게도, $ _blockGroup을 원래 뷰의 $ _blockGroup으로 설정하면 원래 뷰의 그리드를 잘로드합니다. _blockGroup 단순히 눈금이있는 블록 폴더의 폴더 이름을 참조하는 또는이 다른 어딘가에 정의되어 있습니까? – Geoff

+0

맞습니다. _blockGroup은 폴더 이름입니다. – clockworkgeek

+0

방금 ​​서버의 오류 로그를 살펴본 결과 다음과 같은 오류가 발생했습니다. 개체가 아닌 개체에서 setSaveParametersInSession() 함수를 호출합니다. – Geoff