2011-08-09 70 views
4

我有一個包含頁眉,頁腳和主要內容的template.php。Codeigniter:嵌套視圖中的邏輯

但是,在我的template.php中,我想添加一個購物車小部件,該小部件利用購物車類,表單類和顯然會話類。

我希望窗口小部件能夠在從用戶(名稱,電子郵件,某些下拉框和複選框信息)收集簡單數據的購物車之前形成一個表單,並將這些參數發送到會話(使用CI_SESSIONS存儲在數據庫中)將由應用程序(相關產品)使用(顯示基於複選框選擇的產品)和購物車。

我希望邏輯通過小部件進行處理,而不必重新加載整個頁面(AJAX/JS?),然後在用戶瀏覽應用程序時使用會話存儲購物車數據。

任何人都可以推薦任何閱讀材料或圖書館,讓我在正確的方向來回答?

問候,

回答

4

從我所瞭解的問題中,我認爲您可以將您的購物車小部件實現爲部分視圖。我通常構建我的template.php是非常光鮮,除了一些需要在那裏的東西。下面是一個例子
layout/template.php

<html> 
<head> 
<?php $this->load->view('layout/head'); ?> 
</head> 
<body> 
    <div class='header'> 
    <?php $this->load->view('layout/body_header'); ?> 
    </div> 

    <div class='content'> 
    <?php echo $content; ?> 
    </div> 

    <div class='widget'> 
    <?php $this->load->view('cart/widget'); ?> 
    </div> 

    <div class='footer'> 
    <?php $this->load->view('layout/body_footer'); ?> 
    </div> 
</body> 

然後你可以使用Ajax在你cart/widget.php所以你可以調用您在視圖部分需要的功能。

1

使用codeigntier HMVC創建視圖的諧音。然後,您可以爲窗口小部件創建一個單獨的模塊,您可以在其中處理窗體,會話等。

您也可以使用Ajax刷新特定模塊(在div中加載),以便將網站的所有頁面分散到多個選項卡有相同的看法。