Все еще новичок в этом, но я пытаюсь сделать то же самое для страницы новостей, думаю, что у меня есть входная часть, работающая, но у меня проблемы с 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-> добавить ( 'BasicAuth')
-> разрешить ( 'демо', 'демо')
;
Вам нужно изменить 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')
;
}
Когда вы входите в систему, по умолчанию она переходит на страницу / 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');
Надеюсь, это поможет.
Trev