У меня проблемы с передачей данных с контроллера на модель в 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"); }