Я написал свое приложение для торта, чтобы регистрировать зарегистрированных пользователей, и оно прекрасно работает на страницах просмотра, где есть модель БД, связанная с пользователем.Однако на моих главных страницах, которые не обязательно обращаются к какой-либо модели (PagesController, где страницы - это такие вещи, как предстоящие события, свяжитесь с нами, о и т. Д.), AuthComponent недоступен или, по крайней мере, массив возвращает пустой ---поэтому я не могу получить, скажем, имя пользователя человека, вошедшего в систему.
Я попытался создать модель под названием Страница, которая принадлежит Пользователю, но это не решило мою проблему.
Чтобы объяснить немногокроме того, мое приложение отображает списки определенных типов жилья, ночных клубов, ресторанов и вещей, которые можно сделать для данного города, и все это отображается независимо от того, вошел пользователь в систему или нет.Я не понимаю, где я ошибаюсь и почему.
Вот мой AppController:
<?php
class AppController extends Controller {
public $components = array(
'Session',
'Auth' => array(
'loginRedirect' => array('controller' => 'users', 'action' => 'view'),
'logoutRedirect' => array('controller' => 'pages', 'action' => 'index')
)
);
function beforeFilter() {
$this->Auth->allow('login', 'logout','index', 'view', 'condos', 'houses', 'hotels_and_motels', 'print_all_coupons', 'print_coupon', 'search', 'golf', 'charters', 'events', 'nightlife', 'shopping', 'visitors_info', 'contact_us');
}
}
?>
здесь я получаю доступ к своему имени пользователя в макете страницы по умолчанию:
<?php if(AuthComponent::user('id')) {
echo '<span style="font-variant:small-caps">Hello, '.AuthComponent::user('username').'</span> | ';
?>