【问题标题】:Codeigniter: Logic in Nested ViewsCodeigniter:嵌套视图中的逻辑
【发布时间】:2011-08-09 13:17:11
【问题描述】:

我有一个包含页眉、页脚和主要内容的 template.php。

但是,在我的 template.php 中,我想添加一个购物车小部件,该小部件利用购物车类、表单类和会话类。

我希望小部件最初是购物车之前的一个表单,它从用户那里收集简单的数据(姓名、电子邮件、一些下拉框和复选框信息)并将这些参数发送到一个会话(使用 CI_SESSIONS 存储在数据库中),该会话将由应用程序(相关产品)(根据复选框选择显示产品)和购物车使用。

我希望逻辑通过小部件进行处理,而不必重新加载整个页面(AJAX/JS?),然后在用户浏览应用程序时使用会话存储购物车数据。

谁能推荐任何阅读材料或图书馆,让我找到正确的答案?

问候,

【问题讨论】:

    标签: php session codeigniter widget e-commerce


    【解决方案1】:

    根据我对您问题的理解,我认为您可以将购物车小部件实现为局部视图。我通常将我的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>
    

    然后您可以在 cart/widget.php 中使用 ajax,这样您就可以在部分视图中调用您需要的函数。

    【讨论】:

      【解决方案2】:

      使用 codeigntier HMVC 创建视图部分。然后,您可以为小部件创建一个单独的模块,您可以在其中处理表单、会话等。

      您还可以使用 Ajax 刷新特定模块(加载在一个 div 中),以便您网站上分布在多个选项卡中的所有页面都具有相同的视图。

      【讨论】:

        猜你喜欢
        • 2015-08-12
        • 1970-01-01
        • 2016-08-08
        • 1970-01-01
        • 2017-07-29
        • 1970-01-01
        • 1970-01-01
        • 2014-08-21
        • 1970-01-01
        相关资源
        最近更新 更多