Друзья, взял модуль тут - хотел его переделать чтобы прикручивать карту к записям блога (Блог|Отзывы|Галерея) все бы ни чего но ни как не пойму как вставить в модель \admin\model\catalog\record.php запрос к базе, сейчас у меня при сохранении ошибок не выдает модуль, но и данные в базе не сохраняются. Изначально модуль предусматривал использование запроса Код: $this->db->query("UPDATE " . DB_PREFIX . "product SET gmap_width = '" . (int)$data['gmap_width'] . "', gmap_height = '" . (int)$data['gmap_height'] . "', gmap_zoom = '" . (int)$data['gmap_zoom'] . "', gmap_type = '" . $this->db->escape($data['gmap_type']) . "', gmap_address = '" . $this->db->escape($data['gmap_address']) . "', gmap_lat_and_lng = '" . $this->db->escape($data['gmap_lat_and_lng']) . "' WHERE product_id = '" . (int)$product_id . "'"); я переписал его Код: $this->db->query("UPDATE " . DB_PREFIX . "record SET gmap_width = '" . (int)$data['gmap_width'] . "', gmap_height = '" . (int)$data['gmap_height'] . "', gmap_zoom = '" . (int)$data['gmap_zoom'] . "', gmap_type = '" . $this->db->escape($data['gmap_type']) . "', gmap_address = '" . $this->db->escape($data['gmap_address']) . "', gmap_lat_and_lng = '" . $this->db->escape($data['gmap_lat_and_lng']) . "' WHERE record_id = '" . (int)$product_id . "'"); но не знаю как правильно (в какой фрагмент документа) вставить. Все необходимые поля в базе создал. Вот файл \admin\model\catalog\record.php http://yadi.sk/d/C2vzS4NYDE2gA
Пардон, это я здесь ошибся, в запросе своем делал замену эту Код: $this->db->query("UPDATE " . DB_PREFIX . "record SET gmap_width = '" . (int)$data['gmap_width'] . "', gmap_height = '" . (int)$data['gmap_height'] . "', gmap_zoom = '" . (int)$data['gmap_zoom'] . "', gmap_type = '" . $this->db->escape($data['gmap_type']) . "', gmap_address = '" . $this->db->escape($data['gmap_address']) . "', gmap_lat_and_lng = '" . $this->db->escape($data['gmap_lat_and_lng']) . "' WHERE record_id = '" . (int)$record_id . "'"); сейчас у меня не записываются значения в базу, но если вручную (правкой таблицы) вносить изменения а потом, пытаться записать из админки - поля затираются. Собственно подозреваю что не туда или не так я поставил запрос. (сейчас поставил его два раза после Код: foreach ($data['record_tag'] as $language_id => $value) { if ($value) { $tags = explode(',', $value); foreach ($tags as $tag) { $this->db->query("INSERT INTO " . DB_PREFIX . "record_tag SET record_id = '" . (int) $record_id . "', language_id = '" . (int) $language_id . "', tag = '" . $this->db->escape(trim($tag)) . "'"); } //$tags as $tag } //$value } //$data['record_tag'] as $language_id => $value $this->db->query("UPDATE " . DB_PREFIX . "record SET gmap_width = '" . (int)$data['gmap_width'] . "', gmap_height = '" . (int)$data['gmap_height'] . "', gmap_zoom = '" . (int)$data['gmap_zoom'] . "', gmap_type = '" . $this->db->escape($data['gmap_type']) . "', gmap_address = '" . $this->db->escape($data['gmap_address']) . "', gmap_lat_and_lng = '" . $this->db->escape($data['gmap_lat_and_lng']) . "' WHERE record_id = '" . (int)$record_id . "'"); if ($data['keyword']) { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias_blog SET query = 'record_id=" . (int) $record_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'"); } //$data['keyword'] вот так)
По ходу, ты обновляешь запись там, где она должна создаваться при записи (новой), либо не в том месте UPDATE ставишь, либо нет добавления нового поля с данными о карте и просто перезатирается - текущий.
Одним словом поставил UPDATE в другом месте, и теперь в базу все пишется. Единственное, на странице редактирования записи значений из базы не видно, это нормально? Как они вообще туда выводиться должны?
Смотри в сторону functionGetRecord или что то подобное, которая делает выборку из базы и выводит текущие значения, вот там то тебе и надо добавить ещё и выбор с карты.