Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

C0DENAMED

Новачок
  
  • Публікації

    26
  • З нами

  • Відвідування

Відвідувачі профілю

1 928 переглядів профілю

C0DENAMED's Achievements

Explorer

Explorer (4/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Репутація

  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. Признателен за помощь. Действительно, получилось с SHOW TABLE STATUS. Получилось так: $last_id = $this->db->query("SHOW TABLE STATUS LIKE '" . DB_PREFIX . "manufacturer'"); $manufacturer_id = ($last_id->row['Auto_increment'] - 1);
  5. Ребят, нужна помощь компетентных людей. При разработке наткнулся на такую проблемку: //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.
  6. Да, понадобился. Оказалось просто. А можно же тогда вызвать уже готовую функцию прямо из model? Чем переписывать это все... Вот только там $this что такое не могу понять. Что нужно присоединить, чтобы он понимал $this->db->query ? Или проще просто заменить на $db->query?
  7. Ознакомлюсь. Просто не хотелось в такой простой скрипт пихать кишки от опенкарта, когда можно вроде как обойтись обычными Mysql запросами...
  8. Результат пустой! Ошибки не показывает, поэтому немогу понять в чем дело. Пробовал по разному и 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'); }
  9. Вот тут: Этот запрос не проходит или что. Такое ощущение что выборку не делает. Точно такой же запрос через ОС проходит. $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)); }
  10. Спасиб, думал об этом, но все же. Большая часть кода работает, а вот тот запрос почему-то не хочет.
  11. Приветствую, ребят возникла проблема. Пытаюсь написать отдельный .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. и все. Запрос как будто в упор не видит. Если запускать такой же скрипт через магазин, то выполняет без проблем. Есть идеи?
  12. Доброго времени суток. Есть такая проблема. Нужно было реализовать картинки для товаров по абсолютным ссылкам. Сделано так. В БД в oc_product в строке image находятся абсолютные ссылки для картинок. Картинки по умолчанию больших размеров, на странице товара показывает как надо, но проблема в том, что теперь даже на странице с товарами вместо маленьких тумбнейлов теперь огромные картинки. Использовав css сжатие удалось их уменьшить, но истинный размер не поменялся. Так вот, сейчас пытаюсь реализовать вот что: В таблице oc_product сделал еще одну строку image_small в которых будут храниться ссылки на тумбнейлы маленького размера. Проблема в том, как подключить их. Покопавшись в catalog\template\product\category.tpl выяснилось что за показ тумбнейлов отвечает переменная $thumb. К сожалению отследить ее до БД не удалось. Подскажите в какую сторону копать?

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.