用途:在 Bagisto 中创建自定义店面主题,并以 Laravel 包形式独立分发与维护。适用于创建自定义店面主题包、构建可分发的主题包、使用 Vite 编译资源、定制面向顾客的页面、覆盖默认店铺模板。
主要能力:主题由 config/themes.php 定义,包含 name、assets_path、views_path 及 vite 的 hot_file、build_directory、package_assets_directory;主题解析由 packages/Webkul/Shop/src/Http/Middleware/Theme.php 完成,主题操作由 packages/Webkul/Theme/src/Themes.php 门面管理。可复制 Shop 包的 assets 与 views 获得完整控制,创建自定义首页与 master 布局,并通过服务提供者发布视图。
使用方式:创建包结构后复制资源与视图,编写服务提供者,在 composer.json 配置 PSR-4 自动加载并运行 composer dump-autoload,在 bootstrap/providers.php 注册提供者,更新 config/themes.php 与 config/bagisto-vite.php,执行 php artisan vendor:publish --provider="Webkul\CustomTheme\Providers\CustomThemeServiceProvider" 与 php artisan optimize:clear,在后台 Settings → Channels 激活主题,最后在包目录执行 npm install 与 npm run build。开发时可用 npm run dev 热重载,或建立符号链接避免重复发布。
适用场景:需要完全掌控店面模板、样式与脚本,或需要将主题作为独立包分发时。
限制与注意:修改主题配置后需清缓存;注册包后需重新生成自动加载;需复制完整店铺资源;自定义布局须手动加载 @bagistoVite 资源;应在包源码而非已发布文件中开发;开发工作流需配置符号链接。Blade 标记规则由 blade-conventions 技能说明。