Данные не передаются от контроллера к модели Opencart - PullRequest
0 голосов
/ 29 марта 2012

У меня проблемы с передачей данных с контроллера на модель в 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 голосов
/ 30 марта 2012

Form Submission -> post data validation -> passed to model - это путь в теории.Что вам нужно сделать, это взять выводы из $this->request->files и поместить их в данные поста, когда вы проверяете (по крайней мере, так я бы это сделал), или передать имя файла методу модели и извлечь его в моделихотя это становится немного сложнее, чем

...