Jump to content

f4rr3ll1990

Новичок
  • Content Count

    23
  • Joined

  • Last visited

Community Reputation

0 Обычный

About f4rr3ll1990

  • Rank
    Пользователь
  • Birthday 11/16/1990

Информация

  • Пол
    Мужчина
  • Город:
    Харьков

Recent Profile Visitors

502 profile views
  1. Проблема решена: В магазине был установлен модуль SEO Microdata PRO, в названии модуля присутствовала ссылка на феофан, после ее удаления из языкового файла все начало работать нормально, хотя при этом установлено еще несколько модулей у которых в названии все таже ссылка, но она никак не влияет, вобщем странно все это.
  2. Ребят, у меня тут беда какаято, при попытке добавить модуль в макетах в консоль вываливается : "Uncaught ReferenceError: addModule is not defined" все дело в том что эта страница - одна из немногих в которых я не вносил никаких правок и изменений, скрипт с функцией addModule на месте, на верочку взял из чистой сборки файл layout_form.tpl, есстественно это не помогло. При загрузке самой странице в консоль падает "Uncaught SyntaxError: Invalid or unexpected token". Как я понял в названии какогото из модулей присутствуют некорректные символы, и изза них крашится весь скрипт, подскажите куда мне копать?
  3. Сегодня обнаружил что мне в запросе приходят null вместо значений product_discount public function getProducts () { $query = $this->db->query(" SELECT b.name AS name, p.quantity AS quantity, p.price AS price, p.price_zak AS price_zak, p.product_id AS product_id, c.category_id AS category_id, d.quantity AS discount_quantity, d.price AS discount_price FROM " . DB_PREFIX . "product AS p JOIN " . DB_PREFIX . "product_description AS b ON p.product_id = b.product_id JOIN " . DB_PREFIX . "product_to_category AS c ON p.product_id = c.product_id LEFT JOIN " . DB_PREFIX . "product_discount AS d ON p.product_id = d.product_id "); return $query->rows; }
  4. SQL это мой ночной кошмар) Поменял на LEFT JOIN все вроде заработало))) Спасибо огромное
  5. Своя, мне нужно через ajax получить json массив со всеми товарами, все отрабатывает как надо, кроме количества(
  6. Ребят, подскажите в чем может быть проблема, пишу модуль, необходимо сделать выборку полностью всех товаров, и вродебы все ок, но мне отдает только 50 штук, а их в магазине около 5К Вот фрагмент модели в котором происходит выборка: public function getProducts () { $products = array(); $query = $this->db->query(" SELECT b.name AS name, p.quantity AS quantity, p.price AS price, p.price_zak AS price_zak, p.product_id AS product_id, c.category_id AS category_id, d.quantity AS discount_quantity, d.price AS discount_price FROM " . DB_PREFIX . "product AS p JOIN " . DB_PREFIX . "product_description AS b ON p.product_id = b.product_id JOIN " . DB_PREFIX . "product_to_category AS c ON p.product_id = c.product_id JOIN " . DB_PREFIX . "product_discount AS d ON p.product_id = d.product_id "); foreach ($query->rows as $result) { $products[] = $result; } return $products; } Запрос по идее должен быть верным и должно отдавать мне все, но на практике только первые 50 ((( Кто нибудь сталкивался с таким?
  7. Спасибо, сейчас поправлю) Я в пхп новичек)
  8. getTotalProducts в модели проморгал Спасибо всем огромное, все заработало)
  9. там лежит '5' а вот $status_names_arr в котором лежит массив из таблицы oc_stock_status отдает undefined когда я на второй странице
  10. Да, урл формируется вроде-бы верно: &filter_stock_status_id=5&page=2 $url вставил в getList , при чем в 3х местах, сам не понял зачем это, но там у всех остальных фильтров было также) product.php model_product.php product_list.tpl
  11. Добрый день, помогите решить проблему. Opencart 2.1.0.2 (rs.1) Делаю фильтр товаров по полю "Отсутствие на складе" для админки. Фильтр вроде-бы заработал но с пагинацией проблема, при переходе на вторую страницу все сбрасывается. в модели products получаю массив из таблицы stock_status : public function getProductStockStatusNames(){ $query = $this->db->query("SELECT * FROM oc_stock_status"); return $query->rows; } Далее в контроллере передаю массив в вид: $data['status_names_arr'] = $this->model_catalog_product->getProductStockStatusNames(); В виде формирую select с выбором параметра (не в наличии, доступно на складе и т.д), stock_status_id использую как значение опции: <div class="form-group"> <label class="control-label" for="filter_stock_status_id">Статус товара</label> <select name="filter_stock_status_id" id="filter_stock_status_id" class="form-control" /> <option value="*"></option> <?php for ($i = 0; $i < count($status_names_arr); $i++){ if ($status_names_arr[$i]['stock_status_id']==$filter_stock_status_id) { ?> <option value="<?php echo($status_names_arr[$i]['stock_status_id']); ?>" selected="selected"><?php echo($status_names_arr[$i]['name']); ?>&nbsp;&nbsp;&nbsp;&nbsp;</option> <?php } else { ?> <option value="<?php echo($status_names_arr[$i]['stock_status_id']); ?>">&nbsp;&nbsp;<?php echo($status_names_arr[$i]['name']); ?>&nbsp;&nbsp;&nbsp;&nbsp;</option> <?php } } ?> </select> </div> Ниже в скрипте добавляю: // var filter_stock_status_id = $('select[name=\'filter_stock_status_id\']').val(); if (filter_stock_status_id != '*') { url += '&filter_stock_status_id=' + encodeURIComponent(filter_stock_status_id); } // затем в контроллере в нескольких местах (смотрел как сделан фильтр по категориям который был скачан где-то на просторах интернета): if (isset($this->request->get['filter_stock_status_id'])) { $url .= '&filter_stock_status_id=' . $this->request->get['filter_stock_status_id']; } и еще вот это : if (isset($this->request->get['filter_stock_status_id'])) { $filter_stock_status_id = $this->request->get['filter_stock_status_id']; } else { $filter_stock_status_id = null; } и потом снова в модели: if (!empty($data['filter_stock_status_id'])) { $sql .= " AND p.stock_status_id LIKE '" . $this->db->escape($data['filter_stock_status_id']) . "%'"; } В результате фильтр вроде-бы работает, но при переходе на вторую страницу получаю 0 товаров, и еще как бонус Undefined variable: status_names_arr. Помогите плиз)
  12. Спасибо огромное) Я около 12 часов эту мелочь ковырял) кстати был в голове вариант с data: $(".box:checked") но я почемуто подумал что оно возмет только первый чекбокс учиться мне еще и учиться)
  13. Добрый день, нужна помощь. Opencart Version 2.1.0.2 (rs.1) Есть некий модуль: во фронте модалка, в которую пользователь оставляет заявку. в админке форма со всеми заявками. Модуль делал я сам, когда только знакомился с opencart (далеко я с тех пор не ушел ) нашел в инете какойто мануал и тупо оттуда все слизывал, меняя некоторые мелочи под себя. И вот сейчас потребовалось его модифицировать, в частности добавить возможность массово удалять заявки. Ковыряюсь целый день, штурмую гугл, но после бесчисленного количества попыток я решил попросить помощи) Собственно в чем проблема: <td> <a href="#" data-toggle="tooltip" title="" class="btn btn-danger comment-delete" data-original-title="Удалить без подтверждения"> <i class="fa fa-trash-o"> <input type="hidden" name="id" value="<?php echo $comment['id']; ?>"/> </i> </a> </td> у каждой записи есть кнопка, внутри которой скрытый инпут со значением равным id записи. по нажатию на кнопку отрабатывает Ajax и id улетает в бэкенд $('.comment-delete').click(function(){ gems = $(this).find('input'); $.ajax({ url: 'index.php?route=module/comments/deleteComment&token=<?php echo $token; ?>', type: 'post', data: gems, dataType: 'json', beforeSend: function() { console.log(gems); }, error: function (json) { console.log(json); }, success: function(json) { console.log(json); // location.reload(); } }); return false; }); Все работает, все отлично. И тут в дело вступаю я и делаю вместо кнопок чекбоксы: <input class="box" type="checkbox" name="id" value="<?php echo $comment['id']; ?>"> И меняю скрипт : $('.comment-delete').click(function(){ gems = $.map( $(".box:checked"), function(el){ return $(el); }); $.ajax({ url: 'index.php?route=module/comments/deleteComment&token=<?php echo $token; ?>', type: 'post', data: gems, dataType: 'json', beforeSend: function() { console.log(gems); }, error: function (json) { console.log(json); }, success: function(json) { console.log(json); // location.reload(); } }); return false; }); В ответ я получаю балалайку. в лог падает ошибка что id не определен вот метод deleteComment из контроллера: public function deleteComment(){ // получаем значения $text = ($this->request->post['id']) ? $this->request->post['id'] : 0; // массив вывода $json = array(); if (!$text) { $json['error'] = 'no id'; } else { $this->load->model('comments/comments'); $json['com_id'] = $this->model_comments_comments->deleteRow($text); } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } З.Ы. Изначально я в массив собирал значения с боксов: var gems = $.map( $(".box:checked"), function(el){ return $(el).val(); }); Потом обратил внимание что в варианте с кнопками оно в переменную пишет Jquery обьект инпута и не его значение, и изменил на : gems = $.map( $(".box:checked"), function(el){ return $(el); }); Потом еще было много извращений с массивами, я сам уже перестал понимать что делаю : var gems = $('.box').map(function(i,el){ if($(el).prop('checked')){ return $(el).val(); } }).get(); Помогите кто-нибудь)
  14. Добрый день, ищу модуль фильтра товаров на странице производителя по категориям. Тоесть захожу например в бренд Asus и могу отфильтровать по категории (Дисплей, Тачскрин и т.д). Под 1,5 нашел нечто подобное а под 2x немогу(((
  15. Да, все работает, там небольшой баг у меня в категории было всего 14 товаров, а внизу списка писало что 21, показано 20 из 21, страница 1 из 2 соответственно при переходе на вторую страницу ничего не отображалось так как все 14 товаров были на первой. не знаю баг это от модуля или у меня кривой дистр, но это не особо критично, главное что пагинация заработала, спасибо вам огромное)
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.