esistema1 Опубликовано 11 декабря, 2017 Жалоба Поделиться Опубликовано 11 декабря, 2017 (изменено) Все доброго вечера!Прошу помощи. Simpla 1.4. Необходимо вывести артикул варианта заказанного товара в админке на странице заказы. Следующий код вставляю в tpl шаблон (orders) {foreach item=product from=$order->products} {$product->sku} {/foreach} В файле Orders.admin.php вставил следующее $this->db->query("SELECT orders_products.*, products_variants.sku as sku, products_variants.stock as stock, products.url as url, products.large_image as large_image FROM orders_products LEFT JOIN products ON products.product_id = orders_products.product_id LEFT JOIN products_variants ON orders_products.variant_id = products_variants.variant_id WHERE orders_products.order_id = '$order->order_id'"); $products = $this->db->results(); В итоге артикул выводится, но если потом открыть заказанный товар что нибудь в нем изменить и нажать сохранить, артикул в админке именно у этого товара исчезает. Подскажите пожалуйста что это может быть и как можно исправить? Изменено 11 декабря, 2017 пользователем esistema1 Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 11 декабря, 2017 Автор Жалоба Поделиться Опубликовано 11 декабря, 2017 {$product->variant_id} причем тоже выводится но при сохранении никуда не исчезает, исчезает только {$product->sku} Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 12 декабря, 2017 Автор Жалоба Поделиться Опубликовано 12 декабря, 2017 Не могу понять что может меняться при сохранении товара без изменений. Т.е. открыли редактирование товара - ничего в нем не изменили и нажали сохранить - что при этом поменяется в базе? Цитата Ссылка на сообщение Поделиться на другие сайты
Пастухов Опубликовано 12 декабря, 2017 Жалоба Поделиться Опубликовано 12 декабря, 2017 То, что создатель CMS запланировал, то и поменяется. Последующие доработки тоже могут от себя что-то добавить.Меняться может много чего. Например:1. Дата модификации товара.2. Сведения от бренде в поле brand_id (если ранее бренд был удален, и в поле сидел старый ID). Если у Вас что-то нештатно пропадает, надо не гадать на авось, задавая общие абстрактные вопросы, а выяснять конкретно и точно. Причины могут быть очень и очень разные... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 12 декабря, 2017 Жалоба Поделиться Опубликовано 12 декабря, 2017 То, что создатель CMS запланировал, то и поменяется. Последующие доработки тоже могут от себя что-то добавить. Меняться может много чего. Например: 1. Дата модификации товара. 2. Сведения от бренде в поле brand_id (если ранее бренд был удален, и в поле сидел старый ID). Если у Вас что-то нештатно пропадает, надо не гадать на авось, задавая общие абстрактные вопросы, а выяснять конкретно и точно. Причины могут быть очень и очень разные...1. Нет такого поля, есть только поле created которое не обновляется при сохранении товара 2. При удалении бренда, поле brand_id у товаров с этим брендом становится NULL. Цитата Ссылка на сообщение Поделиться на другие сайты
Пастухов Опубликовано 12 декабря, 2017 Жалоба Поделиться Опубликовано 12 декабря, 2017 1. Нет такого поля, есть только поле created которое не обновляется при сохранении товара 1. Есть такое поле. Я даже об этом готов поспорить, например, на 200$. 2. При удалении бренда, поле brand_id у товаров с этим брендом становится NULL. 2. Тут тоже все не так элементарно, как Вы думаете... Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 12 декабря, 2017 Автор Жалоба Поделиться Опубликовано 12 декабря, 2017 Выяснил: меняется variant_id в таблице products_variants. К цифре добавляется +1. Вопрос - почему и зачем? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 12 декабря, 2017 Жалоба Поделиться Опубликовано 12 декабря, 2017 1. Есть такое поле. Я даже об этом готов поспорить, например, на 200$. 2. Тут тоже все не так элементарно, как Вы думаете...Во первых спорят только дураки, а так как у тебя участились случаи предложения что-то оспорить на форуме, то ты скорее всего полный дурак, во вторых из стандартного дистрибутива симплы взял SQL в котором нет такого поля, вот содержимое части файла: CREATE TABLE `s_products` ( `id` int(11) NOT NULL AUTO_INCREMENT, `url` varchar(255) NOT NULL DEFAULT '', `brand_id` int(11) DEFAULT NULL, `name` varchar(500) NOT NULL, `annotation` text NOT NULL, `body` longtext NOT NULL, `visible` tinyint(1) NOT NULL DEFAULT '1', `position` int(11) NOT NULL DEFAULT '0', `meta_title` varchar(500) NOT NULL, `meta_keywords` varchar(500) NOT NULL, `meta_description` varchar(500) NOT NULL, `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `featured` tinyint(1) DEFAULT NULL, `external_id` varchar(36) NOT NULL, PRIMARY KEY (`id`), KEY `url` (`url`), KEY `brand_id` (`brand_id`), KEY `visible` (`visible`), KEY `position` (`position`), KEY `external_id` (`external_id`), KEY `hit` (`featured`), KEY `name` (`name`(333)) ) ENGINE=MyISAM AUTO_INCREMENT=43 DEFAULT CHARSET=utf8; В третьих последняя фраза мало что объясняет, если это работает не так как я указал выше, то будь добр поясни как это работает, возможно я ошибся. Цитата Ссылка на сообщение Поделиться на другие сайты
Пастухов Опубликовано 12 декабря, 2017 Жалоба Поделиться Опубликовано 12 декабря, 2017 Скорее всего, что-то дорабатывалось. И, возможно, не совсем правильно...Если бы изначально автор такое сделал, то у всех бы данные пропадали и форум бы бы завален жалобами. Или все бы от такой системы отказались.Вопрос явно индивидуальный. Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 12 декабря, 2017 Автор Жалоба Поделиться Опубликовано 12 декабря, 2017 Нашел код который добавляет единичку... $this->db->query("UPDATE products s1, products s2 SET s1.order_num = s2.order_num+1, s2.order_num = s2.order_num WHERE s1.product_id = '$product_id' AND s2.product_id = @id"); Как бы теперь понять для чего это надо было... P.S. артикул пропадает не на сайте, а в админке где я его пытаюсь вывести (там его изначально вообще не было). Это код поднятия товара в каталоге. Вот его полная версия # Сдвинуть товар вверх if(isset($_GET['action']) and $_GET['action']=='move_up') { $this->check_token(); $product_id = $_GET['item_id']; $current_category_id = $this->param('category'); $category_filter = ''; if($current_category_id) { $categories = Storefront::get_categories(); $current_category = Storefront::category_by_id($categories, $current_category_id); $subcats_list = join($current_category->subcats_ids, ','); $category_filter = "AND s1.category_id in ($subcats_list)"; } if($this->param('brand_id')) $filter_brand = ' AND s1.brand_id=s2.brand_id'; else $filter_brand = ''; $this->db->query("SELECT @id:=s1.product_id FROM products s1, products s2 WHERE s1.order_num>s2.order_num $category_filter $filter_brand AND s2.product_id = '$product_id' ORDER BY s1.order_num ASC "); $this->db->query("UPDATE products s1, products s2 SET s1.order_num = s2.order_num+1, s2.order_num = s2.order_num WHERE s1.product_id = '$product_id' AND s2.product_id = @id"); $get = $this->form_get(array()); if(isset($_GET['from'])) header("Location: ".$_GET['from']); else header("Location: index.php$get"); } Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 12 декабря, 2017 Автор Жалоба Поделиться Опубликовано 12 декабря, 2017 Этот код делался чтобы одним кликом поднять товар на первое место с любой страницы. Подскажите что в нем исправить чтобы и функция поднятия осталась и в админке varian_id не менялся? Цитата Ссылка на сообщение Поделиться на другие сайты
Пастухов Опубликовано 12 декабря, 2017 Жалоба Поделиться Опубликовано 12 декабря, 2017 Во первых ... ты скорее всего полный дурак,во вторых из стандартного дистрибутива симплы взял SQL в котором нет такого поля, вот содержимое части файла: Я конечно, не так умен, как Вы, поэтому мне видятся большие пробелы в Вашей логике.Поскольку то, что Вы процитировали из "стандартного дистрибутива симплы", с утверждением "Нет такого поля" (речь про Дата модификации товара) никак не связано... Цитата Ссылка на сообщение Поделиться на другие сайты
Пастухов Опубликовано 12 декабря, 2017 Жалоба Поделиться Опубликовано 12 декабря, 2017 Этот код делался чтобы одним кликом поднять товар на первое место с любой страницы. Подскажите что в нем исправить чтобы и функция поднятия осталась и в админке varian_id не менялся? Это не так просто и вряд ли кто станет бесплатно в этом ковыряться... Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 12 декабря, 2017 Автор Жалоба Поделиться Опубликовано 12 декабря, 2017 Ошибся я это не тот код - не из за него 1 добавляется.. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.