markguinn/silverstripe-shop-livepub

ss-shop 和 livepub 模块的集成点(静态缓存与动态区域)

安装: 57

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 1

开放问题: 1

类型:silverstripe-module

1.0.0 2014-09-05 16:12 UTC

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>

开发者

欢迎提交拉取请求。遵循 Silverstripe 编码标准。

许可证(MIT)

版权所有(c)2014 Mark Guinn

特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的任何人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供的人这样做,前提是以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论该责任是因合同、侵权或其他方式引起的,与软件或其使用或其它交易有关。