markguinn / silverstripe-shop-livepub
ss-shop 和 livepub 模块的集成点(静态缓存与动态区域)
Requires
Suggests
- silverstripe/staticpublishqueue: dev-master
This package is not auto-updated.
Last update: 2024-09-11 11:53:26 UTC
README
SS-Shop https://github.com/burnbright/silverstripe-shop 为 Silverstripe CMS 提供了一个优秀的电子商务平台。LivePub https://github.com/markguinn/silverstripe-livepub 与静态发布 https://github.com/silverstripe-labs/silverstripe-staticpublishqueue 结合,提供了静态页面缓存,并通过实时 PHP "孔洞" 为诸如 cookie 或特定于会话的代码或 CSRF 令牌等事物提供支持。
此模块为 livepub+staticpublisqueue 下的电子商务网站提供了一些常见用例
侧边栏购物车
在会话中保留足够的信息以显示 SideCart 模板。模板位于 'shop_livepub/templates/php/SideCart.php',或者您可以在主题的 templates/php 子文件夹中添加一个(请参阅 livepub 文档)。然后替换
<% include SideCart %>
为
$IncludePHP('SideCart')
如果会话购物车出现异常,请将 ?debugsessioncart=1
添加到 URL 以查看其内容,或添加 ?rebuildsessioncart=1
或 ?flush=1
以重建购物车。
已登录用户
将 class="$LoggedInClass"
添加到 body、html 或模板中的任何容器元素,然后使用 .show-for-members
和 .hide-for-members
CSS 类,如果页面中存在仅适用于已登录用户的元素。
此外,还有两个 PHP 模板
$IncludePHP('MemberLinks')
$IncludePHP('LoggedInAs')
第一个将在您已登录时提供 "我的账户" 和 "注销" 链接,未登录时提供 "登录" 链接。第二个将提供已登录用户的名称(如果存在)。
在所有情况下,页面都可以安全地进行静态缓存,并且用户将根据会话状态看到正确的元素。
添加到/从购物车中删除
与用户状态类似,在产品的范围内,您可以在容器元素上使用 class="$CartStateClass"
,然后添加 .show-for-product-in-cart
和 .hide-for-product-in-cart
类到按钮或表单字段,这些按钮或表单字段依赖于购物车的状态。例如
<div class="$CartStateClass">
<a href="$AddToCartLink" class="button hide-for-product-in-cart">Add to Cart</a>
<a href="$RemoveAllLink" class="button show-for-product-in-cart">Remove from Cart</a>
</div>
开发者
- Mark Guinn - mark@adaircreative.com
欢迎提交拉取请求。遵循 Silverstripe 编码标准。
许可证(MIT)
版权所有(c)2014 Mark Guinn
特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的任何人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供的人这样做,前提是以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论该责任是因合同、侵权或其他方式引起的,与软件或其使用或其它交易有关。