2012-07-23 3 views
3

사이트에서 MVC 패턴을 사용할 때 동적 제목을 사용하는 가장 좋은 방법은 무엇입니까?MVC 및 동적 제목

프레임 워크에서 컨트롤러의 제목을 $seo->setTitle('Title here...')과 같이 설정 한 것을 보았습니다. 제품 페이지에서 동적 제목을 원할 때 제목에 제품 이름을 사용하려는 경우 좋지 않습니다.

나는 SEO 객체를 가지고 컨트롤러와 생성자에서 페이지 이름을 생성하고 제공된 페이지 이름을 사용하여 객체 내의 메소드를 검색하여 pageTitle 및 desciption 속성을 설정하려고합니다.

MVC의 규칙을 어기거나 나쁜 연습으로 간주 될 수 있습니까? 그렇다면 더 나은 접근 방법은 무엇입니까? 감사.

답변

3

페이지 제목 생성은 프리젠 테이션 로직의 일부이므로 MVC 디자인 패턴보기 부분에서 처리해야합니다.

올바른 View은 벙어리가 아니므로 Template입니다. 대신 뷰는 애플리케이션의 모든 프리젠 테이션 로직을 담당해야하며 여러 템플릿을 사용할 수 있어야합니다.

나머지는 적용하려는 MVC 형식 패턴에 따라 다릅니다. Model2에서 MVC 및 HMVC 패턴보기가 활성화되어 모델 레이어에서 정보를 요청할 수 있습니다. MVP 또는 MVVM을 구현하면 수동보기가 포함되어 컨트롤러에서 정보를 가져옵니다.

+0

내 head.php보기 파일에는 getTitle ($ pageNameHere)과 같은 기능이있어 필요한 페이지 제목을 반환합니다. MVC에서 뷰 파일은 모델에 액세스 할 수 있습니다. – David

+0

예,'View' 인스턴스가 그러한 메소드를 갖는 것은 당연한 것입니다. 그러나''head.php ''는 나에게 템플리트처럼 들립니다. –

+0

감사합니다. 템플릿과 비슷한 것 같은데 무슨 뜻입니까? 내 views 폴더에는 common 폴더가 있고 head.php, header.php 및 footer.php가 있습니다. 이것들은 $ view-> render() 메서드가 실행될 때 포함됩니다. 뭔가 잘못 됐니? – David

1

난 쉽게 사용할 수

$seo->setTitle($productName . " page title...."); 

$ PRODUCTNAME 변수를하고 잘못이 무엇인지 표시되지 않습니다.