亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜尋
歡迎 目錄 快速參考圖 基本信息 服務(wù)器要求 許可協(xié)議 變更記錄 關(guān)于CodeIgniter 安裝 下載 CodeIgniter 安裝指導(dǎo) 從老版本升級(jí) 疑難解答 介紹 開始 CodeIgniter 是什么? CodeIgniter 速記表 支持特性 應(yīng)用程序流程圖 模型-視圖-控制器 架構(gòu)目標(biāo) 教程 內(nèi)容提要 加載靜態(tài)內(nèi)容 創(chuàng)建新聞條目 讀取新聞條目 結(jié)束語 常規(guī)主題 CodeIgniter URL 控制器 保留字 視圖 模型 輔助函數(shù) 使用 CodeIgniter 類庫 創(chuàng)建你自己的類庫 使用 CodeIgniter 適配器 創(chuàng)建適配器 創(chuàng)建核心系統(tǒng)類 鉤子 - 擴(kuò)展框架的核心 自動(dòng)裝載資源 公共函數(shù) URI 路由 錯(cuò)誤處理 緩存 調(diào)試應(yīng)用程序 以CLI方式運(yùn)行 管理應(yīng)用程序 處理多環(huán)境 PHP替代語法 安全 開發(fā)規(guī)范 類庫參考 基準(zhǔn)測(cè)試類 日歷類 購物車類 配置類 Email 類 加密類 文件上傳類 表單驗(yàn)證詳解 FTP 類 圖像處理類 輸入類 Javascript 類 語言類 裝載類 遷移類 輸出類 分頁類 模板解析器類 安全類 Session 類 HTML 表格類 引用通告類 排版類 單元測(cè)試類 URI 類 User-Agent 類 表單驗(yàn)證 XML-RPC 和 XML-RPC 服務(wù)器 Zip 編碼類 緩存適配器 適配器參考 適配器 數(shù)據(jù)庫類 Active Record 類 數(shù)據(jù)庫緩存類 自定義函數(shù)調(diào)用 數(shù)據(jù)庫配置 連接你的數(shù)據(jù)庫 數(shù)據(jù)庫快速入門例子代碼 字段數(shù)據(jù) 數(shù)據(jù)庫維護(hù)類 查詢輔助函數(shù) 數(shù)據(jù)庫類 查詢 生成查詢記錄集 表數(shù)據(jù) 事務(wù) 數(shù)據(jù)庫工具類 JavaScript類 輔助函數(shù)參考 數(shù)組輔助函數(shù) CAPTCHA 輔助函數(shù) Cookie Helper 日期輔助函數(shù) 目錄輔助函數(shù) 下載輔助函數(shù) Email 輔助函數(shù) 文件輔助函數(shù) 表單輔助函數(shù) HTML輔助函數(shù) Inflector 輔助函數(shù) 語言輔助函數(shù) 數(shù)字輔助函數(shù) 路徑輔助函數(shù) 安全輔助函數(shù) 表情輔助函數(shù) 字符串輔助函數(shù) 文本輔助函數(shù) 排版輔助函數(shù) URL 輔助函數(shù) XML 輔助函數(shù)
文字

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請(qǐng) 登錄 或 注冊(cè)  找回密碼
查看原文

購物車類

購物車類允許項(xiàng)目被添加到session中,session在用戶瀏覽你的網(wǎng)站期間都保持有效狀態(tài)。這些項(xiàng)目能夠以標(biāo)準(zhǔn)的 "購物車" 格式被檢索和顯示,并允許用戶更新數(shù)量或者從購物車中移除項(xiàng)目。

請(qǐng)注意購物車類只提供核心的"購物車"功能。它不提供配送、信用卡授權(quán)或者其它處理組件。

初始化購物車類

重要:購物車類利用 CodeIgniter 的 Session 類把購物車信息保存到數(shù)據(jù)庫中,所以在使用購物車類之前,你必須根據(jù) Session 類文檔中的說明來創(chuàng)建數(shù)據(jù)庫表,并且在 application/config/config.php 文件中把 Session 相關(guān)參數(shù)設(shè)置為使用數(shù)據(jù)庫。

