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

Добрый день.

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

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

Спасибо!
Toyo
27 сентября 2012, 08:58
modx.pro
1 094
0

Комментарии: 13

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

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

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

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

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