数据未从控制器传递到模型Opencart

时间:2012-03-29 19:16:51

标签: php opencart

我在将数据从控制器传递到opencart(1.5.3)中的模型时遇到了麻烦。我修改了“添加产品”表单以包含文件输入字段,但是,我遇到的结果,我不明白,所以我很感激任何输入或建议解决方案。

当我发布表单时,数据将被发送到控制器,但控制器不会将其传递给模型,这会阻止最终的数据库查询被执行。

我不确定这是否是此问题的一部分,但在firebug中,帖子数据在源列表中定义,但字段名称未在部件列表中定义。

以下是代码示例。值得一提的是,我正在使用VQmod来动态添加更改。

查看:

      <table class="form">
        <tr>
          <td><?php echo $entry_product_pins; ?></td>
          <td><input type="file" name="product_pins" /><?php echo $tab_pins_instructions; ?>
      </td>
        </tr>
   </table>

控制器:

    if (isset($this->request->files['product_pins']['tmp_name'])) {

    $this->data['product_pins'] = file_get_contents($this->request->files['product_pins']['tmp_name']); 

                    } else {

    $this->data['product_pins'] = '';

   }

型号:

            if ( isset($this->data['product_pins']) ) {

                foreach (explode(";\n", $this->data['product_pins']) as $pin) {

                $this->db->query("INSERT INTO " . DB_PREFIX . "product_pins SET pin_product_id = '" . (int)$product_id . "', pin_pin_number = '" . $this->db->escape($pin) . "'");
              }

            } else { 

// added for debugging

exit("product_pins not set"); }

1 个答案:

答案 0 :(得分:0)

Form Submission -> post data validation -> passed to model是理论上的道路。您需要做的是从$this->request->files获取引脚并在验证时将其放入后期数据中(至少这是我的方式),或者将文件名传递给模型方法并将其提取出来该模型,虽然这往往有点棘手,然后