Как создать папку publi c в папке тем в SilverStripe - PullRequest
2 голосов
/ 12 марта 2020

Я работаю над устаревшим проектом SilverStripe. Я пытаюсь создать папку publi c с именем «files» внутри папки тем. Все файлы в этой папке будут доступны через браузер.

Я создал папку и создал в ней файл.

enter image description here

Когда я получаю доступ к файлу в папке с URL, он выдает ошибку 404. Но когда я получаю доступ к файлам из других папок, таких как css, шрифты, img и т. Д., Он работает как положено. Он просто не работает с папкой «files», которую я только что создал. Нужно ли что-то настраивать?

1 Ответ

2 голосов
/ 12 марта 2020

Вам необходимо «выставить» эти папки в composer.json вашего проекта, поэтому при запуске composer vendor-expose будет создана символическая ссылка или скопированы файлы в вашу папку ресурсов publi c.

Ваш 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 install или composer update.

См. Документы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...