Помогите, пожалуйста, с проблемой! Следуя инструкции, попытался добавить поле краткого описания к каждому товару, в результате получился странный глюк — при редактировании существующего товара все работает хорошо, а при создании нового, после нажатия на кнопку «Сохранить» — белый экран и ничего не происходит.
Делал следующим образом:
В базе данных в таблицу "product_description" добавил в конец строку "excerpt", тип text, сравнение utf8_unicode_ci.
/admin/controller/catalog/product.php Линия 546:
$this->data['entry_excerpt'] = $this->language->get('entry_excerpt');
Линия 637:
if (isset($this->error['excerpt'])) {
$this->data['error_excerpt'] = $this->error['excerpt'];
} else {
$this->data['error_excerpt'] = array();
}
/admin/model/catalog/product.php Линия 12:
foreach ($data['product_description'] as $language_id => $value) {
$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', excerpt = '" . $this->db->escape($value('excerpt')) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");
}
Линия 138:
foreach ($data['product_description'] as $language_id => $value) {
$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', excerpt = '" . $this->db->escape($value['excerpt']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");
}
/admin/language/russian/catalog/product.php Линия 32:
$_['entry_excerpt'] = 'Краткое описание:';
/admin/view/template/catalog/product_form.tpl Линия 51
<tr>
<td><?php echo $entry_description; ?></td>
<td><textarea name="product_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['description'] : ''; ?></textarea></td>
</tr>
<tr>
<td><?php echo $entry_excerpt; ?></td>
<td><textarea name="product_description[<?php echo $language['language_id']; ?>][excerpt]" id="excerpt<?php echo $language['language_id']; ?>"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['excerpt'] : ''; ?></textarea></td>
</tr>
<tr>
<td><?php echo $entry_tag; ?></td>
<td><input type="text" name="product_tag[<?php echo $language['language_id']; ?>]" value="<?php echo isset($product_tag[$language['language_id']]) ? $product_tag[$language['language_id']] : ''; ?>" size="80" /></td>
</tr>
И все в роде бы прекрасно, и в шаблоне удается выводить нужную инфу, карточки редактируются замечательно, а вот создать новый товар не выходит. Прикрепляю, кому понадобится все файлы, пользуюсь OpenCart v1.5.1.3.
admin_controller_catalog_product.php
admin_language_russian_catalog_product.php
admin_model_catalog_product.php