[Помогите] Один товар без доставки

Тема в разделе "OpenCart", создана пользователем Flexx, 28 сен 2015.

  1. Flexx

    Flexx

    Регистрация:
    8 янв 2013
    Сообщения:
    122
    Симпатии:
    85
    Как создать один товар,который который будет показан на сайт несколько дней,при этом он не будет отображаться в категориях и на него будет бесплатной доставка.Попасть на него можно только по прямой ссылке.У остальных товаров все останется по старому,стандартные шаблоны и фиксированная цена доставки.
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.053
    Симпатии:
    779
    Чтоб товар не выводился в категориях, надо не выбирать для него ни одной категории, но от поиска это не защитит.
    А с доставкой всё зависит от того, какие модули доставки вы используете. Например, если в модуле можно задать стоимость в зависимости от веса, можно поставить 10000:0, а товару вес 10000 (число большое, чтоб с другими товарами не смешалось, а если поставить вес 0 и у всех товаров вес не задан, то доставка бесплатной станет для всех).
     
  3. Flexx

    Flexx

    Регистрация:
    8 янв 2013
    Сообщения:
    122
    Симпатии:
    85
    Dotrox, Это вы про стандартный модуль говорите Weight Based Shipping??

    На сайте используется один модуль доставки в котором есть 2 варианта
    Australia Post
    Standard (2 days) $7.52
    Express (1 days) $10.22
    Далее,если я добавляю в Weight Based Shipping 10000.00000000:0 (у товара стоит вес 10 000),то в конечном итоге у меня для всех товаров появляется free shipping.
    Shipping
    Free Shipping

    Australia Post

    Standard (2 days) $7.52
    Express (1 days) $10.22
     
    Lasted edited by : 29 сен 2015
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.053
    Симпатии:
    779
    Я подзабыл по какому принципу этот конфиг парсится. Вес считается не от указанного числа, а до него, то есть 10000:0 означает, что при весе корзины до 10000 стоимость 0. В принципе, можно в модели модуля просто развернуть знак сравнения, чтоб было не до, а от указанного веса.
    В случае с модулем Weight Based Shipping в файле /catalog/model/shipping/weight.php найти
    PHP:
    if ($data[0] >= $weight) {
    и заменить >= на <=.
     
  5. Flexx

    Flexx

    Регистрация:
    8 янв 2013
    Сообщения:
    122
    Симпатии:
    85
    Dotrox, Да,так работает.А как можно отключить остальные варианты доставок ? Чтобы остался только один вариант.Только условие писать в shipping_method.tpl ?
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.053
    Симпатии:
    779
    В смысле, чтоб для этого товара выводился только один вариант доставки?
    Можно назначить ему какой-то налоговый класс и выбрать этот класс в модуле доставки. Но я не уверен, что это спрячет остальные методы. Прежде всего, это должно спрятать этот метод для остальных товаров. Надо пробовать.