markguinn / silverstripe-ajax
为 Silverstripe CMS 提供基础的 Ajax 支持:推送/拉取服务器端区域,触发客户端事件,模态框,状态信息。
1.0.0
2014-10-30 20:13 UTC
Requires
- silverstripe/framework: ~3.1
This package is not auto-updated.
Last update: 2024-09-14 15:37:28 UTC
README
为 Silverstripe CMS 提供基础的、与框架无关的前端 Ajax 支持:推送/拉取服务器端区域,触发客户端事件,模态框,状态信息。
请参阅文档以获取示例和文档。
用例:添加到购物车
我想渐进式地增强电商网站上“添加到购物车”按钮。每个页面都有一个购物车摘要(例如,有多少项等),需要保持更新。一些页面有更广泛的视觉变化(例如,在“查看购物车”页面上从更大的表格中删除行)。
- 我将任何区域(如侧边购物车)隔离到模板包含中。
- 我将“ajax”类添加到任何执行我想增强的操作的表单或链接。
- 控制器中的添加到购物车操作将“推送”那个侧边购物车模板。
- 特定页面可以通过 data- 属性或 JavaScript “拉取”其他模板。
- 服务器可以在 document.body 元素上触发一个事件,如“cartempty”。我可能想要监听该事件并从结账页面重定向或显示一条消息。
这涵盖了我在 Silverstripe 网站上遇到的大多数渐进式增强用例,但为更复杂的东西提供了很大的灵活性。
功能
- 常见的 Ajax 行为只需添加一个类
- 从服务器在文档上触发 jQuery 事件
- 从服务器推送模板区域(区域 = 模板包含)
- 从客户端拉取模板区域
- 通用状态消息(易于编写适配器,适用于几乎任何 toast/flash/status 消息 - 包含一个用于 toastr 的适配器)
- 通用模态框(易于编写适配器 - 包含一个用于 bootstrap 的适配器)
安装
composer require markguinn/silverstripe-ajax:dev-master
包含 base.js、base.css 以及任何状态消息和/或模态适配器。
要求
- Silverstripe 3.1+
- jQuery 1.7+(包括当前、2.x 等)
开发者
- Mark Guinn mark@adaircreative.com
欢迎通过拉取请求和/或错误报告进行贡献。请遵循 Silverstripe 代码规范(测试会很好)。
许可(MIT)
版权(c)2014 Mark Guinn
特此授予任何人免费获得本软件及其相关文档文件(“软件”)副本的权限,不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权力,并允许获得本软件的人这样做,前提是
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按照“现状”提供,不提供任何形式的保证,无论是明示还是默示,包括但不限于适销性、适用于特定目的和非侵权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论基于合同行为、侵权或其他,无论源于、出于或与软件或对软件的使用或其他方式有关。