GrblFF Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 Здравствуйте. Для учета кто из менеджеров занес товар и чтобы другие менеджеры не видели товары других ввел переменную "user_id" - берется соответственно из таблицы user. В базе к таблице product добавил поле user_id. Теперь админка определяет кто зашел на сайт по id и в товарах показывает только его товары. Проблема в том что при создании товара админка знает что id менеджера допустим 9 и var_dump это в шаблоне показывает. В функции add в модели добавил user_id = '" . (int)$data['user_id'] . "' но в лог пишется PHP Notice: Undefined index: customer_id как раз в той строке. В контроллере $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } Как передать эту переменную правильно для модели? Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 Вы что-то от нас скрываете, пишет что не определен customer_id , а у вас такого в коде нету...Мб строчкой ошиблись? Стоят ocmod дополнения? Спотрите тогда в папку modification Надіслати Поділитися на інших сайтах More sharing options... GrblFF Опубліковано: 3 листопада 2017 Автор Share Опубліковано: 3 листопада 2017 Сначала делал customer_id, переделал на user_id. В логе старая запись была. Новая теперь PHP Notice: Undefined index: user_id Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 2 часа назад, GrblFF сказал: В функции add в модели добавил user_id = '" . (int)$data['user_id'] в модели, в переменной $data, данные из массива $_POST. откуда там будет user_id? $this->model_catalog_product->addProduct($this->request->post); или я что-то не так понял? Надіслати Поділитися на інших сайтах More sharing options... thentru Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар Надіслати Поділитися на інших сайтах More sharing options... GrblFF Опубліковано: 3 листопада 2017 Автор Share Опубліковано: 3 листопада 2017 Не передавалось потому, что хоть в контроллере переменная и определялась, но в форму отправки в шаблоне я забыл ее включить. Вставил со свойством display:none и теперь все работает нормально. 1 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 2 часа назад, GrblFF сказал: Не передавалось потому, что хоть в контроллере переменная и определялась, но в форму отправки в шаблоне я забыл ее включить. а нафига таскать идентификатор пользователя из контроллера в шаблон, из шаблона в модель? получайте id в модели. читайте выше сообщение от@thentru Надіслати Поділитися на інших сайтах More sharing options... 1 month later... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а не подскажите как правильно это реализовать, сам только учюсь хотелось бы немного по подробнее о данном действии как и что где прописать,если не сложно,очень буду благодарен Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Версия движка у меня 2,3 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 4 часа назад, pasha2298 сказал: как правильно это реализовать что это? Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 27 минут назад, fanatic сказал: что это? то о чем обсуждается в этой статье, именно сами шаги по этапам ,я только учюсь хочу разобраться. Очень буду признателен вам если расскажите куда что подставлять Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 1 час назад, fanatic сказал: что это? Подскажите что я делаю не так и как нужно правильно, вот что я сделал : 1. В контроллер product.php добавил строчки 2.Вставил в модель product.phpвот эти строчки: В итоге при добавлении товара вот такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЂРЅСЂРЅРєРєРї', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '123', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal funct in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 42 минуты назад, pasha2298 сказал: именно сами шаги по этапам в общих чертах как-то так 1. В 03.11.2017 в 07:47, GrblFF сказал: В базе к таблице product добавил поле user_id. 2. В 03.11.2017 в 11:00, thentru сказал: При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); 3. В 03.11.2017 в 11:00, thentru сказал: а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 12 минут назад, fanatic сказал: в общих чертах как-то так 1. 2. 3. достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья А глянте пожалуйста мое сообщение выше что я делаю не так что в итоге у меня вылетает ошибка Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 8 минут назад, fanatic сказал: запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() то есть этим заменить это public function 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 минуты назад, pasha2298 сказал: то есть этим заменить это нет, добавить после этого Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
n3bo Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 Вы что-то от нас скрываете, пишет что не определен customer_id , а у вас такого в коде нету...Мб строчкой ошиблись? Стоят ocmod дополнения? Спотрите тогда в папку modification Надіслати Поділитися на інших сайтах More sharing options...
GrblFF Опубліковано: 3 листопада 2017 Автор Share Опубліковано: 3 листопада 2017 Сначала делал customer_id, переделал на user_id. В логе старая запись была. Новая теперь PHP Notice: Undefined index: user_id Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 2 часа назад, GrblFF сказал: В функции add в модели добавил user_id = '" . (int)$data['user_id'] в модели, в переменной $data, данные из массива $_POST. откуда там будет user_id? $this->model_catalog_product->addProduct($this->request->post); или я что-то не так понял? Надіслати Поділитися на інших сайтах More sharing options... thentru Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар Надіслати Поділитися на інших сайтах More sharing options... GrblFF Опубліковано: 3 листопада 2017 Автор Share Опубліковано: 3 листопада 2017 Не передавалось потому, что хоть в контроллере переменная и определялась, но в форму отправки в шаблоне я забыл ее включить. Вставил со свойством display:none и теперь все работает нормально. 1 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 2 часа назад, GrblFF сказал: Не передавалось потому, что хоть в контроллере переменная и определялась, но в форму отправки в шаблоне я забыл ее включить. а нафига таскать идентификатор пользователя из контроллера в шаблон, из шаблона в модель? получайте id в модели. читайте выше сообщение от@thentru Надіслати Поділитися на інших сайтах More sharing options... 1 month later... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а не подскажите как правильно это реализовать, сам только учюсь хотелось бы немного по подробнее о данном действии как и что где прописать,если не сложно,очень буду благодарен Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Версия движка у меня 2,3 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 4 часа назад, pasha2298 сказал: как правильно это реализовать что это? Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 27 минут назад, fanatic сказал: что это? то о чем обсуждается в этой статье, именно сами шаги по этапам ,я только учюсь хочу разобраться. Очень буду признателен вам если расскажите куда что подставлять Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 1 час назад, fanatic сказал: что это? Подскажите что я делаю не так и как нужно правильно, вот что я сделал : 1. В контроллер product.php добавил строчки 2.Вставил в модель product.phpвот эти строчки: В итоге при добавлении товара вот такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЂРЅСЂРЅРєРєРї', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '123', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal funct in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 42 минуты назад, pasha2298 сказал: именно сами шаги по этапам в общих чертах как-то так 1. В 03.11.2017 в 07:47, GrblFF сказал: В базе к таблице product добавил поле user_id. 2. В 03.11.2017 в 11:00, thentru сказал: При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); 3. В 03.11.2017 в 11:00, thentru сказал: а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 12 минут назад, fanatic сказал: в общих чертах как-то так 1. 2. 3. достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья А глянте пожалуйста мое сообщение выше что я делаю не так что в итоге у меня вылетает ошибка Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 8 минут назад, fanatic сказал: запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() то есть этим заменить это public function 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 минуты назад, pasha2298 сказал: то есть этим заменить это нет, добавить после этого Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
fanatic Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 2 часа назад, GrblFF сказал: В функции add в модели добавил user_id = '" . (int)$data['user_id'] в модели, в переменной $data, данные из массива $_POST. откуда там будет user_id? $this->model_catalog_product->addProduct($this->request->post); или я что-то не так понял? Надіслати Поділитися на інших сайтах More sharing options... thentru Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар Надіслати Поділитися на інших сайтах More sharing options... GrblFF Опубліковано: 3 листопада 2017 Автор Share Опубліковано: 3 листопада 2017 Не передавалось потому, что хоть в контроллере переменная и определялась, но в форму отправки в шаблоне я забыл ее включить. Вставил со свойством display:none и теперь все работает нормально. 1 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 2 часа назад, GrblFF сказал: Не передавалось потому, что хоть в контроллере переменная и определялась, но в форму отправки в шаблоне я забыл ее включить. а нафига таскать идентификатор пользователя из контроллера в шаблон, из шаблона в модель? получайте id в модели. читайте выше сообщение от@thentru Надіслати Поділитися на інших сайтах More sharing options... 1 month later... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а не подскажите как правильно это реализовать, сам только учюсь хотелось бы немного по подробнее о данном действии как и что где прописать,если не сложно,очень буду благодарен Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Версия движка у меня 2,3 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 4 часа назад, pasha2298 сказал: как правильно это реализовать что это? Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 27 минут назад, fanatic сказал: что это? то о чем обсуждается в этой статье, именно сами шаги по этапам ,я только учюсь хочу разобраться. Очень буду признателен вам если расскажите куда что подставлять Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 1 час назад, fanatic сказал: что это? Подскажите что я делаю не так и как нужно правильно, вот что я сделал : 1. В контроллер product.php добавил строчки 2.Вставил в модель product.phpвот эти строчки: В итоге при добавлении товара вот такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЂРЅСЂРЅРєРєРї', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '123', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal funct in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 42 минуты назад, pasha2298 сказал: именно сами шаги по этапам в общих чертах как-то так 1. В 03.11.2017 в 07:47, GrblFF сказал: В базе к таблице product добавил поле user_id. 2. В 03.11.2017 в 11:00, thentru сказал: При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); 3. В 03.11.2017 в 11:00, thentru сказал: а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 12 минут назад, fanatic сказал: в общих чертах как-то так 1. 2. 3. достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья А глянте пожалуйста мое сообщение выше что я делаю не так что в итоге у меня вылетает ошибка Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 8 минут назад, fanatic сказал: запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() то есть этим заменить это public function 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 минуты назад, pasha2298 сказал: то есть этим заменить это нет, добавить после этого Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
thentru Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар Надіслати Поділитися на інших сайтах More sharing options...
GrblFF Опубліковано: 3 листопада 2017 Автор Share Опубліковано: 3 листопада 2017 Не передавалось потому, что хоть в контроллере переменная и определялась, но в форму отправки в шаблоне я забыл ее включить. Вставил со свойством display:none и теперь все работает нормально. 1 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 2 часа назад, GrblFF сказал: Не передавалось потому, что хоть в контроллере переменная и определялась, но в форму отправки в шаблоне я забыл ее включить. а нафига таскать идентификатор пользователя из контроллера в шаблон, из шаблона в модель? получайте id в модели. читайте выше сообщение от@thentru Надіслати Поділитися на інших сайтах More sharing options... 1 month later... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а не подскажите как правильно это реализовать, сам только учюсь хотелось бы немного по подробнее о данном действии как и что где прописать,если не сложно,очень буду благодарен Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Версия движка у меня 2,3 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 4 часа назад, pasha2298 сказал: как правильно это реализовать что это? Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 27 минут назад, fanatic сказал: что это? то о чем обсуждается в этой статье, именно сами шаги по этапам ,я только учюсь хочу разобраться. Очень буду признателен вам если расскажите куда что подставлять Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 1 час назад, fanatic сказал: что это? Подскажите что я делаю не так и как нужно правильно, вот что я сделал : 1. В контроллер product.php добавил строчки 2.Вставил в модель product.phpвот эти строчки: В итоге при добавлении товара вот такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЂРЅСЂРЅРєРєРї', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '123', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal funct in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 42 минуты назад, pasha2298 сказал: именно сами шаги по этапам в общих чертах как-то так 1. В 03.11.2017 в 07:47, GrblFF сказал: В базе к таблице product добавил поле user_id. 2. В 03.11.2017 в 11:00, thentru сказал: При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); 3. В 03.11.2017 в 11:00, thentru сказал: а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 12 минут назад, fanatic сказал: в общих чертах как-то так 1. 2. 3. достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья А глянте пожалуйста мое сообщение выше что я делаю не так что в итоге у меня вылетает ошибка Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 8 минут назад, fanatic сказал: запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() то есть этим заменить это public function 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 минуты назад, pasha2298 сказал: то есть этим заменить это нет, добавить после этого Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
fanatic Опубліковано: 3 листопада 2017 Share Опубліковано: 3 листопада 2017 2 часа назад, GrblFF сказал: Не передавалось потому, что хоть в контроллере переменная и определялась, но в форму отправки в шаблоне я забыл ее включить. а нафига таскать идентификатор пользователя из контроллера в шаблон, из шаблона в модель? получайте id в модели. читайте выше сообщение от@thentru Надіслати Поділитися на інших сайтах More sharing options... 1 month later... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а не подскажите как правильно это реализовать, сам только учюсь хотелось бы немного по подробнее о данном действии как и что где прописать,если не сложно,очень буду благодарен Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Версия движка у меня 2,3 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 4 часа назад, pasha2298 сказал: как правильно это реализовать что это? Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 27 минут назад, fanatic сказал: что это? то о чем обсуждается в этой статье, именно сами шаги по этапам ,я только учюсь хочу разобраться. Очень буду признателен вам если расскажите куда что подставлять Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 1 час назад, fanatic сказал: что это? Подскажите что я делаю не так и как нужно правильно, вот что я сделал : 1. В контроллер product.php добавил строчки 2.Вставил в модель product.phpвот эти строчки: В итоге при добавлении товара вот такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЂРЅСЂРЅРєРєРї', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '123', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal funct in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 42 минуты назад, pasha2298 сказал: именно сами шаги по этапам в общих чертах как-то так 1. В 03.11.2017 в 07:47, GrblFF сказал: В базе к таблице product добавил поле user_id. 2. В 03.11.2017 в 11:00, thentru сказал: При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); 3. В 03.11.2017 в 11:00, thentru сказал: а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 12 минут назад, fanatic сказал: в общих чертах как-то так 1. 2. 3. достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья А глянте пожалуйста мое сообщение выше что я делаю не так что в итоге у меня вылетает ошибка Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 8 минут назад, fanatic сказал: запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() то есть этим заменить это public function 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 минуты назад, pasha2298 сказал: то есть этим заменить это нет, добавить после этого Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а не подскажите как правильно это реализовать, сам только учюсь хотелось бы немного по подробнее о данном действии как и что где прописать,если не сложно,очень буду благодарен Надіслати Поділитися на інших сайтах More sharing options...
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Версия движка у меня 2,3 Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 4 часа назад, pasha2298 сказал: как правильно это реализовать что это? Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 27 минут назад, fanatic сказал: что это? то о чем обсуждается в этой статье, именно сами шаги по этапам ,я только учюсь хочу разобраться. Очень буду признателен вам если расскажите куда что подставлять Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 1 час назад, fanatic сказал: что это? Подскажите что я делаю не так и как нужно правильно, вот что я сделал : 1. В контроллер product.php добавил строчки 2.Вставил в модель product.phpвот эти строчки: В итоге при добавлении товара вот такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЂРЅСЂРЅРєРєРї', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '123', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal funct in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 42 минуты назад, pasha2298 сказал: именно сами шаги по этапам в общих чертах как-то так 1. В 03.11.2017 в 07:47, GrblFF сказал: В базе к таблице product добавил поле user_id. 2. В 03.11.2017 в 11:00, thentru сказал: При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); 3. В 03.11.2017 в 11:00, thentru сказал: а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 12 минут назад, fanatic сказал: в общих чертах как-то так 1. 2. 3. достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья А глянте пожалуйста мое сообщение выше что я делаю не так что в итоге у меня вылетает ошибка Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 8 минут назад, fanatic сказал: запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() то есть этим заменить это public function 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 минуты назад, pasha2298 сказал: то есть этим заменить это нет, добавить после этого Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 27 минут назад, fanatic сказал: что это? то о чем обсуждается в этой статье, именно сами шаги по этапам ,я только учюсь хочу разобраться. Очень буду признателен вам если расскажите куда что подставлять Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options...
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 1 час назад, fanatic сказал: что это? Подскажите что я делаю не так и как нужно правильно, вот что я сделал : 1. В контроллер product.php добавил строчки 2.Вставил в модель product.phpвот эти строчки: В итоге при добавлении товара вот такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЂРЅСЂРЅРєРєРї', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '123', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal funct in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 42 минуты назад, pasha2298 сказал: именно сами шаги по этапам в общих чертах как-то так 1. В 03.11.2017 в 07:47, GrblFF сказал: В базе к таблице product добавил поле user_id. 2. В 03.11.2017 в 11:00, thentru сказал: При создании и редактировании товара достаточно было добавить в модель строку $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); 3. В 03.11.2017 в 11:00, thentru сказал: а уже в контроллере реализовать только логику проверки может ли юзер редактировать этот товар достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 12 минут назад, fanatic сказал: в общих чертах как-то так 1. 2. 3. достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья А глянте пожалуйста мое сообщение выше что я делаю не так что в итоге у меня вылетает ошибка Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 8 минут назад, fanatic сказал: запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() то есть этим заменить это public function 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 минуты назад, pasha2298 сказал: то есть этим заменить это нет, добавить после этого Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 12 минут назад, fanatic сказал: в общих чертах как-то так 1. 2. 3. достали user_id из таблицы товара сравнили с id текущего пользователя совпадает, разрешаем редактирование не совпадает, досвиданья А глянте пожалуйста мое сообщение выше что я делаю не так что в итоге у меня вылетает ошибка Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 8 минут назад, fanatic сказал: запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() то есть этим заменить это public function 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 минуты назад, pasha2298 сказал: то есть этим заменить это нет, добавить после этого Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 8 минут назад, fanatic сказал: запрос на добавление $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); а update, добавьте в editProduct() то есть этим заменить это public function 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'"); Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 минуты назад, pasha2298 сказал: то есть этим заменить это нет, добавить после этого Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 33 минуты назад, fanatic сказал: В базе к таблице product добавил поле user_id. Подскажите а добавить поле как ? Просто добавил как вы сказали в итоге теперь такая ошибка при добавлении товара Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1<br />Error No: 1064<br />INSERT INTO oc_product SET model = 'СЃСЃСЃРІСЃРІСЃ', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '7', date_available = '2017-12-10', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW(), user_id = '' in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php:40 Stack trace: #0 D:\OSPanel\domains\domzolota.info\system\library\db.php(16): DB\MySQLi->query('INSERT INTO oc_...', Array) #1 D:\OSPanel\domains\domzolota.info\admin\model\catalog\product.php(4): DB->query('INSERT INTO oc_...') #2 [internal functio in D:\OSPanel\domains\domzolota.info\system\library\db\mysqli.php on line 40 Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 @pasha2298 , а оно вам нужно? 3 часа назад, pasha2298 сказал: я только учюсь хочу разобраться чему учитесь? в чем разобраться? 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Не передается переменная в модель OS 2.1
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 (змінено) 26 минут назад, fanatic сказал: @pasha2298 , а оно вам нужно? чему учитесь? в чем разобраться? я извеняюсь по поводу добавления поля затупил,ну скажите а правильно ли я добавил то что вы написали Змінено 10 грудня 2017 користувачем pasha2298 Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 10 минут назад, fanatic сказал: p.s. это я к тому что вы вообще не в теме. я вам дал измененный запрос на добавление товара $this->db->query("INSERT INTO " . 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 = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), user_id = '" . (int)$this->user->getId() . "'"); в конце запроса добавлен код user_id = '" . (int)$this->user->getId() . "' данным запросом нужно заменить запрос в методе addProduct в editProduct, нужно добавить запрос обновления поля user_id $this->db->query("UPDATE " . DB_PREFIX . "product SET user_id = '" . (int)$this->user->getId() . "' WHERE product_id = '" . (int)$product_id . "'"); а вы, запихнули зарос добавления товара, в метод editProduct(редактирование товара) Помойму что то начало получаться ошибка ушла сейчас проверю отпишусь,покрайне мере товар добавился Надіслати Поділитися на інших сайтах More sharing options...
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 Ребят а подскажите еще где может быть ошибка,id добавлеться в базу, ну почему то в админке любой поьзователь так и видит все товары которое он даже не зоздавал, вот такое записал в контроллере product <?php class ControllerCatalogProduct extends Controller { private $error = array(); public function index() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); $this->getList(); }public function user_id() { $this->load->model('user/user'); $user_info = $this->model_user_user->getUser($this->user->getId()); if (!empty($product_info)) { $data['user_id'] = (int)$product_info['user_id']; } else { $data['user_id'] = (int)$user_info['user_id']; } $this->getList(); } public function add() { $this->load->language('catalog/product'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/product'); Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 43 минуты назад, pasha2298 сказал: вот такое записал в контроллере product а вы сами поняли, что написали(в контроллере)? в методе getList найти код foreach ($results as $result) { $category = $this->model_catalog_product->getProductCategories($result['product_id']); if (is_file(DIR_IMAGE . $result['image'])) { $image = $this->model_tool_image->resize($result['image'], 40, 40); } else { $image = $this->model_tool_image->resize('no_image.png', 40, 40); } $special = false; $product_specials = $this->model_catalog_product->getProductSpecials($result['product_id']); foreach ($product_specials as $product_special) { if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) { $special = $product_special['price']; break; } } $data['products'][] = array( 'product_id' => $result['product_id'], 'image' => $image, 'name' => $result['name'], 'model' => $result['model'], 'price' => $result['price'], 'category' => $category, 'special' => $special, 'quantity' => $result['quantity'], 'status' => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'), 'edit' => $this->url->link('catalog/product/edit', 'token=' . $this->session->data['token'] . '&product_id=' . $result['product_id'] . $url, true) ); } это формируется массив товаров подумайте, что нужно дописать, чтобы в массив добавлялись только те товары, user_id у которых, равен id текущего пользователя подсказка if($result['user_id'] == (int)$this->user->getId()){...................... 1 Надіслати Поділитися на інших сайтах More sharing options... pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
pasha2298 Опубліковано: 10 грудня 2017 Share Опубліковано: 10 грудня 2017 2 часа назад, fanatic сказал: if($result['user_id'] == (int)$this->user->getId()){..................... надеюсь я правильно понял прошу не пинать if($result['user_id'] == (int)$this->user->getId()){ $user = $product_user['user_id']; break; } Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts