私はfrontendAPI.phpファイルにCRUD領域を設定しました(モデルをテストしています)...そしてそれを保護することさえできました。これを適切な方法で実行したいと思います...管理者用に別のディレクトリ/ページを作成したいと思います。これについてアドバイスしてください。
1 に答える
これはまだ新しいですが、ニュースページでも同じことをしようとしています。ログイン部分は機能していると思いますが、CRUDに問題があります(まもなく質問を投稿します)-入力するテーブルがありますrssフィードからのデータ(ただし、最初は手動でCRUDが入力されます)、フロントエンドにページがあり、ビューを使用して詳細を引き出し、各ニュース記事をフォーマットします。
- / page/Adminという名前の新しいディレクトリを作成します
関数に基づいてここに新しいファイルを作成します。例:news.phpを含む
class page_admin_news extends Page { function init(){ parent::init(); $p=$this; $crud=$p->add('CRUD'); $g=$crud->setModel('News'); if($crud->grid) $crud->grid->addPaginator(30); } }
Frontend.phpでは、ログインを有効にする必要があります。管理者のみのアクセスの場合、BasicAuthで十分な場合がありますが、データベースを使用してユーザー名とパスワードの情報を取得するクラスもあります。たとえば、メンバーシップサイトの場合です。これが基本的なものです。//ページへのアクセスを制限する場合は、BasicAuthクラスを使用します$ auth = $ this-> add('BasicAuth')-> allow('demo'、'demo');
ログインせずに表示できるページを有効にするには、Frontend.phpを変更する必要があります
$auth->allowPage('index'); $auth->allowPage('news'); $auth->allowPage('links'); $auth->allowPage('About'); if (!$auth->isPageAllowed($this->api->page)) { $auth->check(); }
また、Frontend.phpでは、ログインしている場合は別のメニューを作成する必要があります。ログインページとログアウトページは実際には存在しないことに注意してください。
if ($auth->isLoggedIn()) { $this->add('Menu',null,'Menu') ->addMenuitem('News','admin_news') ->addMenuitem('logout') ; } else { $this->add('Menu',null,'Menu') ->addMenuitem('News','news') ->addMenuitem('Links','links') ->addMenuItem('About') ->addMenuItem('Login') ; }
ログインすると、デフォルトでpage / index.phpに移動するため、ログイン時に特定のページにリダイレクトして、これをpage/index.phpに追加できるようにします。
class page_index extends Page { function init(){ parent::init(); $p=$this; if($this->api->auth->isLoggedIn()) $this->api->redirect('admin_news');
お役に立てば幸いです。
トレブ