Search the Community
Showing results for tags 'sql'.
-
Добрый день. Переношу данные с сайта на сайт при помощи инструмента "Бэкап -Восстановление". Но на старом сайте были добавлены кастомные значение в базу данных. Теперь они не нужны и для переноса требуется их удалить из всех товаров. Товаров очень много, как сделать что-бы во всех товарах это изменение вступило в силу? Пример с файлами загрузки: INSERT INTO `oc_download` (`download_id`, `filename`, `mask`, `date_added`, `file_size`) VALUES ('194', 'john-deere/TM10258_u.pdf.LSstSfyPYzVRFo3UtrOcijwy7igu2Bvs', 'TM10258_u.pdf', '2021-07-29 22:44:45', '18064629'); INSERT INTO `oc_download` (`download_id`, `filename`, `mask`, `date_added`, `file_size`) VALUES ('2938', 'john-deere/tm10544_u.pdf.TXT2n0oSjdbLblQMhPehaktAnAo4kA1r', 'tm10544_u.pdf', '2021-09-26 22:58:22', '101023658'); Как удалить у всех товаров ячейку ", `file_size`" и соответственно его значение? Пример с товарами: INSERT INTO `oc_product` (`product_id`, `model`, `sku`, `upc`, `ean`, `jan`, `isbn`, `mpn`, `location`, `quantity`, `stock_status_id`, `image`, `manufacturer_id`, `shipping`, `price`, `points`, `tax_class_id`, `date_available`, `weight`, `weight_class_id`, `length`, `width`, `height`, `length_class_id`, `subtract`, `minimum`, `sort_order`, `status`, `viewed`, `date_added`, `date_modified`, `noindex`, `doc_code`, `short_description`, `ftp_file_link`) VALUES ('979', 'TM4699', '', '', '', '', '', '', '', '1', '7', 'catalog/manual/john-deere/tm4699-0.jpg', '11', '0', '50.0000', '0', '10', '2021-01-01', '0.00000000', '1', '0.00000000', '0.00000000', '0.00000000', '1', '1', '1', '979', '1', '23', '2021-08-10 11:09:44', '2021-08-10 11:09:44', '1', '00979', 'Language: English; Format: PDF, 760 pages; Covered models (S.N. before 047353): 1450; 1550; 1450 CWS; 1550 CWS; ', ''); INSERT INTO `oc_product` (`product_id`, `model`, `sku`, `upc`, `ean`, `jan`, `isbn`, `mpn`, `location`, `quantity`, `stock_status_id`, `image`, `manufacturer_id`, `shipping`, `price`, `points`, `tax_class_id`, `date_available`, `weight`, `weight_class_id`, `length`, `width`, `height`, `length_class_id`, `subtract`, `minimum`, `sort_order`, `status`, `viewed`, `date_added`, `date_modified`, `noindex`, `doc_code`, `short_description`, `ftp_file_link`) VALUES ('980', 'TM4712', '', '', '', '', '', '', '', '1', '7', 'catalog/manual/john-deere/tm4712-0.jpg', '11', '0', '55.0000', '0', '10', '2021-01-01', '0.00000000', '1', '0.00000000', '0.00000000', '0.00000000', '1', '1', '1', '980', '1', '25', '2021-08-10 11:09:44', '2021-08-10 11:09:44', '1', '00980', 'Language: English; Format: PDF, 1427 pages; Covered models: 9780CTS (SN: 072800 - ); ', ''); Как удалить у всех товаров ", `doc_code`, `short_description`, `ftp_file_link`" и соответственно их значения? Пробовал по видео в notepad++ при помощи регулярных выражений, не получилось. Можно готовое решение?
-
Добрый день. Пытаюсь с помощью SQL запроса скрыть категории, в которых нет товаров в статусе "Активен". Вот такая конструкция почему-то не работает: UPDATE oc_category SET status=0 WHERE category_id in (SELECT distinct category_id FROM oc_product_to_category pc, oc_product p WHERE pc.product_id=p.product_id AND p.status=0) Запрос переводит вообще все категории в статус 0, даже те, в которых есть активные товары. Прошу помощи с запросом.
-
c 12секунд до 300мс. Почему ваши категории могут тормозить ?
Yoda posted a blog entry in Прожектор Бритни Спирс
Привели мне пациента... 500к товаров 7к уников в день 150к записей в таблице order. Вобщем не ларек. И вот на категории в 50-60к товаров этот не ларек генерится 12 секунд! Не ну а че... Это ж опенкарт... Это ж не годится для больших магазинов. Никто не смог помочь. Как обычно вот эти сказки школотронов от программизма. В среднем страницы загружаются 2-4 сек, делаем быстро.все решаем, получаем 200-400мс, но на больших категориях все равно дичь. Смотрим запросы находим вот такое прекрасное, да еще и дважды инициализируемое: $sql = "SELECT p.product_id, (SELECT Count(op.order_id) AS popular FROM oc_order_product op LEFT JOIN `oc_order` o ON ( op.order_id = o.order_id ) WHERE op.product_id = p.product_id AND Adddate(o.date_added, INTERVAL 30 day) < Now() AND o.order_status_id > '0' GROUP BY op.product_id ORDER BY popular DESC) AS popular FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON ( cp.category_id = p2c.category_id ) LEFT JOIN oc_product p ON ( p2c.product_id = p.product_id ) LEFT JOIN oc_product_description pd ON ( p.product_id = pd.product_id ) LEFT JOIN oc_product_to_store p2s ON ( p.product_id = p2s.product_id ) WHERE pd.language_id = '1' AND p.status = '1' AND p2s.store_id = '0' AND cp.path_id = '". (int)$category_id ."' GROUP BY p.product_id ORDER BY ( p.quantity > 0 ) DESC, popular DESC, Lcase(pd.name) DESC, p.date_added DESC LIMIT 0, 3 "; Ржавый фак и Винни-Пух. Это просто какая то жестяная жесть, джоин на джоин на джоин, при чем наборы 60 к товаров, 300 категорий и порядка 10-20к заказов. И сложная сортировка-группировка этого всего по разным таблицам, да еще и по предвычисляемому полю p.quantity > 0 все те школотроны, которые в гугле прочитали страшно умное слово индексы, тут сразу такие присели... При таких запросах индексы в принципе не могут полноценно работать. Вот реально представьте, для того чтобы выбрать 3 самых популярных товара из категории... Вот такое днище... А теперь вопрос знатокам.... А что же делать ? Как оптимизировать эти процессы? Ну кеш вы скажете понятно, но ведь кеш у нас так или иначе должен прогрется для всех категорий, рано или поздно он протухнет, и все равно кому то из клиентов попадется тухлая страница на 10-12сек, да и там не одна не две жирные категории. 7 секунд или 12.. Разницы особой нету. Вобщем задачка со звездочкой. Как сохранить полностью логику этого запроса без изменений базовых таблицы движка и отдать быстро эти данные холодными без всяких кешей ? Если что, мы с 6 сек на этом реализации, получили 0.18 мс.- 21 comments
-
- 1
-
- оптимизиция
- sql
-
(and 2 more)
Tagged with:
-
Написать скрипт (модуль) который будет запускаться по крону и копировать значения кол-ва товаров quantity из таблицы product в соседнюю таблицу product_to_multistore
- 2 replies
-
- запрос к бд
- sql
-
(and 4 more)
Tagged with:
-
Добрых времени суток, столкнулся с такой проблемой - нужно изменить валидацию телефонов во время создания аккаунта незарегистрированным пользователем. Моделируем ситуацию - товары в корзине, человек не зарегистрирован, дальше он вводит все свои данные и нажимает "оформить заказ". Мне со стороны модели необходимо вставить валидацию на телефон указанный при этой быстрой регистрации. Все что пока получилось - валидация в таблицу order а вот в customer падает неотформатированный телефон. Хотелось бы узнать, какие файлы используются когда человек делает быструю регистрацию из корзины. Спасибо за помощь. p.s. само собой customer.php в модели я редактировал , это не сработало, наверное ещё есть запрос в бд на запись какой-то.
-
Нужно скопировать названия производителей с языка id 1 в язык с id 2. Переводить там руками нечего, а брендов много. Может кто-то помочь с составлением SQL-запроса?
-
Вопрос к мега-технарям форума Есть задача: Удалить значение опции из `oc_product_option_value`, которая по идее идет в паре с записью в `oc_product_option` Мы знаем, что, грубо говоря, есть 2 типа опций. - А) Простые пишутся только в `oc_product_option` (одно поле, к примеру дата или текст) - Б) Сложные, имеют варианты значений (много полей, к примеру, несколько размеров кроссовок). Варианты значений дополнительно пишут еще и в `oc_product_option_value` Так вот, я удаляю опцию из `oc_product_option` А затем хочу удалить из `oc_product_option_value` Но! Тут есть 2 варианта как поступить: - 1. Сначала проверить, а является ли эта опция сложной (запрос на существование вариантов значений `oc_option_value`). И при наличии вариантов, уже удалять эту опцию из `oc_product_option_value` - 2. Просто выполнить удаление вслепую. Если так выйдет, что опция была простой, - ну подумаешь, будет удалено 0 строк. По скорости потестил: SELECT `option_value_id` FROM `oc_option_value` WHERE `option_id` = '4' -- Выполняется 0.0003 с. DELETE FROM `oc_product_option_value` WHERE `product_id` = '42' AND `option_id` = '4' -- Выполняется 0.0002 с. По скорости логично просто удалять вслепую. Тем более, что если конкретная опция окажется сложной, то по результатам 2-ух запросов выйдет уже почти в 2 раза дольше (0,0005). А запросов может быть много и товаров на реальном сайте тоже может быть много. Экономнее делать 1 запрос. Но феншуйно ли так поступать?
-
Здравствуйте, получается вывести лишь один элемент из mysql таблицы с помощью php и sql запроса, как на opencart вывести абсолютно все элементы?
-
SELECT orders.order_id, clients.name AS client_name, clients.phone, users.login, order_status.name, SUM(products.price * order_content.quantity) as order_price FROM orders, order_status, users, clients, products,order_content WHERE (orders.status_id = order_status.status_id) AND (users.user_id = orders.user_id) AND (clients.client_id = orders.client_id) AND (orders.order_id = order_content.order_id) AND(order_content.product_id = products.product_id) GROUP BY(orders.order_id) выводит пустую таблицу
-
Нужна помощь, не могу разобраться в sql запросе. в /catalog/model/catalog/product.php есть функция: public function getProduct($product_id) { $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special,(SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND pr.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); if ($query->num_rows) { return array( 'product_id' => $query->row['product_id'], 'name' => $query->row['name'], 'description' => $query->row['description'], 'meta_title' => $query->row['meta_title'], 'meta_description' => $query->row['meta_description'], 'meta_keyword' => $query->row['meta_keyword'], 'tag' => $query->row['tag'], 'model' => $query->row['model'], 'sku' => $query->row['sku'], 'upc' => $query->row['upc'], 'ean' => $query->row['ean'], 'jan' => $query->row['jan'], 'isbn' => $query->row['isbn'], 'mpn' => $query->row['mpn'], 'location' => $query->row['location'], 'quantity' => $query->row['quantity'], 'stock_status' => $query->row['stock_status'], 'image' => $query->row['image'], 'manufacturer_id' => $query->row['manufacturer_id'], 'manufacturer' => $query->row['manufacturer'], 'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']), 'special' => $query->row['special'], 'reward' => $query->row['reward'], 'points' => $query->row['points'], 'tax_class_id' => $query->row['tax_class_id'], 'date_available' => $query->row['date_available'], 'weight' => $query->row['weight'], 'weight_class_id' => $query->row['weight_class_id'], 'length' => $query->row['length'], 'width' => $query->row['width'], 'height' => $query->row['height'], 'length_class_id' => $query->row['length_class_id'], 'subtract' => $query->row['subtract'], 'rating' => round($query->row['rating']), 'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0, 'minimum' => $query->row['minimum'], 'sort_order' => $query->row['sort_order'], 'status' => $query->row['status'], 'date_added' => $query->row['date_added'], 'date_modified' => $query->row['date_modified'], 'viewed' => $query->row['viewed'] ); } else { return false; } } В ней есть sql запрос, в котором я не могу разобраться. На примере акционного товара, подскажите, пожалуйста, как изменить этот запрос так, чтобы он вывел не 1 цену, как сейчас, а все цены, которые установлены во вкладке Акция, например 5 записей. В итоге хотел бы по определенному условию показывать нужную мне цену. Изменение/удаление LIMIT приводит к ошибке.
-
Нужно настроить синхронизацию цен из 1С на сайт. Для этого нужно на сайт внести доработки: Сначала нужно заполнить таблицу product_discount - в нее должны загружаться оптовые и дилерские цены из 1С. Загрузка номенклатуры происходит в таблицу product Надо сделать чтобы таблицы product и product_discount синхронизировались. Нужно разбираться в SQL. Пишите сюда или в личку, очень нужен толковый специалист.
-
для определенных атрибутов значение имеет фото и описание данные берутся с двух таблиц с одной картинка со второй описание данные вывожу в магазине но остальные атрибуты дублируются, из за чего такое может быть? модель продукта public function getProductAttributes($product_id) { $product_attribute_group_data = array(); $product_attribute_group_query = $this->db->query("SELECT ag.attribute_group_id, agd.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN " . DB_PREFIX . "attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '" . (int)$product_id . "' AND agd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name"); foreach ($product_attribute_group_query->rows as $product_attribute_group) { $product_attribute_data = array(); $product_attribute_query = $this->db->query("SELECT a.attribute_id, ad.name, pa.text, avd.description, av.image FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "dae_attribute_value_description avd ON (a.attribute_id = avd.attribute_id) LEFT JOIN " . DB_PREFIX . "dae_attribute_value av ON (a.attribute_id = av.attribute_id) WHERE pa.product_id = '" . (int)$product_id . "' AND a.attribute_group_id = '" . (int)$product_attribute_group['attribute_group_id'] . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND avd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY a.sort_order, ad.name"); foreach ($product_attribute_query->rows as $product_attribute) { $product_attribute_data[] = array( 'attribute_id' => $product_attribute['attribute_id'], 'name' => $product_attribute['name'], 'text' => $product_attribute['text'], 'image' => $product_attribute['image'], 'description' => $product_attribute['description'] ); } $product_attribute_group_data[] = array( 'attribute_group_id' => $product_attribute_group['attribute_group_id'], 'name' => $product_attribute_group['name'], 'attribute' => $product_attribute_data ); } return $product_attribute_group_data; }
-
Здравствуйте, форумчане. Задача достаточно простая, но в то же время актуальная для многих интернет-магазинов. Настроена синхронизация с 1С, при удалении товаров из базы, цена автоматически обнуляется. Нужно настроить сортировку по цене таким образом, чтобы товары с нулевым значением цены отображались в конце списка, а сортировка шла от "1" и более Знаю, что нужно выполнить правки в .../catalog/controller/product/category.php и ...catalog/model/catalog/product.php if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.sort_order"; } Помогите, пожалуйста, разобраться
- 2 replies
-
- сортировка
- цены
-
(and 3 more)
Tagged with:
-
Есть дополнительные модули оплаты, как их вывести на страницу продукта? Не могу найти связь между продуктом и методом оплаты в базе данных.Пример на картинке. Спасибо.
- 9 replies
-
- opencart23
- sql
-
(and 2 more)
Tagged with:
-
Добрый день! Нужна помощь сообщества В интернет-магазине примерно 520 наименований товаров. Несколько месяцев назад мы начали получать письма от хостинга с предупреждением о превышении нагрузки на базу. По тарифному плану суточный лимит MySQL был установлен 900 сек, но были значения 950-1100. Основную нагрузку давал такой запрос: Почитав этот форум, нашел рекомендацию убрать из настроек магазина подсчет количества товаров в группах (было 13 групп). Первое время это помогало, но потом опять начались случаи перебора. Решили перейти на другой тарифный план, с лимитом нагрузки на базу 1350 сек (такого значения не было вообще никогда). Вроде бы уже обрадовались, все нормально - и тут вчера получаем нагрузку 3799, то есть 181% превышения. Как такое возможно в магазине с относительно небольшим количеством товара? Я под спойлером даю статистику по сайту. Как видите, имеет место скачок посещаемости 14.11, но в то же время 27 и 28 октября посещаемость была больше 25000, при этом нагрузка за пределы нормы даже и близко не выходила. Как раз 27-28 числа я размещал материалы со ссылкой на сайт (точнее на форума магазина, а не сам магазин) в нашей группе в Фейсбуке, этим можно объяснить рост посетителей в те дни. Так же я делал пост в Фейсбуке и 13 числа, тоже со ссылкой на форума магазина. Опять посещаемость выросла, но при этом и зашкалила нагрузка. Это не может быть признаком какой-то атаки например? Еще вопрос. В приведенном выше коде запроса есть условие WHERE pd.language_id = NNN В админке магазина был установлен (но отключен для использования) язык, который фактически не использовался (планировалось включить в будущем). Сейчас я его вообще удалил из языковых настроек, оставив только те, которые реально используются на сайте магазина. Это может повлиять на снижение нагрузки? Заранее всем спасибо за помощь!
-
Здравствуйте. Создаю поле в админке в настройках на вкладке витрина. Вот код; <spoiler> <file path="admin/controller/setting/setting.php"> <operation error="skip"> <search><![CDATA[$data['entry_google_analytics'] = $this->language->get('entry_google_analytics');]]></search> <add position="after"><![CDATA[$data['entry_config_min_price_order'] = $this->language->get('entry_config_min_price_order'); $data['entry_config_nomer_group'] = $this->language->get('entry_config_nomer_group');]]></add> </operation> <operation error="skip"> <search><![CDATA[$data['config_fax'] = $this->config->get('config_fax');]]></search> <add position="after" offset="2"><![CDATA[if (isset($this->request->post['config_min_price_order'])) { $data['config_min_price_order'] = $this->request->post['config_min_price_order']; } else { $data['config_min_price_order'] = $this->config->get('config_min_price_order'); } if (isset($this->request->post['config_nomer_group'])) { $data['config_nomer_group'] = $this->request->post['config_nomer_group']; } else { $data['config_nomer_group'] = $this->config->get('config_nomer_group'); } if (isset($this->request->post['nomer_group_2'])) { $data['config_nomer_group_2'] = $this->request->post['config_nomer_group_2']; } else { $data['config_nomer_group_2'] = $this->config->get('config_nomer_group_2'); } if (isset($this->request->post['nomer_group_3'])) { $data['config_nomer_group_3'] = $this->request->post['config_nomer_group_3']; } else { $data['config_nomer_group_3'] = $this->config->get('config_nomer_group_3'); } if (isset($this->request->post['nomer_group_4'])) { $data['config_nomer_group_4'] = $this->request->post['config_nomer_group_4']; } else { $data['config_nomer_group_4'] = $this->config->get('config_nomer_group_4'); } if (isset($this->request->post['nomer_group_5'])) { $data['config_nomer_group_5'] = $this->request->post['config_nomer_group_5']; } else { $data['config_nomer_group_5'] = $this->config->get('config_nomer_group_5'); } if (isset($this->request->post['nomer_group_6'])) { $data['config_nomer_group_6'] = $this->request->post['config_nomer_group_6']; } else { $data['config_nomer_group_6'] = $this->config->get('config_nomer_group_6'); } if (isset($this->request->post['nomer_group_7'])) { $data['config_nomer_group_7'] = $this->request->post['config_nomer_group_7']; } else { $data['config_nomer_group_7'] = $this->config->get('config_nomer_group_7'); }]]></add> </operation> </file> <file path="admin/view/template/setting/setting.tpl"> <operation error="skip"> <search><![CDATA[<input type="text" name="config_fax" value="<?php echo $config_fax; ?>" placeholder="<?php echo $entry_fax; ?>" id="input-fax" class="form-control" />]]></search> <add position="after" offset="2"><![CDATA[<div class="form-group"> <label class="col-sm-2 control-label" for="input-fax"><?php echo $entry_config_min_price_order; ?></label> <div class="col-sm-10"> <input type="text" name="min_price_order" value="<?php echo $config_min_price_order; ?>" placeholder="<?php echo $config_min_price_order; ?>" class="form-control" /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label" for="input-fax"><?php echo $entry_config_nomer_group; ?></label> <div class="col-sm-10"> <td><input style="width: 40px;" type="text" name="nomer_group" value="<?php echo $config_nomer_group; ?>" /><input style="width: 40px;" type="text" name="nomer_group_2" value="<?php echo $config_nomer_group_2; ?>" /><input style="width: 40px;" type="text" name="nomer_group_3" value="<?php echo $config_nomer_group_3; ?>" /><input style="width: 40px;" type="text" name="nomer_group_4" value="<?php echo $config_nomer_group_4; ?>" /><input style="width: 40px;" type="text" name="nomer_group_5" value="<?php echo $config_nomer_group_5; ?>" /><input style="width: 40px;" type="text" name="nomer_group_6" value="<?php echo $config_nomer_group_6; ?>" /><input style="width: 40px;" type="text" name="nomer_group_7" value="<?php echo $config_nomer_group_7; ?>" /></td> </div> </div>]]></add> </operation> </file> </spoiler> В таблице `oc_setting` по ключу нашел config_fax скопировал, поменял значения и сохранил. На вкладке Витрина значение появилось. Нажимаю "сохранить" и все, значение, ключ и т.д. как не было. Что делать? Спасибо.