2014-01-20 1 views
0

저는 AppController를 확장하는 ItemsController가 있습니다. 내 사이트 메뉴를 처리하기 위해 menuhelper을 사용했습니다.cakephp - cake php 도움말을 정확하게 정의하는 법

public $helpers = array('Form', 'Html', 'Menu'); 

이상한 것은 내가 그것을 내 메뉴 어쨌든 일을 잊고 있다는 것입니다 : 그러나, 나는 당신이 컨트롤러 (AppController가)에 배열에 헬퍼를 추가해야하는 the documentation에 보았다. 또한 양식과 HTML을 배열에 추가해야합니다. 그렇지 않으면 더 이상 작동하지 않기 때문입니다.

public $helpers = array('Menu'); 

그래서 내가 무엇 이건, 그것은 여전히 ​​작동 것 같다,하지만 난 왜하지 않고, 난 몰라 : 내 AppController가이 같은 일을 할 때 그러나, 내 양식 헬퍼는 여전히 작동 자동 "마법"처럼 :)

문서에 누락 된 것이 있습니까?

+0

이 헬퍼를 어떻게 사용하고 있습니까? – Anubhav

+0

음, 추가보기에서 "$ this-> Menu-> render ($ menu)"라는 메뉴 플러그인을 위해 작동하는 "$ this-> Form-> create ('something')"을 사용합니다. 기본 레이아웃도 작동합니다. – randomizer

답변

1

2.x 이후로 앱 또는 핵심 도우미를 지정하는 데 "필요"가 없습니다. 자동으로로드됩니다.

플러그인 도우미를 수동으로 지정하기 만하면됩니다.

그건 제가 개인적으로 항상 제가 사용하는 도우미를 설명하고, 플러그인과 일관성이 있다고 말했습니다.

+0

오케이, 문서가 최신이 아닙니까? "당신은 CakePHP에서 컨트롤러를 인식하게함으로써 헬퍼를 사용할 수 있습니다. 각 컨트롤러에는 뷰에서 사용할 수 있도록 헬퍼를 나열하는 $ helpers 속성이 있습니다. 뷰에서 도우미를 사용하려면 컨트롤러의 헬퍼 이름을 추가하십시오 $ helpers array : "이 문제에 대해서는 문서가 명확하지 않은 것 같습니다. – randomizer

+0

아니요, 맞습니다. 내가 언급했듯이 그것들을 포함시키는 것이 좋은 습관이다 (비록 그것 없이는 효과가있다 할지라도). 예 : 한 도우미를 플러그인으로 이동하면 필요한 모든 컨트롤러를 찾아서 추가해야합니다. 그렇지 않으면 어커런스를 검색하고 플러그인 접두어를 추가 할 수 있습니다. – mark