為了在你的控制器構(gòu)造函數(shù)中初始化購物車類,請(qǐng)使用 $this->load->library 函數(shù):

$this->load->library('cart');

一旦加載,就可以通過調(diào)用 $this->cart 來使用購物車對(duì)象了。

說明: 購物車類會(huì)自動(dòng)加載和初始化Session類,因此除非你在別處要用到session,否則你不需要再次加載Session類。

將一個(gè)項(xiàng)目添加到購物車

要添加項(xiàng)目到購物車,只需將一個(gè)包含了商品信息的數(shù)組傳遞給 $this->cart->insert() 函數(shù)即可,就像下面這樣:

$data = array(
???????????????'id'????? => 'sku_123ABC',
???????????????'qty'???? => 1,
???????????????'price'?? => 39.95,
???????????????'name'??? => 'T-Shirt',
???????????????'options' => array('Size' => 'L', 'Color' => 'Red')
????????????);

$this->cart->insert($data);

重要說明: 上面的前四個(gè)數(shù)組索引 (id, qty, pricename) 是 必需的。 如果缺少其中的任何一個(gè),數(shù)據(jù)將不會(huì)被保存到購物車中。第5個(gè)索引 (options) 是可選的。當(dāng)你的商品包含一些相關(guān)的選項(xiàng)信息時(shí),你就可以使用它。正如上面所顯示的那樣,請(qǐng)使用一個(gè)數(shù)組來保存選項(xiàng)信息。注意:$data['price'] 的值必須大于0

五個(gè)保留的索引分別是:

  • id - 你的商店里的每件商品都必須有一個(gè)唯一的標(biāo)識(shí)符(identifier)。典型的標(biāo)識(shí)符是 "sku"(譯者注:庫存量單位) 或者其它類似的標(biāo)識(shí)符。
  • qty - 購買的數(shù)量(quantity)。
  • price - 商品的價(jià)格(price)。
  • name - 商品的名稱(name)。
  • options - 標(biāo)識(shí)商品的任何附加屬性。必須通過數(shù)組來傳遞。

除以上五個(gè)索引外,還有兩個(gè)保留字:rowidsubtotal。它們是購物車類內(nèi)部使用的,因此,往購物車中插入數(shù)據(jù)時(shí),請(qǐng)不要使用這些詞作為索引。

你的數(shù)組可能包含附加的數(shù)據(jù)。你的數(shù)組中包含的所有數(shù)據(jù)都會(huì)被存儲(chǔ)到session中。然而,最好的方式是標(biāo)準(zhǔn)化你所有商品的數(shù)據(jù),這樣更方便你在表格中顯示它們。

The insert() method will return the $rowid if you successfully insert a single item.

將多個(gè)項(xiàng)目添加到購物車

通過下面這種多維數(shù)組的方式,可以一次性添加多個(gè)產(chǎn)品到購物車中。當(dāng)你希望允許用戶選擇同一頁面中的多個(gè)項(xiàng)目時(shí),這就非常有用了。

$data = array(
???????????????array(
???????????????????????'id'????? => 'sku_123ABC',
???????????????????????'qty'???? => 1,
???????????????????????'price'?? => 39.95,
???????????????????????'name'??? => 'T-Shirt',
???????????????????????'options' => array('Size' => 'L', 'Color' => 'Red')
????????????????????),
???????????????array(
???????????????????????'id'????? => 'sku_567ZYX',
???????????????????????'qty'???? => 1,
???????????????????????'price'?? => 9.95,
???????????????????????'name'??? => 'Coffee Mug'
????????????????????),
???????????????array(
???????????????????????'id'????? => 'sku_965QRS',
???????????????????????'qty'???? => 1,
???????????????????????'price'?? => 29.95,
???????????????????????'name'??? => 'Shot Glass'
????????????????????)
????????????);

$this->cart->insert($data);

顯示購物車

為了顯示購物車的數(shù)據(jù),你得創(chuàng)建一個(gè) 視圖文件,它的代碼類似于下面這個(gè)。

請(qǐng)注意這個(gè)范例使用了表單輔助函數(shù).

更新購物車

