Как заставить Phalcon выбрать вид из другого модуля вместо определенного? - PullRequest
0 голосов
/ 07 марта 2020

В настоящее время я загружаю всех пользователей по URL / Маршруту /admin/config/users, который выбирает этот вид (private/apps/Admin/Views/user/users.volt) из модуля администратора.

Теперь я установил флаг для пользовательского макета. Поэтому, если пользовательский макет включен, я хочу, чтобы phalcon выбирал представление из модуля AdminExtension, т.е. (private/apps/Admin/Extension/Views/user/users.volt)

Как я могу добиться этого? Я хочу оба взгляда. Потому что private/apps/Admin/Views/user/users.volt является видом по умолчанию для перечисления всех пользователей. Однако private/apps/Admin/Extension/Views/user/users.volt - это настраиваемое представление для клиента, в котором сделано много изменений в дизайне.

Вот как выглядит код диспетчера:

/**
 * @param Dispatcher $dispatcher
 */
public function afterExecuteRoute(Dispatcher $dispatcher) {

    // Check if Json response is required
    if ($this->_isJsonResponse) {
         //if body
    } else {

        if(CxSettingCustomLayout::loadFromDb()->isCustomLayout()) {
            //pick custom view here" `private/apps/Admin/Extension/Views/user/users.volt`
        }

        // Build current module configuration settings section name
        $moduleConfigName = 'app_' . $this->dispatcher->getModuleName();
        // Include assets configuration file where assets collections are defined
        if(file_exists($this->config[ $moduleConfigName ]['assetsFile']))
            include $this->config[ $moduleConfigName ]['assetsFile'];

        // Set a view variable with the current language code
        $this->view->setVar('current_language_code', $this->CxTranslation->getLanguage()->getCode());
    }
}
...