Как указать условие при нахождении на определенной странице в приложении магазин? Есть решение

Есть блок site.send_email_form (стандартный для отправки формы), как сделать чтобы некоторые поля формы были скрыты на определенных страницах? Допустим на главной чтобы было только поле e-mail, а на странице контакты были активны все поля?

{if strpos($wa->currentUrl(), '/kontakty/') !== false}main-contact{/if}
{if strpos($wa->currentUrl(), 'http://cabels456.ru/kontakty/') !== false}main-contact{/if}

Вот пробовал такой код, но он не работает.... что не так?

2 ответа

  • 2
    Eugen Nichikov Партнер-разработчик 19 мая 2020 11:26 # Решение

    В метод $wa->currentUrl() можно передавать аргументы. Первый - абсолютную ли ссылку возвращать, а второй - обрезать ли GET-параметры.

    Поэтому решить задачу можно так

    {if $wa->currentUrl(false, true) != '/kontakty/'} ... {/if}


    Но кроме этого параметры принимает и сам блок.

    {$wa->block('site.send_email_form', [ 'hide_some_fields' => true, 'some_other_param' => 'some_value' ]}

    Тогда в блоке будет доступна переменная $hide_some_fields и проверить можно так

    {if empty($hide_some_fields)} main-contact {/if}

  • 1
    Вася Хароший 19 мая 2020 13:59 # Решение

    Я бы еще добавил что нужно ставить два знака == если нужно указать равенство

    {if $wa->currentUrl(false, true) == '/kontakty/'}{/if}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите