定制 quendistudio/skin 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

quendistudio/skin

Composer 安装命令:

composer require quendistudio/skin

包简介

Enhanced Winter CMS backend skin with dropdown menus, breadcrumbs, and form navigation

README 文档

README

Enhances the Winter CMS admin interface with dropdown menus, breadcrumbs that handle subpages, previous and next buttons on forms, and optional shortcut buttons on the right side of the breadcrumb.

French documentation: README.fr.md

Quendistudio plugins work without Skin (secondary controllers stay in the side menu). Skin is recommended for the streamlined navigation experience.

Installation

Composer (recommended)

composer require quendistudio/skin
php artisan winter:up

The skin is applied automatically to the backend when the plugin is enabled.

Backend → SettingsSkin (QuendiStudio Plugins category). Grant the quendistudio.skin.administrate permission to the relevant administrators.

Manual

Clone into plugins/quendistudio/skin, then:

php artisan winter:up

Breadcrumb buttons (_breadcrumb_buttons.htm)

On list controllers (index action), Skin renders a partial named breadcrumb_buttons on the right side of the breadcrumb. This keeps rarely used subpages out of the side menu while remaining one click away.

How to implement (in your plugin, not in Skin)

  1. Create controllers/<controller>/_breadcrumb_buttons.htm in your plugin.
  2. Guard with $this->action === 'index' so create/update/preview actions keep the default breadcrumb buttons.
  3. Wrap links in <div class="breadcrumb-buttons"> (see examples below).

Skin discovers the partial via the active controller's view path — no registration in Skin is required.

Without Skin installed, the file is simply unused; your side menu entries remain the fallback.

Example — settings shortcut (SmallContactForm)

Path: plugins/quendistudio/smallcontactform/controllers/messages/_breadcrumb_buttons.htm

<?php if ($this->action === 'index'): ?>
    <?php if ($this->user->hasAccess('quendistudio.smallcontactform.access_settings')): ?>
        <div class="breadcrumb-buttons">
            <a href="<?= Backend::url('system/settings/update/quendistudio/smallcontactform/settings') ?>" class="btn btn-sm btn-info wn-icon-cogs">
                <?= e(trans('quendistudio.smallcontactform::lang.controller.scoreboard.settings_btn')) ?>
            </a>
        </div>
    <?php endif ?>
<?php endif ?>

Example — secondary controllers (Support)

Path: plugins/quendistudio/support/controllers/tickets/_breadcrumb_buttons.htm

Links to ticket types and statuses on the ticket list. When Skin is installed, Quendistudio.Skin also hides those items from the Support side menu and keeps the menu context on the tickets section when browsing types/statuses.

Compatibility

  • Winter CMS: 1.2.x
  • PHP: 8.1+
  • Quendistudio.Support (optional): ships _breadcrumb_buttons.htm on the Tickets controller; Skin applies the UX orchestration described above

TODO

  • Dark theme i18n: window.skinI18n is injected from skins/enhanced/layouts/_mainmenu.php. If you add a custom modern/layouts/_mainmenu.php (or override the enhanced layout), include the same snippet so the dark-theme label follows the backend locale:

    <script>window.skinI18n = { darkTheme: <?= json_encode(trans('quendistudio.skin::lang.general.dark_theme')) ?> };</script>

Support

License

See the LICENCE file for license details.

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: CSS

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-23

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固