Jump to content

Izrajk

Новичок
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Izrajk

  • Rank
    Пользователь

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Добрые люди, помогите, чем можете В карточке товара рядом с названием у меня есть кнопка "Подобрать аналог" <h1 itemprop="name"> <?php echo $heading_title;?> <?php foreach ($catprod as $catp) { ?> <a href="<?php if(end($catprod)===$catp) { foreach ($attribute_groups as $attribute_group) { foreach ($attribute_group['attribute'] as $attribute) { if (in_array($attribute['attribute_id'], array(1949))) { echo $catp['href1']; } elseif (in_array($attribute['attribute_id'], array(1948))) { echo $catp['href2']; } elseif (in_array($attribute['attribute_id'], array(1950))) { echo $catp['href4']; } elseif (in_array($attribute['attribute_id'], array(1949,1948))) { echo $catp['href3']; } elseif ((in_array($attribute['attribute_id'], array(1949))) && (in_array($attribute['attribute_id'], array(1948))) && (in_array($attribute['attribute_id'], array(1950)))) { echo $catp['href5']; } } } } ?>" target="_blank" <?php if(end($catprod)===$catp) { ?> class="btn btn-danger" style="margin-left: 10px; margin-bottom: 5px;" <?php } ?>><?php if(end($catprod)===$catp) { echo $catp['name']; } } ?></a></h1> <?php //echo $catp['href']; ?> Вкратце, у меня есть перебор хлебных крошек $catprod и есть перебор атрибутов. По хлебным крошкам мне нужно брать только последнюю категорию куда входит товар, я отрезаю все остальных элементы вот таким условием, последнюю категорию я записываю в $catp['href'] - if(end($catprod)===$catp) Дальше, я в этом условии перебираю все атрибуты, мне нужно выделить 3 ключевых атрибута 1948,1949,1950 И в зависимости от атрибута через кнопку я должен переходить на сформированные уже ссылки. Если в товаре только 1948 атрибут, то одна ссылка href1, если 1948 и 1949 то уже другая href2 и т.д. Конкретно, то что сейчас написано работает, только с одиночными атрибутами, а если атрибутов нет, то я у меня переходит на главную страницу, т.к я не могу придумать условия, когда атрибутов, которые мне нужны нету, ну и с двойными атрибутами то у меня в адресной строке появляются две ссылки href1href2, эту задачу можно решить по разному, но всё тут будет крутить между хлебными крошками и атрибутами, как мне отловить условие, когда нету 1948,1949,1950 атрибутов? Так не работает !(in_array($attribute['attribute_id'], array(1949,1950,1948))) И так тоже !((in_array($attribute['attribute_id'], array(1949)))&&(in_array($attribute['attribute_id'], array(1948)))&&(in_array($attribute['attribute_id'], array(1950))))
  2. Не знаю насколько правильно, я реализовал, но думаю, должно получиться, что-то вроде этого $date['attrr'] = array(); $attribute_groups = $this->model_catalog_product->getProductAttributes($product_id); foreach ($attribute_groups as $attrr) { $attribute_info = $this->model_catalog_category->getProductAttributes($attrr['attribute_id']); if ($attribute_info) { $data['attrr'][] = array( 'name' => 'name', 'href' => $this->url->link('product/attribute', 'path=' . $attribute_info['attribute_id']) ); } }
  3. Добрый день, У меня на сайте есть кнопка рядом с названием, она переходить в последнюю категорию товара из хлебных крошек, я хочу улучшить её, а вот как не понимаю, я хочу добавить условие, если в товаре есть атрибут "Доставка" то после нажатия будет выводиться категория, где все товары с этими атрибутами, без разницы с какой сортировкой. Т.е, к примеру, атрибут "Доставка" имеет id 453. Мне нужно как то получить this->date['attribute'] get (product_id) и после как-то сравнивать с id_атрибутом и в зависимости от результата менять href. Может кто помочь, вроде не сложно, но в голове крутятся все эти фильтры, и не понятно как формировать href, мне в model'е нужно что-то менять?
  4. Добрый день, У меня вопрос по всему известному модулю "Быстрый заказ". Настала необходимость, сделать такой же модуль по функционалу, но с другой формой отправки и только для карточки товара. Конкретно "Быстрый заказ" от https://github.com/WhiskeyMan-Tau/fastorder.ocmod Закопипастил все файлы и переименовал, дописал в controller/product/product.php $data['feedback'] = $this->load->controller('product/feedback', ['price'=>$data['price'],'product_name'=>$data['heading_title'], 'product_id'=>$data['product_id']]); И добавил в footer.tpl <script> function showForm1(data){ $.ajax({ url: 'index.php?route=product/feedback/getForm', type: 'post', data: {product_name: data['product_name'], price: data['price'] ,product_id: data['product_id']}, beforeSend: function() { }, complete: function() { }, success: function(result) { $('#feedback-form-container'+data['product_id']).html(result); }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }; </script> Вот, что у меня в итоге получилось Если присмотреться, но у меня форма раздвоилась (видно на скриншоте небольшой выступ с правой стороны). После того как я кликаю по этому выступу появляется моя форма. В карточке товара есть кнопка "Быстрый заказ" и кнопка "Нашли дешевле". При нажатии на кнопку, что я добавил ("Нашли дешевле") появляются раздвоенная форма, а при нажатии на "Быстрый заказ", ничего не происходит. Я думаю проблема с js, думаю я вызываю какой нибудь один и тот же метод, который я забыл поменять. Кто-то, сможешь объяснить, где я мог накосяччить?
  5. А зачем мою тему закинули в мертвое обсуждение? если мне конкретно нужна помощь по typeprefix
  6. Добрый день, В рекомендациях яндекс.маркет сказано, добавить поле TypePrefix в yml выгрузку, но не совсем понятно как это сделать, да и в интернете смог найти только таких же людей с такой же проблемой. Как сделать, чтобы в поле TypePrefix отображалась (последняя) категория товара, который входит в неё? Catalog/contoller/feed/yamarket.php Тут я попытался, что-то вывести и сразу же понял, что не знаю как получить (последнюю) категорию входящего в неё товара. В итоге у меня получилось, что в TypePrefix всегда "Автоматизация систем мониторинга". TypePrefix объявляется в цикле foreach product даже не понятно, откуда взялось именно такое значение у TypePrefix, такая категория не отмечена, чтобы она выгружалась в yml. Помогите определить последнюю категорию. Заранее Спасибо.
  7. Warning: expects parameter 2 to be long, string given in 132
  8. Закомментировал, ничего не изменилось.
  9. Добрый день, Внезапно модуль Y.CMS от Яндекс.Кассы перестал формировать yml выгрузку товаров. Модуль версии 1.5.0 ругался на catalog/controller/feed/yamarket.php if (!$this->makeOfferCombination($data, $product, $shop_currency, $offers_currency, $decimal_place, $yamarket)) { $data['price'] = number_format($this->currency->convert($this->tax->calculate($data['price'], $product['tax_class_id'], $this->config->get('config_tax')), $shop_currency, $offers_currency), $decimal_place, '.', ''); if ($data['price'] > 0) $yamarket->add_offer($data['id'], $data, $data['available']); } Ругался он конкретно на строку $data['price'] = number_format($this->currency->convert($this->tax->calculate($data['price'], $product['tax_class_id'], $this->config->get('config_tax')), $shop_currency, $offers_currency), $decimal_place, '.', ''); Ну писал, что то вроде, expects parameter 2 to be long, string given in номер строки указанной выше. Пытался выводить второй параметр, var_dump($decimal_place) выводило 0. Поставил новый модуль актуально версии. Сейчас даже ошибку не выдаёт пишет ошибку 500 со стороны сервера. Открепил все выделенные категории и стал включать их постепенно, некоторые категории с товарами выгружает, а остальные при выборке перестает формировать выгрузку товаров и пишет ошибку 500. Может кто помочь с этой проблемой?
  10. Добрый день, Имеется модуль Y.CMS от Яндекс.Кассы, нужно отдельно добавить в выгрузку xml производителя с ценами меньше 20000, при том, что все товары меньше 20к имеют quantity=0, а если они 0, то они не добавляются в xml catalog/controller/feed/yamarket.php elseif ($this->config->get('ya_market_set_available') == 3) { $available = true; if (($product['quantity'] == 0) || (($product['manufacturer_id'] == 12 && $product['price'] > 20000) || ($product['manufacturer_id'] == 30 && $product['price'] > 20000))) continue; } Такая запись работала, если у товара quantity был не 0. Не понимаю, что сделать, чтобы к примеру товар с quantity=0, manufacturer_id= 12, price=12045, выгрузился в xml Есть у кого идеи?
  11. Здравствуйте. Моя цель, сделать сортировку по совпадению с словом, которое находится в поиске. \catalog\model\catalog\product.php В методе getProducts(), я поменял строку $sql .= " " . implode(" AND ", $implode) . ""; На $sql .= " " . implode(" OR ", $implode) . ""; и так же поменял в методе getTotalProducts(). Сделано это для того, чтобы поиск у меня искал результаты отдельно по словам и именно поэтому мне и нужна эта сортировка. Так же понял, чтобы поменять стандартную сортировку нужно идти в \catalog\controller\product\category.php Как мне правильно применить функцию similar_text() ,которая вычисляет степень похожести двух строк, в сортировку по названию товара? Т.е если я сейчас ввожу samsung 420 он отдельно ищет в словах samsung и 420 и дальше выдаёт свою сортировку по дефолту, а мне нужно чтобы на первом месте было samsung 420vw и т.д. Думаю понятно объяснил ) Есть какие-нибудь варианты решения данной задачи? Заранее спасибо.
  12. Здравствуйте. Я ввожу в поиск на сайт ешп , если поиск ничего не находит то меняет ешп на tig и снова ищет только выдаёт уже результаты по значению tig Напишите, как бы вы реализовали данную задачу функция по замене символов уже есть. Заранее спасибо.
  13. У меня подобная задача, только я бы хотел её сам реализовать. Если кто-то сталкивался с таким отпишите. Заранее спасибо.
×

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.