질문 2부터 시작하십시오 : 모든 페이지에는 자체 컨트롤러가 필요 없습니다. 페이지가 정적 인 경우 단일 작업을 사용하여 모든 페이지를로드 할 수도 있습니다. 보다 동적 인 처리를 위해 각 페이지마다 별도의 작업을 사용할 수 있습니다.
어쨌든 코드를 컨트롤러 및 동작으로 구조가 올바른지 확인하십시오. 예를 들어 CMS 내부에서 사용자가 게시물을 편집, 작성 또는 삭제할 수 있습니다. 그 안에 PostController
을 작성하면 editAction
, createAction
및 deleteAction
이라고 쓸 수 있습니다.
은 테이블에 URL을 저장할 수 있지만 반드시 그렇게 할 필요는 없습니다.
(주로 정적 콘텐츠에 대한)
싱글 액션 방식은 id
또는 name
가 GET의 PARAM에 저장되어있는 페이지를 확인하십시오.
public function genericpageAction()
{
$thePageID = $this->_request->getParam('id');
// fetch the page content from the db based on $thePageID
// and pass it to the view
}
은 물론, 여기, 당신은 또한 당신이 방법을 선택한 경우 테이블에 저장되어있는 URL에 대해 일치 수 : 당신은 다음 코드를 사용할 수 있습니다.
여러 액션 접근 방식 (동적 인 처리는, 가장 가능성이 당신이 CMS와 원하는)
는 각 페이지에 대한 경로를 정의하고 각 작업의 내용을로드 할 수 있습니다. 예를 들어 게시물을 편집 할 페이지의 경우 :
class MyCMS_PostController extends Zend_Controller_Action
{
public function editAction()
{
// fetch the home page content
// do any further processing if necessary
}
}