CFWheels フレームワーク 1.1.8 でセッション ベースのショッピング カートを作成しています。ColdFusion 9 セッションが持続しないという奇妙な問題が発生しています。コードのチェックとダブルチェックに数え切れないほどの時間を費やしました。私が見逃したものを目の新鮮な人が見つけられることを願っています。以下は、私のコードの単純化されたバージョンです。どんな提案でも大歓迎です。
config/app.cfm
<cfscript>
this.name = hash(getDirectoryFromPath(getCurrentTemplatePath())
, "SHA-256");
this.applicationTimeout = createTimeSpan(0, 2, 0, 0);
this.loginStorage = "session";
this.sessionManagement = true;
this.sessionTimeout = createTimeSpan(0, 1, 0, 0);
this.setClientCookies = false;
this.setDomainCookes = false;
</cfscript>
イベント/onRequestStart.cfm
<cfscript>
if (! StructKeyExists(session, "cart")){
session.cart = arrayNew(1);
}
</cfscript>
コントローラ/Cart.cfc
<cfcomponent extends="Controller">
<cffunction name="index">
</cffunction>
<cffunction name="create">
<cfset arrayAppend(session.cart, structNew())>
<cfset index = arrayLen(session.cart)>
<cfset session.cart[index].title = "Product Name">
<cfset session.cart[index].quantity = "1">
<!---
this return the expect cart array with product.
The item disappears once it gets redirected to the index page
--->
<cfdump var="#session.cart#" abort>
<cfset redirectTo(action="index")>
</cffunction>
</cfcomponent>
ビュー/カート/index.cfm
<!--- this return an empty array (same in all other web page)--->
<cfdump var="#session.cart#">