2014-03-27 2 views
0

간단한 ACL 제어 응용 프로그램 (enter link description here)을 튜토리얼 확장하려고합니다. 나는 테이블 그래서 테이블 카테고리를 추가하려면 :CakePHP - Tutorial ACL extend

CREATE TABLE users (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
username VARCHAR(255) NOT NULL UNIQUE, 
password CHAR(40) NOT NULL, 
group_id INT(11) NOT NULL, 
created DATETIME, 
modified DATETIME 
); 


CREATE TABLE groups (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
name VARCHAR(100) NOT NULL, 
created DATETIME, 
modified DATETIME 
); 


CREATE TABLE posts (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
user_id INT(11) NOT NULL, 
category_id INT(11) NOT NULL, 
title VARCHAR(255) NOT NULL, 
body TEXT, 
created DATETIME, 
modified DATETIME 
); 

CREATE TABLE categories (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
title VARCHAR(255) NOT NULL 
); 

이제 응용 프로그램 /보기/게시물과의 응용 프로그램 /보기/카테고리에서 add.ctp, edit.ctp, index.ctp 및 view.ctp 있습니다. 이러한 메소드는 로그인 후에 액세스 할 수 있습니다. 하지만 이제는 로그인하지 않은 사용자를 위해 카테고리별로 메뉴와 게시물을 표시하고 싶습니다. 주 메뉴에서 카테고리 1을 클릭하면 카테고리 1의 게시물 만 표시됩니다. 다음과 같은 내용 :

Main menu: **Category1** | Category2 | Category3 

    Title of post1 in Category1 
    Body of post1 in Category1 

    Title of post2 in Category1 
    Body of post2 in Category1 
    .......... 

Main menu: Category1 | **Category2** | Category3 

    Title of post1 in Category2 
    Body of post1 in Category2 

    Title of post2 in Category2 
    Body of post2 in Category2 
    .......... 

나는 그 방법을 모르겠다. 일부 .ctp 파일을 app/View/Posts에 추가 하시겠습니까? 또는 다른 것? 도와 줘서 고마워.

답변

1

이렇게하면 기록되지 않은 사용자가 컨트롤러에 입력 한 모든 메서드를 사용할 수 있습니다. 가 PostsController에

:

public function beforeFilter() { 
    parent::beforeFilter(); 
    $this->Auth->allow(array('methods','in-my-controller','which-will-be-allowed-for-not-logged')); 
} 

편집 :

public function yourmethod($categoryId = null) { 
    $posts = $this->Post->find('all', array(
     'conditions' => array(
      'Post.category_id' => $categoryId 
     ) 
    )); 
    $this->set(compact(posts)); 
} 

볼 파일 브라우저 page.com/posts/yourmethod/2

에 액세스 권한을 얻을 것이다 액세스 데이터에 대한 변수 $ 게시물.

물론 내가 만들 수있는만큼 단순화되었습니다.

+0

하지만 Category1의 메뉴를 클릭 한 후 사용자가 Category1의 모든 게시물을 어떻게 렌더링하는지 모르겠습니다. – user3027356

+0

편집 된 답변에 대한 통지를 받을지 모르겠으니 여기에 글을 남깁니다. D – walkingRed