Jump to content
  • Логика шаблонов

       (0 reviews)

    Вадим

    В статье описывается способ применения 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}}}

     



    User Feedback

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest

    • This will not be shown to other users.
    • Add a review...

      ×   Pasted as rich text.   Paste as plain text instead

        Only 75 emoji are allowed.

      ×   Your link has been automatically embedded.   Display as a link instead

      ×   Your previous content has been restored.   Clear editor

      ×   You cannot paste images directly. Upload or insert images from URL.

      Loading...

Messenger

    ×
    ×
    • Create New...

    Important Information

    By using our site you agree to our Privacy Policy