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

Mops009

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

    104
  • З нами

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

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

  1. День добрый, не планируется ли добавить в пункт "сопоставление категорий" еще и подмену ID ? Либо может уже уже скидывали, можно ли как то подменить через 7 пункт обработчика? Категорий не так много, поэтому сложное что-то решать нет потребности.
  2. Стандартное поле опенкарт "Компания" находится в таблице адреса, вывести в разделе "Покупатель" его нельзя. Просто создайте новое поле принадлежащее полю "Покупатель", чтобы отправлялось на почту всем можно в шаблонах методов доставки добавить. Либо просто поставить галку "указывать в комментарии". Будет приходить админу, вперемешку с остальными комментариями.
  3. Добрый, какие еще можно использовать переменные в Filterit 2.7.5 "Учет в заказе" кроме W и S? Вкратце: очень хочется увидеть переменную P, она должна быть равна сумме товаров подходящих под условия отбора. Уже пару лет хочется увидеть функционал: 1) Возможности сделать скидку или наценку на конкретный товар, а не на всю строку итога (пример: в корзине 1 товар с акцией -10% при самовывозе, и один без акции. Могу сделать чтобы скидка давалась на всю корзину, могу сделать, чтобы давалась только если у всех товаров был признак скидки, но оба варианта не удобны. Реально подходит только скидка от суммы товаров которые имеют признак) 2) Делать скидку на доставку (бесплатную доставку) но только в пределах какого то процента от стоимости товаров с признаком "бесплатная доставка". (пример в корзине ящик 50 кг и 300гр вещь у легкой бесплатная доставка, но человек добавляет в корзину обе... доставлять ящик бесплатно не реально, тут нужно ограничиться тогда 10% от цены вещи легкой, а остальное пусть платит) Очень нравится что обычные купоны опенкарт делают скидку только на товары у которых проставлен купон, фактически хочется того же тут. (ПСы если кто знает модуль который добавляет к фунционалу купона условия "вариант доставки" "вариант оплаты" дайте знать)
  4. Добрый, правильно я понимаю, что наполнять товары тегами можно так же как и ранее (в поле тег, через запятую) и если есть посадочная страница с таким названием, то вместо поиска при клике человек улетит на посадочную страницу? (ну либо в 404, если такая не создана, что в принципе не важно)
  5. Есть проблема. Стоит 2.3 опенкарт, корзина последняя симпл. при выборе пвз через карту ломает работу с полем адрес (улица дом, стандартное опенкарт) при перезаполнении снова заполняет данными пвз, даже если уйти на другой метод доставки. Как сделать, чтобы пикпоинт не форсил заполнение улицы постоянно? Фактически как некий отзыв: 1) В модуле отсутствует ограничение по размерам... как год назад так и сейчас, не смотря на то, что размеры постаматов крайне малы. 2) Родная карта конечно ужасна (Пикпоинта) 3) Показывать вариант доставки когда ближайшее доступное отделение находится в 200 км от города указанного клиентом... это ужас. 3) И что является и плюсом и минусом сразу: отображение пвз в соседних городах, изредка кому-то это нужно, если находится на границе и человек не знает к какому городу относится, но когда человек выбирает пвз, оно меняет город... пропадают другие варианты в нужном ему городе. Плюс тугодумность клиентов - вызывает ступор.
  6. День добрый, возник вопрос, как разрешить вывод в названии фильтра html? Речь не о глобальном названии, а о фильтрах "по цене", наличию и т.п., где задается название, но весь html выводится как текст. Хочу к важным фильтрам прилепить значок вопроса и всплывающую подсказку.
  7. Добрый. Необходимо решить 2 задачи, удивительно, но ни один модуль из топов, как я понял не делает этого: 1) Назначать конкретному товару скидку на использование определенного метода оплаты в % от ЕГО цены, а не на всю корзину. Куча модулей позволяют сделать скидку на всю корзину/стандартный модуль купонов позволяет сделать на товары, но не дает возможности указать вариант оплаты. 2) Добавление купоном или автоматом скидки равно стоимости доставки на всю корзину, НО не более % от стоимость товаров участвующих в акции. (фактически подходит стандартный купон, но нужно ограничение в % от цены) Если нет готовых модулей, может есть какие-то темы, где схожие задачи решали?
  8. Добрый, умеет ли на данный момент filterit в "Учет в заказе" рассчитывать % скидки/наценки не от строки подитога, а от цены товаров соответствующих условиям ? Может есть какие-то переменные кроме W (вес) ? Фактически нужно реализовать скидку за метод оплаты для определенных товаров, а не разом на всю корзину. (может кто-то знает чем можно реализовать?)
  9. День добрый, давно уже пропала возможность в filterit выбрать как условие кастомные поля из simple, старые работают (в модуле пишется идентификатор). Может есть известный способ как вылечить? Стоит последний simple и filterit, установленые окмоды для кастомных полей catalog и admin UPD. накатил весь симпл (а не только обновление), еще раз переставил окмоды кастомных полей. Заодно отвалилась отправка на почту, теперь приходят идентификаторы. А вот в заказе (в админке) все отображается корректно. Блин уже не первый раз с этим после обновления сталкиваюсь, никогда не понимал как это решалось...
    Модуль работает с коробки, приятные настройки, наличие поиска в выпадающем списке по категориям. Автор подсказал моментально. Дополнительно есть пара пожеланий, может, что-то появится: - Включить для поиска по категориям синонимы из Поисковая система с морфологией и релевантностью v3. - В старшем брате добавить возможность выбора знака разделителя для синонимов, а так же на странице поиска выводить категории как в выпадающем списки (народ пишет, тыкает энтер и только потом смотрит)
  10. Очень удивлен, что ни у кого не возникло желания заменить разделитель с "пробела" на другой знак, по крайней мере в моей специфике очень много вариантов приходит в голову, где синонимом являются два слова. Можно ли заменить на другой символ разделитель, если это не сложно, подскажите, пожалуйста, как?
  11. Код css добавил в simple.css, все норм, спасибо. Посмотрите, может есть готовое решение или можно придумать как обыграть. Ситуация: есть города где дадата выдает устраивающий боксберри индекс (Москва - 101000, доставка показывается) и есть обратные (Самара - 443000, доставки нет, а вот для 443038 уже есть). В голову приходят варианты (исходя из того, что указывать реальный "точечный" индекс все равно никто не будет, а просить ввести человека улицу довольно странно): 1) сделать во вкладке "заглушка" возможность выводить заглушку отдельно (а не когда все методы единовременно не доступны). При этом человек увидит заглушку "проверьте правильность индекса" и укажет верный индекс - вуаля верная цена. В виде усложнения: показывать заглушку по галке в настройках, только для городов которые содержатся в "Геоданные". 2) Как то обмануть боксберри подменяя индексы городов на что-то съедобное, в 2х метрах. (придумать таблицу, куда сам пользователь может заносить сопоставленные индексы. Надо мне поставить модуль почты России, может он заставит сделать с дадата решение после которого и боксберри заработает, а то больше никто не просит индекс.
  12. Обнаружил на такой сборке (opencart 2.3.0.2, шаблон coloring, simple): 1) в мобильном проверил на хроме/опере при выборе пвз на карте вот такая картина одинаковая для боксберри и сдэк: 2) При выборе показывать выбор на карте "общий" при выборе пвз или постомата выбирается последний вариант доставки по очередности (среди данной ТК). Ситуация одинаковая на боксберри и СДЭК, но при выборе "индивидуальной" все ок. 3) пожелание для боксберри добавить во вкладке карта поле "название кнопки" такое же как у СДЭК. Фактически хотелось бы найти решение с картой, два других "саморазрешились". Еще есть проблема с то появляющейся то пропадающей курьерской доставкой, при том, что ПВЗ в данных городах отображается всегда нормально, но это пока тестирую.
  13. Вопрос по городу Щёлково, в модулях СДЭК и Боксберри город указан как "щЕлково" в дадата, через Ё. Можно ли для определенных городов или везде отказаться от буквы Ё? Еще Орел и Орёл...
  14. Не понял 2го пункта, то есть если есть такие расхождения для поля город их решить нельзя? Таких городов лично нам известно в московской области полтора десятка, поголовно у всех пользователей бесплатного модуля они не определяются в итоге. Там то рп вначале, то деревня, то город + "северное" (вообще собственноручно сдеком выдуманное название). Или "регионы" заносят соответствие в том числе и для поля город?
  15. Несколько вопросов, в связи с немалой стоимостью комплекта: 1) открыт ли код оформления в корзине (не зашифрован)? 2) Сопоставление регионов увидел в описании модуля, а города умеет сопоставлять? Сегодняшний пример, город в сдэк "Боброво", дадата выдает "рп боброво", можно ли такие варианты руками сопоставлять в вашему модуле? 3) есть ли тестовый сайт, где можно потыкать/тестовая лицензия?
  16. Странно но поиск не дал результата, уже очень долго мучаюсь тем, что на некоторых платформах, например avito ссылки с фильтром обрезаются неожиданным образом (в некоторых случаях и не очень длинные ссылки, видимо из-за знаков), что делает невозможным отправить клиентам. Есть ли у кого-то еще такая проблема и планируется ли ее решить?
  17. Добрый день, очень хотелось бы увидеть в следующем обновлении название постамата и срок доставки в тексте описания метода доставки. Очень странная механика названия метода доставки "[5001-579] Постамат: PickPoint: ТРЦ Новоизмайловский - Московская обл., Балашиха, Энтузиастов шоссе, вл. 11, стр. 4 (срок доставки 2 - 3дн.) выбрать постамат". И вопрос, в самом модуле впринципе не предусмотрены ограничения по размерам ? Товар имеет размер 1х1х0.1 метра, при этом пикпоинт остается доступен для него...
  18. Начал напихивать в отдельный отдел, печалька что не автоматизированно с 1с, но видимо так проще
  19. В поле jan у меня хранятся ID в соответствии с Вашей таблицей (модуля) из базы данных, например 1 определенный раздел в автозапчастях. Далеко не все разделы содержат идеально однородные товары, которым можно указать соответствия категория на сайте - категория в авито, поэтому появилась необходимость для этих товаров завести поле и указывать в нем правильную категорию авито, если она отличается от остальных в разделе сайта. Например лежат какие то товары .. все в 159 категории, а один выбивается и нужно его положить в 160. тогда я указываю в jan 160 (Аудио и видео - кабели и адаптеры) и он должен быть опубликован с соответствующие Category и GoodsType. Вот, что я хочу сделать тем кодом. А 0 мне удобен для хранения в 1с, чтобы знать что товар выложен в авито, если поле заполнено.
  20. Если это не сложно, можете подсказать как нужно изменить код, чтобы получить логику: В поле jan указывается 0 или номер ID по таблице avitofeed_catalog, если jan = 0, то выполняется обычная подставка Category и GoodsType, а если иное значение, то нужно подставить значения для указанного айди. if ($product['jan'] == '0') { $output .= '<Category>' . $category_avito['category'] . '</Category>'; if ($value['goodstype_avito']) { $output .= '<GoodsType>' . $value['goodstype_avito'] . '</GoodsType>'; } } else { $output .= '<Category>' . $category_avito['category'] . '</Category>'; вывести категории с id указанную в jan if ($value['goodstype_avito']) { $output .= '<GoodsType>' . $value['goodstype_avito'] . '</GoodsType>'; вывести подраздел с id указанный в jan } }
  21. Понял, что в каталоге используется модель GetProducts, но не знаю как в ней исключить товары с наличием статуса на складе = 5, подскажите, какую именно часть кода нужно поправить? Во второй запрос добавлено " AND p.stock_status_id != '10'" но не знаю когда это вообще проходит, на каталоге не отображается. $sql .= " LEFT JOIN " . public function getProducts($data = array()) { $sql = "SELECT p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' AND r1.stock_status_id != '10' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special"; if (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)"; } else { $sql .= " FROM " . DB_PREFIX . "product_to_category p2c"; } if (!empty($data['filter_filter'])) { $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)"; } else { $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)"; } } else { $sql .= " FROM " . DB_PREFIX . "product p"; } $sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.stock_status_id != '10' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; if (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'"; } else { $sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; } if (!empty($data['filter_filter'])) { $implode = array(); $filters = explode(',', $data['filter_filter']); foreach ($filters as $filter_id) { $implode[] = (int)$filter_id; } $sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")"; } } if (!empty($data['filter_name']) || !empty($data['filter_tag'])) { $sql .= " AND ("; if (!empty($data['filter_name'])) { $implode = array(); $words = explode(' ', trim(preg_replace('/\s+/', ' ', $data['filter_name']))); foreach ($words as $word) { $implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'"; } if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } if (!empty($data['filter_description'])) { $sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'"; } } if (!empty($data['filter_name']) && !empty($data['filter_tag'])) { $sql .= " OR "; } if (!empty($data['filter_tag'])) { $implode = array(); $words = explode(' ', trim(preg_replace('/\s+/', ' ', $data['filter_tag']))); foreach ($words as $word) { $implode[] = "pd.tag LIKE '%" . $this->db->escape($word) . "%'"; } if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.pdata) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } $sql .= ")"; } if (!empty($data['filter_manufacturer_id'])) { $sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'"; } $sql .= " GROUP BY p.product_id"; $sort_data = array( 'pd.name', 'p.model', 'p.quantity', 'p.price', 'rating', 'p.sort_order', 'p.date_added' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.sort_order"; } if (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC, LCASE(pd.name) DESC"; } else { $sql .= " ASC, LCASE(pd.name) ASC"; } if (isset($data['start']) || isset($data['limit'])) { if ($data['start'] < 0) { $data['start'] = 0; } if ($data['limit'] < 1) { $data['limit'] = 20; } $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; } $product_data = array(); $query = $this->db->query($sql); foreach ($query->rows as $result) { $product_data[$result['product_id']] = $this->getProduct($result['product_id']); } return $product_data; }
  22. По аналогии со старыми темами пытался убрать из категории, поиска, акций товары с определенным статусом на складе, но опенкарту по барабану на любые изменения, уже мозг из уха капает, подскажите, что не так, может название поля изменилось в 2.3.0.2 просто? Файл: /catalog/model/catalog/product.php Везде, кроме первой строки добавил после AND p.status = '1' это AND p.stock_status_id = 5 или это AND p.stock_status_id = '5' или это AND p.stock_status_id != '5' ... и не получил никаких изменений после 10 кратного обновления модификаторов после каждого изменения. Один из примеров: $sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.stock_status_id = '5' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; тема стоит coloring. почему может не работать, может кто сталкивался?..

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

Important Information

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