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

Evgenka

Користувачі
  
  • Публікації

    150
  • З нами

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

Усі публікації користувача Evgenka

  1. Уважаемые форумчане, возник еще один вопрос/проблема: продолжаю дальше издеваться над своим магазином, и хочу добавить к товарам атрибуты, а именно размер (одежды). В БД атрибут записан с ID 15 У каждого товара в названии указан размер : S/M, L/XL, XL/XXL и дт. Составил я следующий запрос: INSERT INTO `baza_dannix`.`oc_product_attribute`(`product_id`,`attribute_id`,`language_id`,`text`) VALUES ((SELECT product_id FROM oc_product_description WHERE name LIKE '%S/M%'),'15','1','S/M'); B ответ получаю ошибку #1242 - Subquery returns more than 1 row Погуглив и почитав различные форумы понял, что сервер ожидает в ответ только одну строку, а по моим условиям их много, вот собственно и ошибка. Прошу помощи, как верно будет сформировать данный запрос? Спасибо за вашу помощь.
  2. Впринципе, что хотел изначально, того уже добился. Запрсом к Бд каждый день рандомно выбирается 300 любых товаров на акцию и в upc прописываю "special" (тем самым к изображению товара добавляется стикер "Акция"). Признак "special" используется для другого модуля, что бы выводить стикер к изображению товара, в категории и в карточке. Ну и далее уже этим запросом добавляю к товарам со "special" акционную цену. На следующий день чищу и все циклически повторяется. Своего рода "Товар дня", только тут их много. Искал модуль с подобным функционалом, но к сожалению так и не нашел. Поэтому для себя сделал таким способом, теперь буду его допиливать.
  3. пока что сделал так: INSERT INTO `oc_product_special`(`product_id`, `price`) SELECT product_id,price*0.9 FROM oc_product WHERE upc = 'special'; правда есть минусы, пока дорабатываю
  4. Суть вопроса в том, что установлен модуль который выводит различные стикеры к товарам. Есть там стикер "Акция". Выводится он к товарам, у которых в oc_product в поле "upc" записано "special". Естественно кроме просто красивого стикера цена никак не меняется. Вот и пытаюсь составить SQL запрос, что бы внести в БД в oc_product_special информацию о акционных товарах. Логика запроса должна быть следующая: В oc_product_special необходимо добавить product_id товаров, у которых в таблице oc_product в графе "upc" имеется запись "special" и установить в `oc_product_special`.`price` равный цене этого товара минус допустим 10% В голове летают отрывки этого запроса, но вот составить целиком рабочий запрос никак не выходит. Буду благодарен, если кто-то поможет. Спасибо.
  5. Народ, я ведь не спросил мнение, на сколько это нужно. Если спрашиваю, значит хоть одному человеку это надо. Вопрос, мне кажется, был задан предельно четко и ясно, возможно ли реализовать перенос содержимого корзины между магазинами.
  6. Всем добрый вечер. Возник вопрос, на сколько вообще реально такое реализовать: имеются два магазина, один версии 1.5.5.1 другой 2.1.0.2 Товары в магазинах абсолютно идентичны, т.к просто частично скопирована база данных MySql В магазине с версией 2.1.0.2 подключены несколько способов оплаты, в том числе при помощи банковской карточки. Собственно вопрос, возможно ли перенести содержимое корзины с первого магазина во второй, при выборе определенного способа оплаты? Например накидал клиент товаров в корзину и выбирает способ оплаты "VISA" и его тут же редиректит уже во второй магазин и от туда происходит дальнейшая процедура оплаты. Реально ли такое сделать? Подключение первого магазина к оплате по карточкам не предлагать, интересует только описаная выше схема. Спасибо.
  7. Автор модуля на связь не выходит, последний раз заходил очень давно, поэтому попрошу помощи тут: информация из последнего столбца csv фала никак не хочет читаться. У меня в последнем столбце находится артикул, по которому проверяется наличие товара и далее товар либо обновляется, либо добавляется. Обновляется только один товар, артикул которого записан самым последним в файле. Если за этим столбцом добавить любой символ, например кавычки " - все срабатывает на отлично. Как исправить?
  8. Автор на связь не выходит, последний раз заходил очень давно, поэтому попрошу помощи тут: информация из последнего столбца csv фала никак не хочет читаться. У меня в последнем столбце находится артикул, по которому проверяется наличие товара и далее товар либо обновляется, либо добавляется. Обновляется только один товар, артикул которого записан самым последним в файле. Если за этим столбцом добавить любой символ, например кавычки " - все срабатывает на отлично. Как исправить?
  9. Есть скрипт, который разбирает из CSV файла данные. Проблема в том, что поле в последнем столбце игнорируется, скрипт не видит в нем информации CSV фал выглядит следующим образом: Категория;"Название товара";Производитель;"Цена товара";"Количество на складе";"Ссылка на фотографию (big)";"Ссылка для покупки товара";"Краткое описание";"Полное описание";"Ссылка на фото (small)";Активность;Идентификатор Bigger;"Soft";"Orion";45.94;10;http://www.ez.by/uplo1b167c898391dac19.jpg;http://www.ez.by/soft/;"Маленькое описание...";"Большое описание";;on;5663060000 Именно поле с идентификатором и не обрабатывается. Если после идентификатора добавить разделитель ";", то есть сделать его не последним стобцом, то данные из него обрабатываются. Как заставить обрабатывать информацию в последнем столбце? Заранее спасибо. Код скрипта: if((($handle = fopen($local, "r")) !== FALSE) && $r) { $headers = fgetcsv($handle, 0, ';', '"'); if ((int) $this->request->post['pointer'] == '0' ) { // Если это первая цикл - обнуляем количество товара if (!$this->request->post['reset_qty']) { $this->model_catalog_csvsynchroniz->resetQantity($shopname);//Обнуляем количество товара } }else{ fseek($handle,$this->request->post['pointer']);// Если не первый - выставляем указатель на то место где закончили } $k = 0; while((($data = $FGetCSV->fgetcsv($handle, 30000, ';', '"')) !== FALSE ) && ($k < $inpart_quantity)) { $num = count($data); $pairs = array(); $product_model = $data[$this->request->post['model_number']]; if ($product_model != '') { $p_exist = $this->model_catalog_csvsynchroniz->productExist($product_model, $shopname);//Проверяем существование товара if ($p_exist->row){// Если существует делаем обновление $data_old = array(); $product_id = $p_exist->row['product_id']; $update_data = $this->get_data($headers,$data,$num,$product_model,$data_old,$nacenka,$optprice,$this->request->post);//Меняем поля из файла csv $this->model_catalog_csvsynchroniz->updateProduct($update_data,$product_id); } /* else { // Если нет - создаем новый $default_data = $this->default_data($product_model);//Заливаем дефолтные данные товара $add_data = $this->get_data($headers,$data,$num,$product_model,$default_data,$nacenka,$this->request->post);//Меняем поля из файла csv $this->model_catalog_product->addProduct($add_data); } */ } $k++; } $pointer = ftell($handle); $eof_flag = feof($handle) + 0; fclose($handle); $json['info'] = sprintf($this->language->get("text_updated"), $k+1); $json['updated'] = $k; $json['pointer'] = $pointer; $json['eof_flag'] = $eof_flag; $this->cache->delete('product'); } else { $json['warning'] = $this->language->get('file_error'); }
  10. Спасибо! Вот так сработало: if($data['email'] == NULL){ $this->redirect($CURRENT_URI); }
  11. Имеется модуль авторизации Вконтакт. Модуль запрашивает данные профиля и email. Пользователь может запретить отдачу своего email и тогда ответ приходит следующего вида array(1) {["response"]=> array(1) {[0]=> array(4) {["uid"]=> int(727123) ["first_name"]=> string(14) "Вася" ["last_name"]=> string(14) "Пупкин" ["email"]=> NULL } } } По этим данным скрипт регистрирует нового пользователя, что не верно, т.к. аутентификация осуществляется именно по email-у которого у нас нету. В БД записывается пустой email. Как следствие все, кто после этого откажутся отдавать email автоматически логинятся под данными того человека, т.к. email совпадают, они пустые. Не могу разобраться, как сделать редирект на произвольную страницу, если ["email"]=> NULL Ну а если ["email"]=> string(15) "[email protected]" - то скрипт выполняется дальше и происходит регистрация. public function vk() { $this->language->load('module/sociallogin'); // Check if module is on if(!$this->config->get('sociallogin_vkontakte_status') ){ $this->redirect($this->url->link('account/login', '', 'SSL')); } $IS_DEBUG = 0; $REDIRECT_URI = $this->url->link('module/sociallogin/vk'); if(!isset($this->request->get['code']) || empty($this->request->get['code'])){ // If this is first request if(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER'])){ setcookie("soclogin_ref", $_SERVER['HTTP_REFERER']); setcookie("soclogin_ref1", $this->url->link('account/simpleedit', '')); setcookie("soclogin_ref2", $this->url->link('common/home', '', 'SSL')); }else{ setcookie("soclogin_ref", $this->url->link('account/account', '', 'SSL')); setcookie("soclogin_ref1", $this->url->link('account/simpleedit', '', 'SSL')); setcookie("soclogin_ref2", $this->url->link('common/home', '', 'SSL')); } $APP_ID = $this->config->get('sociallogin_vkontakte_appid'); $url = 'https://oauth.vk.com/authorize?client_id='.$APP_ID. '&scope=SETTINGS,email'. '&redirect_uri='.$REDIRECT_URI. '&display=page'. '&response_type=code'; header("Location: ".$url); }else{ // if it is request from vk server already $CODE = $this->request->get['code']; $CURRENT_URI = $_COOKIE['soclogin_ref']; $CURRENT_URI1 = $_COOKIE['soclogin_ref1']; $CURRENT_URI2 = $_COOKIE['soclogin_ref2']; $CLIENT_ID = $this->config->get('sociallogin_vkontakte_appid'); $CLIENT_SECRET = $this->config->get('sociallogin_vkontakte_appsecret'); $url = "https://oauth.vk.com/access_token?client_id=".$CLIENT_ID. "&client_secret=".$CLIENT_SECRET. "&code=".$CODE.'&redirect_uri='.$REDIRECT_URI; if( $IS_DEBUG ) echo $url."<hr>"; if( extension_loaded('curl') ){ $c = curl_init($url); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($c); curl_close($c); }else{ $response = file_get_contents($url); } if( $IS_DEBUG ) echo $response."<hr>"; $data = json_decode($response, true); if( !empty($data['access_token']) ){ $graph_url = "https://api.vk.com/method/users.get?uids=".$data['user_id']. "&fields=uid,first_name,last_name&access_token=".$data['access_token']; if( $IS_DEBUG ) echo $graph_url."<hr>"; if( extension_loaded('curl') ){ $c = curl_init($graph_url); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); $json = curl_exec($c); curl_close($c); }else{ $json = file_get_contents($graph_url); } if( $IS_DEBUG ) echo $json; $json_data = json_decode($json, TRUE); $json_data['response'][0]['email'] = $data['email']; // var_dump ($json_data); $userdata = array(); foreach($json_data['response'][0] as $key => $usrdata){ switch($key){ case "first_name": $userdata["firstname"] = $usrdata; case "last_name": $userdata['lastname'] = $usrdata; default: $userdata[$key] = $usrdata; } } $this->load->model('account/customer'); if($this->model_account_customer->getTotalCustomersByEmail($userdata['email'])){ // login without password $this->customer->login($userdata['email'], "", true); $this->redirect($CURRENT_URI); }else{ // generate array to create new customer $userdata['newsletter'] = 1; $userdata['country_id'] = 20; $userdata['country_id'] = 20; $userdata['telephone'] = $userdata['fax'] = $userdata['company_id'] = $userdata['address_1'] = $userdata['city'] = ''; $userdata['company'] = $userdata['tax_id'] = $userdata['address_2'] = $userdata['postcode'] = $userdata['zone_id'] = ''; $userdata['password'] = $this->generatePassword(); $this->model_account_customer->addCustomer($userdata); $this->customer->login($userdata['email'], $userdata['password']); // $this->mailPassword($userdata); $this->redirect($CURRENT_URI1); } } } } Прошу помощи. Спасибо.
  12. Добрый вечер. Столкнулся с такой проблемой: Поле "Страна" поставил значение по умолчанию - "Беларусь" и скрыл его при оформлении заказа. Поле область поставил зависимым от поля страна. При оформлении заказа все отлично, поля "Страна" нету и сразу предлагается выбрать область. Зато почему-то при редактировании адресу клиентом в своем аккаунте или при добавлении нового адреса доставки, поле "Страна" не выбирает по умолчанию "Беларусь" следовательно и скрыть его нельзя, т.к. дальше идет поле "Область", а оно зависимо от "Страны"... В общем проблема в том, что при редактировании адреса в личном кабинете поле "Страна" никак не хочет принимать значение по умолчанию. В чем может быть проблема? Спасибо.
  13. Уважаемы автор, спасибо за прекрасное дополнение! Подскажите, каким образом можно отцентрировать все содержимое в <div id="stickey_footer"> Что-то никак у меня не получается. Спасибо.
  14. Добрый день. Перешел на ocStore 2.1.0.2 и теперь данный способ не работает, а очень хотелось бы. Подскажите, кто-нибудь реализовал то же самое на на версии 2.1.0.2 ? Спасибо. UPD: Вопрос снят, мой косяк из-за невнимательности.
  15. Уважаемый автор, при оформлении заказа возникает ошибка В чем может быть проблема? Сегодня решил обновиться на актуальную версию, до этого стояла версия 4.5.18 ocStore 1.5.5.1.1
  16. К сожалению поддержка прекратилась... Автор модуля с 8го сентября перестал отвечать, хотя заходит сюда. Модуль перестал функционировать, при попытке импорта валится тысяча ошибок. На решение проблемы видимо у автора времени нету, к сожалению. Хотя по началу помогал, подсказывал и выходил на связь. Очень печально, что купленный модуль перестал работать.
  17. Спасибо, все получилось. Выставил в админке количество знаков после запятой = 1 , теперь то, что нужно.
  18. А кто поможет реализовать округление копеек? У меня стоит округление старой валюты до тысячи, допустим если цена 125 300руб, то отображается просто как 125 000руб, если например 130 800руб, то отображается как 131 000руб А вот округления копеек не могу добиться. Показывает сейчас Цена: 6 р. 96 к. (или 70.000 руб.) Как добиться, что бы показывалась Цена: 7 р. 00 к. (или 70.000 руб.) Спасибо!
  19. Добрый день. Подскажите пожалуйста, есть ли возможность делать экспорт к себе на сервер? Т.е. что бы в планировщике поставить делать экспорт каждые 2 часа и файлик экспортировался и был доступен для скачивания допустим по адресу www.мойсайт.ru/export.csv перезаписывая каждый раз себя. Спасибо.
  20. При обновлении описания товаров (естественно по расписанию cron) происходит ошибка, контакт выдает каптчу. Может стоит добавить в модуль тайм-лимит для обновления одного описания товара? То есть обновили описание к одному товару, через 20 секунд второму, еще через 20 третьему... Или это не спасет от появления каптчи?

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

Important Information

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