2012-04-12 2 views
0

새로운 CakePHP 설치 홈페이지를 수정할 때 기본적으로 페이지 컨트롤러가 사용되고 있다는 것을 알았습니다. 나는 이것이 주로 정적 페이지에 사용되는 것을 읽었다. 정적 왼쪽 탐색 세로 막대를 만들고 싶습니다만 여기에서 다른 컨트롤러를 사용하려면 어떻게해야하는지 잘 모르겠습니다. /cake.CakePHP : 다른 컨트롤러를 사용하기 위해 홈페이지로 이동

물건을 고르려고하는 것처럼 이것은 정말 지저분한 일입니다. 예를 들어, 제품 컨트롤러를 사용하면 데이터베이스에있는 제품 중 하나를 /cake/products을 통해 처리 할 수 ​​있습니다. 그래서 C:\...\cake\app\views\pages\home.ctp에 다음과 같은 (HTML 코드 생략) 코드가 포함 된 $this->element('left_menu')을 사용하여 왼손잡이 메뉴를 만들었습니다.

<?php echo $this->Html->link(__('Product View', true), array('action' => 'products/view')); ?> 

그리고이 메뉴 버튼을 클릭하면 cake/page/products이 제품 컨트롤러의 인덱스 페이지 (홈페이지에서) 그래서이 제품 컨트롤러의 기능을 사용할 수 있습니다 라우팅하고있다.

Router::connect('/pages/products/*', array('controller' => 'products', 'action' => 'index')); 

이 왼쪽 네비게이션 메뉴는 홈페이지에서 작동하지 않습니다,하지만 난이 메뉴 버튼을 클릭 /cake/product/...로 이동하면이 페이지 컨트롤러를 기준으로하기 때문에 더 이상 작동합니다. 이 정적 왼쪽 탐색 모음을 다른 컨트롤러를 사용할 수있게 만드는 방법은 무엇입니까? 결국,이 정적 메뉴를 사용하여 다른 컨트롤러의 기능도 사용할 수 있습니다. 난 너무 혼란 스러워요!

답변

1

메뉴가 제대로 갖추어져 있는지 확인하려면 app/View/Layouts/default.ctp 파일에 모든 메뉴 항목을 넣어야합니다.

링크 된 페이지에서 HTML 도우미를 살펴보고 링크를 생성하십시오. 시간을 절약 할 수 있습니다.

+0

정적 항목이 CakePHP에서해야하는 부분입니까? 머리말, 꼬리말, 그리고 (내 경우에는) 모든 페이지의 왼쪽 탐색 바를 원하면 의미가있는 것처럼 보입니다.이 모든 것이 하나의 파일에서 수행 될 수 있습니다. 이것에 대해 이야기하는 기사가 있습니까? – musicliftsme

+0

그렇습니다. 정적 정보를 추가하는 방법입니다. 그런 다음 다양한 레이아웃을 정의하여 다양한 유형의 모양을 추가 할 수 있습니다. 기사에 대해서는 확실하지 않습니다. 나는 CakePhp를 한 사이트에서만 Yii (스테로이드의 CakePhp와 같음)로 전환하기 전에 사용했습니다. 당신이 당신의 위치와 아주 멀리이지 않는 경우에,보기 가지고 갈 가치가 있을지도 모르다. 나는 Cake 프레임 워크가 어려움에 빠져 있다는 인상을 받고있다 ... – acorncom

관련 문제