За последние 24 часа нас посетили 21955 программистов и 992 робота. Сейчас ищут 679 программистов ...

Не записываются строки в таблицу

Тема в разделе "Сделайте за меня", создана пользователем absg, 8 окт 2016.

Метки:
  1. absg

    absg Новичок

    С нами с:
    8 окт 2016
    Сообщения:
    2
    Симпатии:
    0
    Работаю над модулем продаж серийников для OpenCart. Все поставил правильно, интерфейс и в админке и в клиентской части добавился. Только там есть 2 галочки, нажимая которые и сохраняя настройки, должна происходить запись строки, говорящей, что у этого товара появились 2 активные поля с кодами на продажу (стр. 381-382) - см. screen1.png
    Код (Text):
    1.     <file name="admin/language/*/catalog/product.php">
    2.         <operation error="log">
    3.             <search position="before"><![CDATA[
    4.             $_['entry_meta_description']
    5.             ]]></search>
    6.             <add><![CDATA[
    7.             $_['entry_serialkey']      = 'Номера карт:'; // (стр. 381)
    8. $_['entry_sell_serialkeyword']      = 'Нужны номера карт?'; // (стр. 382)
    9. $_['entry_downloadlink']     = 'Ссылки на загрузку:';
    10.             ]]></add>
    11.         </operation>
    12.     </file>
    Но вот только стоит сохранить, как все изменения сохраняются кроме того, что флажки выставлены.
    Изначально расширение файла - .xml
    (ниже - стр. 491-510)
    Код (Text):
    1.         <operation error="log">
    2.             <search position="before"><![CDATA[public function autocomplete]]></search>
    3.             <add><![CDATA[
    4.             private function checkSerialkeysTables() {
    5.         // New Installation
    6.         $query = $this->db->query("SHOW TABLES LIKE '" . DB_PREFIX . "serialkeys'");
    7.  
    8.         if (!$query->num_rows) {
    9.             $this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "downloadlinks` (`downloadlink_id` int(11) NOT NULL AUTO_INCREMENT, `downloadlink` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '', `product_id` int(11) NOT NULL, `order_id` int(11) NOT NULL, `order_status_id` int(1) NOT NULL, `date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`downloadlink_id`));");
    10.             $this->db->query("CREATE TABLE `" . DB_PREFIX . "order_downloadlink` (`order_downloadlink_id` int(11) NOT NULL AUTO_INCREMENT, `order_id` int(11) NOT NULL, `order_product_id` int(11) NOT NULL, `productname` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '', `downloadlink` varchar(128) COLLATE utf8_bin NOT NULL, `mask` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '', `remaining` int(3) NOT NULL DEFAULT '0', PRIMARY KEY (`order_downloadlink_id`));");
    11.             $this->db->query("CREATE TABLE `" . DB_PREFIX . "order_serialkey` (`order_serialkey_id` int(11) NOT NULL AUTO_INCREMENT, `order_id` int(11) NOT NULL, `order_product_id` int(11) NOT NULL, `productname` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '', `serialkey` varchar(128) COLLATE utf8_bin NOT NULL, `mask` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '', `remaining` int(3) NOT NULL DEFAULT '0', PRIMARY KEY (`order_serialkey_id`));");
    12.             $this->db->query("CREATE TABLE `" . DB_PREFIX . "product_to_downloadlink` (`product_id` int(11) NOT NULL, `downloadlink_id` int(11) NOT NULL, PRIMARY KEY (`product_id`,`downloadlink_id`));");
    13.             $this->db->query("CREATE TABLE `" . DB_PREFIX . "product_to_serial` (`product_id` int(11) NOT NULL, `serial_id` int(11) NOT NULL, PRIMARY KEY (`product_id`,`serial_id`));");
    14.             $this->db->query("CREATE TABLE `" . DB_PREFIX . "serialkeys` (`serial_id` int(11) NOT NULL AUTO_INCREMENT, `serialkey` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '', `product_id` int(11) NOT NULL, `order_id` int(11) NOT NULL, `order_status_id` int(1) NOT NULL, `date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`serial_id`));");
    15.             $this->db->query("ALTER TABLE `" . DB_PREFIX . "product` ADD    `saleserials` varchar(1) COLLATE utf8_bin NOT NULL DEFAULT 'N';");
    16.             $this->db->query("ALTER TABLE `" . DB_PREFIX . "product` ADD    `saledownloadlinks` varchar(1) COLLATE utf8_bin NOT NULL DEFAULT 'N';");
    17.         }
    18.     }
    19.             ]]></add>
    20.         </operation>
    Инициализация таблицы и запись - насколько я понимаю - в строках 491-510.
    Но!
    В результате работы этого мода:
    1. Таблицы созданы
    2. Строк в ней нет даже пустых

    И почему такое происходит - голову ломаю уже 2 дня! ПХП и остальное за 5 лет забыл напрочь - только остаточные знания, а тут вот понадобилось... (((

    Прикрепляю:
    - скрин части админки
    - файл, над которым шаманю
    - полный модуль
    Устанавливал на OpenCart 2.1.0.1 с последним VQMod

    Что не так? Что посоветуете?
    P.S. Не знаю в какую ветку выложить.
    Dear Moderator! Если считаете, что сообщение более эффективно получит отклик в другом разделе - перебросьте его туда.
     

    Вложения:

    #1 absg, 8 окт 2016
    Последнее редактирование: 8 окт 2016
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  3. absg

    absg Новичок

    С нами с:
    8 окт 2016
    Сообщения:
    2
    Симпатии:
    0
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Надо от проблемной части раскручивать проблему вверх и перепроверяя, что там происходит. Где-то будет не стыковка.