Перейти к содержанию
  • Логика шаблонов

       (0 отзывов)

    Вадим

    В статье описывается способ применения php условий в html шаблонах в Invision Community 4.

    Управляющие конструкции

    Для большинства конструкций в Invision Community синтаксис схож с альтернативным синтаксисом управляющих структур в PHP, но конструкции заключаются в двойные фигурные скобки. В большинстве случаев скобки, двоеточия и точки с запятыми не требуются.

    Пример:

    {{if $var}}
       HTML код
    {{endif}}

    Сложное условие

    {{if $foo}}
       HTML код
    {{elseif $bar}}
       HTML код
    {{elseif $baz}}
       HTML код
    {{else}}
       HTML код
    {{endif}}
    {{foreach $foo as $bar}}
       HTML код
    {{endforeach}}

    Сокращения

    Вы можете использовать сокращения в различных конструкциях, например, вместо:

    {{if \IPS\Member::loggedIn()->member_id}}
        HTML код для авторизованного пользователя
    {{endif}}

    Вы можете использовать:

    {{if member.member_id}}
        HTML код для авторизованного пользователя
    {{endif}}

    Доступные сокращения:

    • request.var соответствует \IPS\Request::i()->var
    • member.var соответствует \IPS\Member::loggedIn()->var
    • settings.var соответствует \IPS\Settings::i()->var
    • theme.var соответствует \IPS\Theme::i()->settings['var']
    • cookie.var соответствует \IPS\Request::i()->cookie['var']

    Переменные

    Переменные можно использовать в обычных фигурных скобках:

    {$foo}

    Для предотвращения XSS (межсайтовый скриптинг), необходимо использовать конструкцию, исключающую отображение форматированного контента переменной:

    {$foo|raw}

    Экранирование выполняется таким способом, при котором содержание отображается без кодирования специальных символов, для возможности их кодирования необходимо использовать следующую конструкцию:

    {$foo|doubleencode}

    Теги

    Почти везде, где может быть использована логика шаблонов, могут быть использованы теги, для форматирования дат, чисел, языковых срок и так далее.

    PHP код

    Вы можете выполнять исходный PHP код, заключив его в двойные фигурные скобки:

    {{$foo = array();}}

    Отображение контента шаблонов

    В Режиме разработчика существует специальный тег, позволяющий отобразить контент шаблона. Тег можно вставлять в любое место шаблона:
     

    {{{PRINT}}}

     



    Обратная связь

    Присоединяйтесь к обсуждению

    Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
    Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

    Гость

    • Не будет показан другим пользователям
    • Добавить отзыв...

      ×   Вставлено с форматированием.   Вставить как обычный текст

        Разрешено использовать не более 75 эмодзи.

      ×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

      ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

      ×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

      Загрузка...

×
×
  • Создать...

Важная информация

Используя наш сайт вы соглашаетесь с нашей Политикой конфиденциальности