Я предполагаю, что вы просто хотите вставить кучу статических страниц в свою папку «просмотр» и сделать их автоматически и автоматически, без добавления действий для каждого из них в вашем контроллере.
Вышеуказанные фильтры() и beforeAction() и даже __construct() не работают для этой цели (фильтры и предварительное действие вообще не срабатывают, если действие не существует, а __construct очень грязно, потому что если вы положить функциональность в __construct - в тот момент Yii оленьей кожи даже знать, какой контроллер/действие/смотреть он должен вызвать)
однако, есть простое решение, которое включает в себя менеджер URL
в вашей конфигурации, в правилах URL менеджера , добавьте одну из следующих строк (в зависимости от настроек пути)
'articles/<action:\w+>' => 'articles/index/action/<action>',
ИЛИ
'articles/<action:\w+>' => 'articles/index?action=<action>',
, а затем, в ваших статьях контроллер просто поставить эту (или аналогичный) индекс действия
public function actionIndex() {
$name = Yii::app()->request->getParam('action');
$this->render($name);
}
, то вы можете позвонить страниц, как/статьи/myarticle или/статьи/без использования каких-либо функций в вашем контроллере. Все, что вам нужно сделать, это просто добавить файл с именем myarticle.php или yourarticle.php в папку views/articles и набрать html-содержимое внутри этих файлов.
Параметр 'catchAllRequest' в файле конфигурации. Установите его любым способом. – itachi
Но я только хочу, чтобы этот контроллер, и этот файл catchAllRequest, похоже, является параметром для сайта –
, может быть способ сделать это, но мне нужно знать, что вы подразумеваете под «обработкой действия» и как вы планируете определить? –