Тег delivery в корзине


Добрый день.

У меня неправильно работает конструкция:
[[+delivery:gt=`0`:then=`Показать`:else=`Не показывать`]]

Мне нужно показывать информационный блок в корзине, после выбора типа доставки и отправки формы личных данных заказчика. Например, вводим неверные данные в форме и отправляем форму, показывает снова эту форму и этот блок, в том случае, если метод доставки выбран.

Спасибо!
27 сентября 2012, 12:58    Toyo   
0    302 0

Комментарии (13)

  1. Toyo 27 сентября 2012, 13:03 # 0
    Уточнение, эта конструкция всегда входит в else, т.е. не показывает блок.
    1. Василий Наумкин 27 сентября 2012, 13:08 # 0
      А кто выставил плейсхолдер delivery?

      Мои сниппеты, вроде, этого не делают. Используйте $modx->setPlaceholder();
      1. Toyo 27 сентября 2012, 13:12 # 0
        В tpl.msAddrForm используется [[+delivery]], вот оттуда и взято. ID отображается, а этим модификатором неправильно отображается.
        1. Василий Наумкин 27 сентября 2012, 13:57 # 0
          Окей, тогда попробуйте [[+delivery:isnot=`0`:then=``:else=``]]
          1. Toyo 27 сентября 2012, 14:03 # 0
            Всегда показывается.
            1. Василий Наумкин 27 сентября 2012, 14:44 # 0
              Тогда пробуйте модификатор notempty.
    2. Илья Уткин 27 сентября 2012, 13:26 # 0
      А пробовали использовать другие фильтры?

      Например:
      [[+delivery:isnotempty=`Показать`:else=`Не показывать`]]
      [[+delivery:noteq=``:then=`Показать`:else=`Не показывать`]]
      1. Toyo 27 сентября 2012, 14:08 # 0
        До отправки формы:
        +delivery ==
        isnot=`0` = Показать
        isnotempty = Не показывать
        noteq = Не показывать

        После:
        +delivery == 1
        isnot=`0` = Показать
        isnotempty = Не показывать
        noteq = Не показывать
        1. Илья Уткин 27 сентября 2012, 14:12 # 0
          А на странице ваш блок стоит после вызова FormIt?
          1. Toyo 27 сентября 2012, 14:12 # 0
            Илья, получается ДО, но значение +delivery ведь имеется?
            1. Илья Уткин 27 сентября 2012, 15:15 # 0
              Возможно модификатор из-за этого обрадатывается ДО setPlaceholder и в плейсхолдере нет значение во время проверки.

              Поставьте вызов FormIt в самое начало страницы — это ни на что не повлияет, просто он будет первым обрабатываться
              1. Toyo 27 сентября 2012, 15:59 # 0
                Не помогло… :(
                1. Toyo 27 сентября 2012, 16:02 # 0
                  Похоже заработало, спасибо!
        Вы должны авторизоваться, чтобы оставлять комментарии.