【问题标题】:Yii2 Themes Advanced TemplateYii2 主题高级模板
【发布时间】:2016-01-05 03:56:38
【问题描述】:

好的,我知道这个问题已经被问过很多次了,但是似乎没有一个答案有效,我只能假设 Yii2 从那时起已经更新了。

这里是: 我正在尝试更改 Yii2 Advance Application 的前端主题。 我从http://yii2.themefactory.net/中选择了一个主题

我下载了主题并完成了我在网络上各个网站上找到的以下步骤。

  1. 创建了一个文件夹myApp/frontend/themes
  2. 将下载的文件放入此文件夹中
  3. 更改了 myApp/frontend/config/main.php 以包含以下内容

    'view' => [
    'theme' => [
        'pathMap' => [
            '@app/views' => '@app/themes/interior'
        ],
        'baseUrl' => '@web/themes/interior',
     ],
    ],
    

我尝试了baseUrl的各种方式。它似乎没有找到 CSS 文件,因为我已经阅读了主题文件不应该放在 web 文件夹中。

但是,如果不将它们放在 web 文件夹中,我无论如何都无法阅读这些 CSS 文件。

所以我必须拆分主题并将视图放在主题文件夹中,然后将 CSS 放在 web 文件夹下的另一个文件夹中。

对不起,如果这没有任何意义,但我已经阅读了很多网站上的很多帖子,这些帖子都相互矛盾。

有什么想法告诉我

谢谢。

更多信息。

问题似乎是主题文件夹 myApp/frontend/themes 包含所有主题文件,包括 CSS。网站运行时无法链接到这些 CSS 文件。

答案就是我需要拆分主题文件夹,将布局保留在 myApp/frontend/themes 中,然后将 CSS 放在 myApp/frontend/ 中的类似文件夹中网页/主题 ??

** OK 解决方案 - 但是我不认为这是正确的方法 **

在我下载的主题文件夹中有两个文件夹 layoutsfiles

我创建了两个文件夹 myApp/frontend/themesmyApp/frontend/web/themes

我将 layouts 文件夹放入 mayApp/frontend/themes/THEME_NAME 文件夹,并将 files 文件夹放入 myApp/frontend/themes/web/THEME_NAME/ 文件夹 p>

然后我像这样设置 main.php confgi 文件

'view' => [
            'theme' => [
                'pathMap' => ['@app/views' => '@app/themes/houses-on-water'],
                'baseUrl' => '@web/themes/houses-on-water',
            ],
        ],

我不确定这是不是正确的方法,但它正在工作

问候

利亚姆

【问题讨论】:

  • 您是否将主题资产添加到资产中?
  • scaisEgde 我该怎么做?
  • 在此之前有没有检查答案?
  • 如果问题是资产,您可以查看此链接yiiframework.com/forum/index.php/topic/…(但在此之前,请尝试解决路径/url问题
  • 为什么投反对票?请解释

标签: themes yii2


【解决方案1】:

对于frontend,尝试改变这种方式:

  'view' => [ 'theme' => [ 
            'pathMap' => [ '@frontend/views' => '@frontend/themes/interior' ], 
            'baseUrl' => '@web/themes/interior'], 
           ],

【讨论】:

  • 我试过了,它的baseUrl似乎不起作用,因为我在web文件夹下没有主题文件夹
  • 对于 baseUrl 也可以尝试使用@frontend 或`@frontend/web/....` 我认为@app si 用于基本应用程序而非高级应用程序
  • 如果我使用@frontend,它会为我提供路径而不是 url,因此它会查找 /var/www/html/myapp/web/themes/interior/main_style.css
  • 我发现,@frontend 和@backend 都是路径而不是url,baseUrl 需要是Url。考虑到这一点,我不确定如何通过网址访问 web 文件夹之外的文件
  • ok 使用@web/themes/interior 我得到了这个。使用主题/内部我得到 。问题是web目录下没有名为themes的文件夹
【解决方案2】:

只需使用 web/themes 文件夹下的主题,并将您的代码更改为:

'view' => [
        'theme' => [
            'pathMap' => ['@app/views' => '@app/web/themes/houses-on-water'],
            'baseUrl' => '@web/themes/houses-on-water',
        ],
    ],

这对我有用。

【讨论】:

    【解决方案3】:

    将内容复制到:

    • MYAPP/前端/web/themes/MYTHEME

    更改您的 MYAPP/frontend/config/main.php

    'view' => [
        'theme' => [
            'pathMap' => [
                //Only for change layout/main.php location
                '@app/views' => '@webroot/themes/MYTHEME'  
            ],
            'baseUrl' => '@web/themes/MYTHEME',
            'basePath' => '@webroot/themes/MYTHEME',
        ],
    ],
    

    参考:

    享受

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多