【问题标题】:How to create a public folder inside themes folder in SilverStripe如何在 SilverStripe 的主题文件夹中创建公用文件夹
【发布时间】:2020-03-12 11:04:32
【问题描述】:

我正在处理一个遗留的 SilverStripe 项目。我正在尝试在主题文件夹中创建一个名为“files”的公用文件夹。该文件夹中的所有文件都可以通过浏览器访问。

我创建了一个文件夹并在其中创建了一个文件。

当我从 URL 访问文件夹中的文件时,它给了我 404 错误。但是当我从其他文件夹(如 css、fonts、img 等)访问文件时,它按预期工作。它只是不适用于我刚刚创建的“文件”文件夹。我需要配置一些东西吗?

【问题讨论】:

    标签: silverstripe silverstripe-4


    【解决方案1】:

    您需要在项目的 composer.json 中“公开”该文件夹,因此运行 composer vendor-expose 会将文件链接或复制到您的公共资源文件夹。

    您的 composer.json 将如下所示:

    {
        "name": "app/myproject",
        "type": "silverstripe-project",
        "require": {
            "silverstripe/recipe-cms": "4.4.x-dev"
        },
        "extra": {
            "resources-dir": "_resources",
            "expose": [
                "themes/mytheme/dist",
                "themes/mytheme/files"
            ]
        }
    }
    

    最好将所有生成的可公开文件(js、css)收集到一个名为“dist”的文件夹中,这样您就不必单独公开它们。

    您可以手动调用 composer vendor-expose(例如,在每次文件更改后在 windows 上,因为符号链接在 windows 下不起作用)并且在您运行 composer installcomposer update 时自动调用。

    See docs.

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 2023-04-04
      • 2020-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多