Chtml ссылка не работает - PullRequest
       0

Chtml ссылка не работает

1 голос
/ 06 сентября 2011

Я пытаюсь связать контроллер сайта с другим действием контроллера, используя ссылку Chtml ::, но он продолжает перенаправлять меня на страницу сайта / входа в систему.

Этот код, который я имею в представлении входа, отображаемом с контроллера сайта, выглядит примерно так:

<?php $this->beginWidget('system.web.widgets.CClipWidget', array('id'=>'Aboutinfo')); 
.
.
<?php echo CHtml::link('Learn more here', array('site/page','view'=>'about')); ?>
.
.
echo CHtml::link('Link label', array('othercontroller/action'));?>
.
.
<?php $this->endWidget();?>

Спасибо за любые предложения / исправления за то, что я могу делать неправильно

1 Ответ

2 голосов
/ 07 сентября 2011

Проверьте функцию accessRules в контроллере, к которому вы пытаетесь подключиться. Вы должны увидеть что-то вроде этого:

public function accessRules()
    {
        return array(
            array('allow', 
                'actions'=>array('index'),
                'users'=>array('*'),
            ),
            array('allow', 
                'actions'=>array('browse', 'add'),
                'users'=>array('@'),
            ),
            array('deny',  // deny all users
                'users'=>array('*'),
            ),
        );
    }

Массив 'users' => ('*') позволяет любому пользователю получить доступ к действию. Строка 'users' => array ('@') означает, что разрешить доступ к действию могут только зарегистрированным пользователям (просмотрите и добавьте в приведенном выше случае).

Убедитесь, что настройки вашего правила верны. Я подозреваю, что действия, на которые вы ссылаетесь, имеют настройку accessRules, которая требует входа пользователей для просмотра страницы. Если контроллер обнаружит, что пользователь не вошел в систему, он перенаправит пользователя на страницу входа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...