C0DENAMED

Новичок
  • Публикаций

    26
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о C0DENAMED

  • Звание
    Пользователь

Посетители профиля

802 просмотра профиля
  1. Проблема решилась. Оказалось что при редактировании оно берет данные не из базы а из формы. Соответственно нужно было сделать input и тогда оно будет подцеплять значение оттуда.
  2. Выдает вот что: Notice: Undefined index: merlion_id in /...../public_html/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 126Notice: Error: Duplicate entry '0' for key 'merlion_id' Error No: 1062 UPDATE oc_product SET model = 'DADF-P2', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '6', date_available = '-0001-11-30', manufacturer_id = '16', shipping = '1', price = '0', points = '0', weight = '10.5', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', merlion_id = '0', date_modified = NOW() WHERE product_id = '22351' in /.../public_html/system/database/ipsmysql.php on line 53 Только где его искать?
  3. Возникла такая проблема: В таблицу oc_products добавлена новая строка с айдишником. При редактировании какого-либо товара через админку этот айдишник естественно не учитывается и по умолчанию ставится 0. Как исправить это недоразумение? Нужно что-бы при редактировании товара он подхватывал этот айдишник из базы, но на практике это реализовать оказалось не так то просто. Первое что пришло в голову лезть в model/catalog/product.php и найти там функцию editProduct($product_id, $data) Добавил новый айдишник сюда: $this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . $this->db->escape($data['tax_class_id']) . "', sort_order = '" . (int)$data['sort_order'] . "', merlion_id = '" . (int)$data['merlion_id'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Затем сюда: controller/module/product.php Нашел функцию getForm и добавил это: if (isset($this->request->post['merlion_id'])) { $this->data['merlion_id'] = $this->request->post['merlion_id']; } elseif (!empty($product_info)) { $this->data['merlion_id'] = $product_info['merlion_id']; } else { $this->data['merlion_id'] = ''; } Так же и в функции getList(): Добавил: $this->data['products'][] = array( 'product_id' => $result['product_id'], 'merlion_id' => $result['merlion_id'], 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'special' => $special, 'image' => $image, 'quantity' => $result['quantity'], 'status' => ($result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled')), 'selected' => isset($this->request->post['selected']) && in_array($result['product_id'], $this->request->post['selected']), 'action' => $action ); Но оно все равно не фурычит. Ставит 0, как будто из базы не берет. Подскажите, что пропустил, не могу придумать ничего.
  4. OpenCart Exchange 1C

    Ребят, подскажите пожалуйста будет ли работать этот модуль с 1С 7.7?
  5. Признателен за помощь. Действительно, получилось с SHOW TABLE STATUS. Получилось так: $last_id = $this->db->query("SHOW TABLE STATUS LIKE '" . DB_PREFIX . "manufacturer'"); $manufacturer_id = ($last_id->row['Auto_increment'] - 1);
  6. Ребят, нужна помощь компетентных людей. При разработке наткнулся на такую проблемку: //manufacturer $this->db->query("INSERT IGNORE INTO " . DB_PREFIX . "manufacturer SET name = '" . $row->Brand . "'"); $manufacturer_id = $this->db->getLastId(); $this->db->query("INSERT IGNORE INTO " . DB_PREFIX . "manufacturer_to_store SET manufacturer_id = '" . (int)$manufacturer_id . "', store_id = '0'"); Это выполняется в цикле, при добавлении товаров. При попадании на товар у которого $row->Brand дублируется и оператор INSERT IGNORE пропускает его, то $manufacturer_id = $this->db->getLastId() становится 0. Почему он обнуляется и как можно по-другому решить эту проблему? Мне нужно чтобы он брал число из AUTO_INCREMENT.
  7. Да, понадобился. Оказалось просто. А можно же тогда вызвать уже готовую функцию прямо из model? Чем переписывать это все... Вот только там $this что такое не могу понять. Что нужно присоединить, чтобы он понимал $this->db->query ? Или проще просто заменить на $db->query?
  8. Ознакомлюсь. Просто не хотелось в такой простой скрипт пихать кишки от опенкарта, когда можно вроде как обойтись обычными Mysql запросами...
  9. Результат пустой! Ошибки не показывает, поэтому немогу понять в чем дело. Пробовал по разному и mysql_query("..."). Сам скрипт проходит до конца, то есть после выполнения выводит done. Вот тот же самый кусок из модуля, например. // Establishing parent connections. $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category"); foreach ($query->rows as $row) { $category_id = $row['category_id']; $merlion_parent_id = $row['merlion_parent_id']; if ($merlion_parent_id == 'Order') { $this->db->query("UPDATE " . DB_PREFIX . "category SET parent_id = '0', `top` = '1', `column` = '1', status = '1', date_modified = NOW(), date_added = NOW() WHERE category_id = '". (int)$category_id ."'"); } else { $search = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "category WHERE merlion_id = '" . $merlion_parent_id . "'"); $parent_id = $search->row["category_id"]; $this->db->query("UPDATE " . DB_PREFIX . "category SET parent_id = '". (int)$parent_id ."', `column` = '1', status = '1', date_modified = NOW(), date_added = NOW() WHERE category_id = '" . (int)$category_id ."'"); } $this->cache->delete('category'); }
  10. Вот тут: Этот запрос не проходит или что. Такое ощущение что выборку не делает. Точно такой же запрос через ОС проходит. $select = $con->query("SELECT * FROM oc_category") or die("Error in the consult.." . mysqli_error($con)); foreach ($select->rows as $row) { if ($row['merlion_parent_id'] == 'Order') { $result = $con->query("UPDATE oc_category SET parent_id = '0', top = '1', column = '1', status = '1', date_modified = NOW(), date_added = NOW() WHERE category_id = '". (int)$row['category_id'] ."'") or die("Error in the consult.." . mysqli_error($con)); }
  11. Запрос не выполняется, который идет в //establishing parent connections
  12. Спасиб, думал об этом, но все же. Большая часть кода работает, а вот тот запрос почему-то не хочет.
  13. Приветствую, ребят возникла проблема. Пытаюсь написать отдельный .php скрипт, который бы работал без участия магазина на сервере, и обновлял товары. Некоторое время назад я написал дополнение, которое нажатием кнопки позволяло выгружать и обновлять товары со склада поставщика через АПИ, в общем-то скрипт рабочий, теперь появилась необходимость сделать внешнюю версию, которую можно запускать на хостинге через SSH или планировщик. Фишка в том, что мои навыки программирования оставляют желать лучшего, пишу методом тыка. Итак, вот проблемный момент: Простейший php скрипт <?php // DB $DB_HOSTNAME = "localhost"; $DB_USERNAME = "vladbl0m_eshop"; $DB_PASSWORD = "***********"; $DB_DATABASE = "vladbl0m_eshop"; $con=mysqli_connect($DB_HOSTNAME, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE); if (mysqli_connect_errno($con)) { echo "Failed to connect to MySQL:" . mysqli_connect_error(); } else { echo "CONNECTED TO " . $DB_DATABASE; . . . . . // Establishing parent connections. $select = $con->query("SELECT * FROM oc_category") or die("Error in the consult.." . mysqli_error($con)); foreach ($select->rows as $row) { if ($row['merlion_parent_id'] == 'Order') { $result = $con->query("UPDATE oc_category SET parent_id = '0', top = '1', column = '1', status = '1', date_modified = NOW(), date_added = NOW() WHERE category_id = '". (int)$row['category_id'] ."'") or die("Error in the consult.." . mysqli_error($con)); } else { $search = $con->query("SELECT category_id FROM oc_category WHERE merlion_id = '" . $merlion_parent_id . "'"); $parent_id = $search->row["category_id"]; $result = $con->query("UPDATE oc_category SET parent_id = '". (int)$parent_id ."', column = '1', status = '1', date_modified = NOW(), date_added = NOW() WHERE category_id = '" . (int)$category_id ."'") or die("Error in the consult.." . mysqli_error($con)); } } echo "done"; ?> Так вот. Эта часть выполняется пустой, то есть проходит done. и все. Запрос как будто в упор не видит. Если запускать такой же скрипт через магазин, то выполняет без проблем. Есть идеи?
  14. Да. Но по другому вопросу (тот уже решил).