lekoala / silverstripe-starter-theme
SilverStripe 的起始主题
Requires
This package is auto-updated.
Last update: 2024-08-29 06:07:16 UTC
README
- 将主题复制到你的 SilverStripe 项目的
themes/
目录。如果命名正确,应该有一个名为themes/[your-theme]/templates
的目录。 - 将以下内容添加到你的
app/config/theme.yml
文件中。
SilverStripe\View\SSViewer: themes: - "$public" - "[your-theme]" - "$default"
- 更新 composer.json 以适应你的新主题名称。
- 如果需要,运行
composer vendor-expose
- 祝您愉快地开发!
此主题不打算单独使用!它只是您自己开发的一个起点。
主题助手
一些功能已作为 trait 在 src/StarterTheme.php
下提供,以便方便使用。
<?php require_once BASE_PATH . '/themes/starter/src/StarterTheme.php'; use SilverStripe\View\Requirements; use LeKoala\DeferBackend\DeferBackend; use SilverStripe\CMS\Controllers\ContentController; class PageController extends ContentController { use StarterTheme; ...
功能
此主题基本上是基于这篇文章中提出的建议构建的:[https://www.matuzo.at/blog/html-boilerplate/](https://www.matuzo.at/blog/html-boilerplate/),这是一篇关于现代脚手架的精彩介绍。
它捆绑了 bootstrap 5,但您可以自由使用任何您喜欢的。Scss 文件使用 dart sass 编译,并使用 autoprefixer 前缀。
favicon
favicon 需要在 /images 文件夹中设置。使用图标生成器
如果可能,请使用 svg 图标!
提供的图标是用 https://www.blobmaker.app/ 制作的。
字体
请使用 字体助手 创建您 google 字体的本地版本或使用您自己的。请仅使用 woff2 字体以获得最佳效果。
字体需要预先加载以获得最佳效果,请参阅如何预先加载 StarterTheme trait 中的字体。
搜索表单
默认情况下,搜索表单在所有页面上工作。但这会导致很多问题。一般来说,我更愿意使用自定义搜索控制器来显示结果。这应该通过 $SearchControllerLink 提供。
您可以使用 simple search 启用此功能。
Javascript
默认情况下,此主题不需要 JavaScript。这是因为我强烈建议您从控制器中管理事物。
以下是一个您可以在 PageController::init
中包含的示例代码片段。
protected function init() { parent::init(); DeferBackend::replaceBackend(); Requirements::themedJavascript("javascript/all.min.js", ['type' => 'module']); }
JavaScript 使用现代标准,并使用 esbuild 编译。
请注意,我们在此处使用 JavaScript 模块,因为它允许安全地使用现代 JavaScript 并默认延迟加载 JavaScript。您需要使用我的模块 defer backend,并将 enable_js_modules
设置为 true
才能使此功能生效。