micschk / silverstripe-cmstweaks
2.2.9
2024-08-21 12:55 UTC
Requires
Suggests
- axllent/silverstripe-cms-tweaks: Some complemental tweaks by Axllent
Replaces
- micschk/silverstripe-cmstweaks: 1.*
- restruct/silverstripe-cmstweaks: *
This package is auto-updated.
Last update: 2024-09-16 06:48:14 UTC
README
此模块是Restruct提供的一套小型Silverstripe功能与样式调整的便携包。
目前它已部分更新到SS4,大部分功能已被禁用,将在项目中需要时重新激活。
功能
- ImagePlaceholder功能(SVG)
- 在SiteConfig中提供联系与社会媒体字段(可选/可配置)
- 在SiteConfig中提供原始html head/body标签字段(可选/可配置)
- 在SiteConfig中提供浏览器-chrome颜色选择器字段(可选/可配置)
- 提供全局$themeDirResourceURL($ThemeDir替代,例如:
{$themeDirResourceURL('my-theme')}/videos/vid-{$RandomNumber}.mp4
) - SSViewer_ExtraIterators(例如"col-2-of-4"):GroupSize,PosInGroup,FirstOfGroup,LastOfGroup,FirstLastOfGroup,GroupOfGroups
- CacheHelpers::cached_http_request(),cached_json_request()和cached_jsonLD_request()
- GeneralHelpers::safelyGetProperty()和download_and_save_asset()
- PageHelperExtension向Page中添加各种功能
- ScheduledMethodCall类用于使用QueuedJobs模块(如果已安装)按计划调用任何方法
- FormFieldBootstrapExtension用于简单地将.form-control类添加到表单字段中(可选)
- FormFieldTweaksExtension用于仅向表单容器添加类和属性(结合使用->setFieldHolderTemplate('FormFieldTweaks_holder'))
- EnforceCMSPermission特质使DataObjects在CRUD操作时需要CMS访问凭证
- GridFieldConfigs::editable_orderable()
- SelectiveLumberjack类(修复Lumberjack以不筛选列表视图,并考虑hide_from_cms_tree(核心功能))
- 设置Session.cookie_secure为true
- 默认情况下使UserDefinedForm不保存到服务器(GDPR)
- 设置略高的图像质量值并激活WEBP格式(如果已安装webmen/silverstripe-webp-images)
- 激活MimeUploadValidator(如果已安装silverstripe/mimevalidator)
- 设置默认("cacheblock")缓存为24小时,并创建1小时的"appcache"缓存
- 包含一些电子邮件配置助手(见下文"电子邮件配置")
- 设置一些图像操作回退,以防方法缺失(旧版、焦点、裁剪器)
- 设置略微更安全的密码策略
- 激活googlesitemaps(如果已安装模块)
- 注册FeaturedImage和CurrentYear短代码(如果已安装短代码模块)
- 为常见页面类型添加时尚的页面图标(字体图标)
- (Bigfork:)隐藏无法创建的页面类型和客户很少使用的管理部分
- 在导航中隐藏CampaignAdmin和ReportAdmin(客户很少使用)
- 将RedirectedURLAdmin,ArchiveAdmin,QueuedJobsAdmin,SubsiteAdmin和SiteConfig导航按钮分组到"高级"下拉菜单中(如果已安装symbiote/silverstripe-grouped-cms-menu)
- 各种Block(Elemental)调整(+在
admin/blocktypeicons
处的块图标/缩略图预览路由) - 修复使可编辑网格字段中的空/未选中复选框提交数据的问题(例如,取消设置)
- 解决当它们在对象上没有1:1的名称/关系时,$form->loadData()会取消选中复选框的问题(将属性data-setactivecheckboxvalues设置为将值强制应用于checkboxsetfields)
- ...
未测试/插入的功能
将一些内容快速复制到该模块以实现便携性,但在实际使用之前可能需要进行一些调整/泛化
- 带有IP验证的IpAddressField表单字段(目前可能仅在前端可用,不确定)
- DBNullableInt和MySQLSchemaManagerNullable
- ...
备注
- 旧版.margin-left和.small表单字段样式->(v4)仅$fie
SiteConfig ... 配置
设置是否装饰siteconfig
# NOTE: this extension adds various extra fields & functionality to siteadmin, activate on a per-project basis SilverStripe\SiteConfig\SiteConfig: extensions: - Restruct\Silverstripe\AdminTweaks\Extensions\SiteConfigExtension # move 'access' fields to main tab & remove 'access' tab rearrange_access_fields: false # (default true) enable_browser_color_theme_field: false # (default true) enable_subnav_activation_field: false # (default true) enable_contact_social_media_fields: false # (default true) # use in templates: {$SiteConfig.ExtraHTML_HeadStart.RAW} to include extra html enable_raw_head_body_fields: false # (default true) # deactivate container classes (or set array to override) theme_container_classes: false # default bootstrap container classes
图像占位符
直接在模板中包含SVG
<% include ImagePlaceholder W=180, H=50, Label='logo', AddClass='rounded' %>
直接包含SVG
$ImagePlaceholder(180, 50, 'logo', '', 'rounded')
将SVG作为img src(base64数据URI)包含在内
<img class="rounded" src="$ImagePlaceholder(180, 50, 'logo', true)" alt="logo" width="180" height="50">
电子邮件配置
在.env(环境)中定义电子邮件配置以自动应用
# EMAIL.yml APP_SYSTEM_EMAIL_SENDER="" # eg System X/Y APP_SYSTEM_EMAIL_ADDRESS="" # eg noreply@host.tld # SMTP mailserver, NOTE: SwiftMail 'ssl' => SMTP over SSL/TLS / 'tls' => STARTTLS # LIVE/Default: Mailgun servers (listen on ports 25, 465 (SSL/TLS), 587 (STARTTLS), and 2525) APP_SMTP_HOST="" APP_SMTP_PORT="" APP_SMTP_ENCRYPTION="" APP_SMTP_USERNAME="" APP_SMTP_PASSWORD="" # Send error logs via email APP_LOG_MAIL_RECIPIENT="" APP_LOG_MAIL_SUBJECT="" APP_LOG_MAIL_SENDER="" APP_LOG_MAIL_LEVEL=""
在管理员UI(Elemental)中显示块设计/缩略图而不是图标
- 复制以下部分并将其适应到特定项目的代码CSS中,以显示设计的块预览而不是图标
- 将私有静态$icon设置为'block-design block-section {block-name-offset}'
- 将堆叠的块图片添加到app/client中(.block-name-offset设置偏移量,如果在一张图片中堆叠多个)
i.block-section, button.block-section:before { background-image: url(~app/client/imgs/block-group-designs_stacked.png); background-position: 0 0; } i.block-section, button.block-section { &.block-name-offset {&, &:before { background-position: 0 -128px; }} &.block-othername-offset {&, &:before { background-position: 0 -28px; }} } ## TODO/REACTIVEATE/UPDATE for SS4: - JS: Add optional loading feedback overlay to buttons - JS: Inline gridfieldeditablecolumns datepicker fixes - JS: Advanced search toggle for modeladmins - Check & improve