為了更新購物車中的信息,你必須將一個(gè)包含了 Row ID 和數(shù)量(quantity)的數(shù)組傳遞給 $this->cart->update() 函數(shù):

說明: 如果數(shù)量被設(shè)置為 0 ,那么購物車中對(duì)應(yīng)的項(xiàng)目會(huì)被移除。

$data = array(
???????????????'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
???????????????'qty'?? => 3
????????????);

$this->cart->update($data);

// 或者是一個(gè)多維數(shù)組

$data = array(
???????????????array(
???????????????????????'rowid'?? => 'b99ccdf16028f015540f341130b6d8ec',
???????????????????????'qty'???? => 3
????????????????????),
???????????????array(
???????????????????????'rowid'?? => 'xw82g9q3r495893iajdh473990rikw23',
???????????????????????'qty'???? => 4
????????????????????),
???????????????array(
???????????????????????'rowid'?? => 'fh4kdkkkaoe30njgoe92rkdkkobec333',
???????????????????????'qty'???? => 2
????????????????????)
????????????);

$this->cart->update($data);

什么是 Row ID?? 當(dāng)一個(gè)項(xiàng)目被添加到購物車時(shí),程序所生成的那個(gè)唯一的標(biāo)識(shí)符就是row ID。創(chuàng)建唯一ID的理由是,當(dāng)購物車中相同的商品有不同的選項(xiàng)時(shí),購物車就能夠?qū)λ鼈冞M(jìn)行管理。

比如說,有人購買了兩件相同的T-shirt (相同的商品ID),但是尺寸不同。商品ID(以及其它屬性)都會(huì)完全一樣,因?yàn)樗鼈兪窍嗤腡-shirt。它們唯一的差別就是尺寸不同。因此購物車必須想辦法來區(qū)分它們,這樣才能獨(dú)立地管理這兩件尺寸不同的T-shirt。而基于商品ID和其它相關(guān)選項(xiàng)信息來創(chuàng)建一個(gè)唯一的 "row ID" 就能解決這個(gè)問題。

在幾乎所有情況下,更新購物車都將是用戶通過 "查看購物車" 頁面來實(shí)現(xiàn)的,因此對(duì)開發(fā)者來說,不必太擔(dān)心"row ID",只要保證你的 "查看購物車" 頁面中的一個(gè)隱藏表單字段包含了這個(gè)信息,并且確保它能被傳遞給表單提交時(shí)所調(diào)用的更新函數(shù)就行了。請(qǐng)仔細(xì)分析上面的 "查看購物車" 頁面的結(jié)構(gòu)以獲取更多信息。

?

函數(shù)參考

$this->cart->insert();

允許你將項(xiàng)目添加到購物車中,就像上面所描述的那樣。

$this->cart->update();

允許你更新購物車中的項(xiàng)目,就像上面所描述的那樣。

$this->cart->total();

顯示購物車中的總計(jì)金額。

$this->cart->total_items();

顯示購物車中總共的項(xiàng)目數(shù)量。

$this->cart->contents();

返回一個(gè)包含了購物車中所有信息的數(shù)組。

$this->cart->has_options(rowid);

如果購物車中特定的列包含選項(xiàng)信息,本函數(shù)會(huì)返回 TRUE(布爾值)。本函數(shù)被設(shè)計(jì)為與 $this->cart->contents() 一起在循環(huán)中使用,因此就像上面的 顯示購物車 范例所顯示的那樣,你必須把 rowid 傳遞給這個(gè)函數(shù)。

$this->cart->product_options(rowid);

以數(shù)組的形式返回特定商品的選項(xiàng)信息。本函數(shù)被設(shè)計(jì)為與 $this->cart->contents() 一起在循環(huán)中使用,因此就像上面的 顯示購物車 范例所顯示的那樣,你必須把 rowid 傳遞給這個(gè)函數(shù)。

$this->cart->destroy();

允許你銷毀購物車。這個(gè)函數(shù)一般是在你處理完用戶訂單后調(diào)用。

?

翻譯貢獻(xiàn)者: Hex, yinzhili, yz20sui
最后修改: 2012-02-06 00:17:41
上一篇: 下一篇: