Yii2:主题不工作
Yii2: Theme not working
我是第一次使用yii2主题。我通过这个 link:Yii2 theme factory
看到了要在 yii2 中实现的主题
根据文档,我下载了主题并安装了。我在放置主题的地方创建了一个 themes
文件夹。
我做了这么多:
在config/web.php文件中
'components' => [
'view' => [
'theme' => [
'pathMap' => ['@app/views' => '.@wwwroot/themes/themes'],
'baseUrl' => '@www/themes/themes'
]
],
],
但是,我遇到了这样的错误:
An Error occurred while handling another error:
exception 'yii\base\InvalidParamException' with message 'Invalid path alias: @www/themes/themes' in /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php:152
Stack trace:
#0 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Theme.php(99): yii\BaseYii::getAlias('@www/themes/the...')
#1 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Component.php(169): yii\base\Theme->setBaseUrl('@www/themes/the...')
#2 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(518): yii\base\Component->__set('baseUrl', '@www/themes/the...')
#3 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Object.php(105): yii\BaseYii::configure(Object(yii\base\Theme), Array)
#4 [internal function]: yii\base\Object->__construct(Array)
#5 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(372): ReflectionClass->newInstanceArgs(Array)
#6 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('yii\base\Theme', Array, Array)
#7 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('yii\base\Theme', Array, Array)
#8 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/View.php(116): yii\BaseYii::createObject(Array)
#9 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Object.php(107): yii\base\View->init()
#10 [internal function]: yii\base\Object->__construct(Array)
#11 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(372): ReflectionClass->newInstanceArgs(Array)
#12 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('yii\web\View', Array, Array)
#13 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('yii\web\View', Array, Array)
#14 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/ServiceLocator.php(133): yii\BaseYii::createObject(Array)
#15 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Application.php(554): yii\di\ServiceLocator->get('view')
#16 /var/www/html/scrum_tool/vendor/yiisoft/yii2/web/ErrorHandler.php(228): yii\base\Application->getView()
#17 /var/www/html/scrum_tool/vendor/yiisoft/yii2/web/ErrorHandler.php(99): yii\web\ErrorHandler->renderFile('@yii/views/erro...', Array)
#18 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/ErrorHandler.php(101): yii\web\ErrorHandler->renderException(Object(yii\base\InvalidParamException))
#19 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\base\InvalidParamException))
#20 {main}
Previous exception:
exception 'yii\base\InvalidParamException' with message 'Invalid path alias: @www/themes/themes' in /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php:152
Stack trace:
#0 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Theme.php(99): yii\BaseYii::getAlias('@www/themes/the...')
#1 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Component.php(169): yii\base\Theme->setBaseUrl('@www/themes/the...')
#2 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(518): yii\base\Component->__set('baseUrl', '@www/themes/the...')
#3 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Object.php(105): yii\BaseYii::configure(Object(yii\base\Theme), Array)
#4 [internal function]: yii\base\Object->__construct(Array)
#5 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(372): ReflectionClass->newInstanceArgs(Array)
#6 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('yii\base\Theme', Array, Array)
#7 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('yii\base\Theme', Array, Array)
#8 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/View.php(116): yii\BaseYii::createObject(Array)
#9 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Object.php(107): yii\base\View->init()
#10 [internal function]: yii\base\Object->__construct(Array)
#11 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(372): ReflectionClass->newInstanceArgs(Array)
#12 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('yii\web\View', Array, Array)
#13 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('yii\web\View', Array, Array)
#14 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/ServiceLocator.php(133): yii\BaseYii::createObject(Array)
#15 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Application.php(554): yii\di\ServiceLocator->get('view')
#16 /var/www/html/scrum_tool/vendor/yiisoft/yii2-debug/Module.php(129): yii\base\Application->getView()
#17 [internal function]: yii\debug\Module->yii\debug\{closure}(Object(yii\base\Event))
#18 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Component.php(541): call_user_func(Object(Closure), Object(yii\base\Event))
#19 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Application.php(372): yii\base\Component->trigger('beforeRequest')
#20 /var/www/html/scrum_tool/index.php(13): yii\base\Application->run()
#21 {main}
看起来 @wwwroot
不是有效路径。
如果您使用的是基本应用,请试试这个:
'components' => [
'view' => [
'theme' => [
'pathMap' => ['@app/views' => '@app/themes/mytheme'],
'baseUrl' => '@web/themePath',
],
],
],
更多信息here
尝试这样的事情
'view' => [
'theme' => [
'basePath' => '@wwwroot/themes/themes',
'pathMap' => ['@app/views' => '@wwwroot/themes/themes'],
'baseUrl' => '@www/themes/themes'
],
],
一个常见的错误是像使用 layouts 文件夹而不是 views 文件夹一样使用它。请注意这一点,如果您打算覆盖布局,请在@wwwroot/themes/themes 中创建一个 layouts 文件夹。
我是第一次使用yii2主题。我通过这个 link:Yii2 theme factory
看到了要在 yii2 中实现的主题根据文档,我下载了主题并安装了。我在放置主题的地方创建了一个 themes
文件夹。
我做了这么多:
在config/web.php文件中
'components' => [
'view' => [
'theme' => [
'pathMap' => ['@app/views' => '.@wwwroot/themes/themes'],
'baseUrl' => '@www/themes/themes'
]
],
],
但是,我遇到了这样的错误:
An Error occurred while handling another error:
exception 'yii\base\InvalidParamException' with message 'Invalid path alias: @www/themes/themes' in /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php:152
Stack trace:
#0 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Theme.php(99): yii\BaseYii::getAlias('@www/themes/the...')
#1 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Component.php(169): yii\base\Theme->setBaseUrl('@www/themes/the...')
#2 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(518): yii\base\Component->__set('baseUrl', '@www/themes/the...')
#3 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Object.php(105): yii\BaseYii::configure(Object(yii\base\Theme), Array)
#4 [internal function]: yii\base\Object->__construct(Array)
#5 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(372): ReflectionClass->newInstanceArgs(Array)
#6 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('yii\base\Theme', Array, Array)
#7 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('yii\base\Theme', Array, Array)
#8 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/View.php(116): yii\BaseYii::createObject(Array)
#9 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Object.php(107): yii\base\View->init()
#10 [internal function]: yii\base\Object->__construct(Array)
#11 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(372): ReflectionClass->newInstanceArgs(Array)
#12 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('yii\web\View', Array, Array)
#13 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('yii\web\View', Array, Array)
#14 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/ServiceLocator.php(133): yii\BaseYii::createObject(Array)
#15 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Application.php(554): yii\di\ServiceLocator->get('view')
#16 /var/www/html/scrum_tool/vendor/yiisoft/yii2/web/ErrorHandler.php(228): yii\base\Application->getView()
#17 /var/www/html/scrum_tool/vendor/yiisoft/yii2/web/ErrorHandler.php(99): yii\web\ErrorHandler->renderFile('@yii/views/erro...', Array)
#18 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/ErrorHandler.php(101): yii\web\ErrorHandler->renderException(Object(yii\base\InvalidParamException))
#19 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\base\InvalidParamException))
#20 {main}
Previous exception:
exception 'yii\base\InvalidParamException' with message 'Invalid path alias: @www/themes/themes' in /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php:152
Stack trace:
#0 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Theme.php(99): yii\BaseYii::getAlias('@www/themes/the...')
#1 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Component.php(169): yii\base\Theme->setBaseUrl('@www/themes/the...')
#2 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(518): yii\base\Component->__set('baseUrl', '@www/themes/the...')
#3 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Object.php(105): yii\BaseYii::configure(Object(yii\base\Theme), Array)
#4 [internal function]: yii\base\Object->__construct(Array)
#5 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(372): ReflectionClass->newInstanceArgs(Array)
#6 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('yii\base\Theme', Array, Array)
#7 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('yii\base\Theme', Array, Array)
#8 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/View.php(116): yii\BaseYii::createObject(Array)
#9 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Object.php(107): yii\base\View->init()
#10 [internal function]: yii\base\Object->__construct(Array)
#11 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(372): ReflectionClass->newInstanceArgs(Array)
#12 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('yii\web\View', Array, Array)
#13 /var/www/html/scrum_tool/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('yii\web\View', Array, Array)
#14 /var/www/html/scrum_tool/vendor/yiisoft/yii2/di/ServiceLocator.php(133): yii\BaseYii::createObject(Array)
#15 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Application.php(554): yii\di\ServiceLocator->get('view')
#16 /var/www/html/scrum_tool/vendor/yiisoft/yii2-debug/Module.php(129): yii\base\Application->getView()
#17 [internal function]: yii\debug\Module->yii\debug\{closure}(Object(yii\base\Event))
#18 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Component.php(541): call_user_func(Object(Closure), Object(yii\base\Event))
#19 /var/www/html/scrum_tool/vendor/yiisoft/yii2/base/Application.php(372): yii\base\Component->trigger('beforeRequest')
#20 /var/www/html/scrum_tool/index.php(13): yii\base\Application->run()
#21 {main}
看起来 @wwwroot
不是有效路径。
如果您使用的是基本应用,请试试这个:
'components' => [
'view' => [
'theme' => [
'pathMap' => ['@app/views' => '@app/themes/mytheme'],
'baseUrl' => '@web/themePath',
],
],
],
更多信息here
尝试这样的事情
'view' => [
'theme' => [
'basePath' => '@wwwroot/themes/themes',
'pathMap' => ['@app/views' => '@wwwroot/themes/themes'],
'baseUrl' => '@www/themes/themes'
],
],
一个常见的错误是像使用 layouts 文件夹而不是 views 文件夹一样使用它。请注意这一点,如果您打算覆盖布局,请在@wwwroot/themes/themes 中创建一个 layouts 文件夹。