OJS-Расположение конфигурационной переменной

У кого-нибудь есть идеи, откуда переменная $ isUserLoggedInor $hideRegisterLink, приведенная ниже, извлекает свои данные? Код взят из navar.tpl в OJS http://pkp.sfu.ca/?q=ojs.

Примечание:OJS использует умные шаблоны

   {if $isUserLoggedIn}
        <li id="userHome"><a href="{url page="user"}">
   {translate  key="navigation.userHome"}</a></li>


    {else}

        <li id="login"><a href="{url page="login"}">
                     {translate key="navigation.login"}</a></li>

        {if !$hideRegisterLink}
            <li id="register">
                    <a href="{url page="user"  op="register"}">
                    {translate key="navigation.register"}</a></li>
        {/if}

    {/if}{* $isUserLoggedIn *}

2 ответа

Решение

Если кому-то интересно, кроме меня, это происходит из предопределенной переменной из OJS. Это self.you может посетить эту страницу для получения дополнительной информации http://pkp.sfu.ca/ojs/docs/technicalreference/2.1/userInterfaceVariables.html

Это будет зависеть от того, какая именно переменная вас особенно интересует. Для $ isUserLoggedIn это lib/pkp/classes/template/PKPTemplateManager.inc.php (как и для многих других глобально полезных переменных, которые используются в нескольких приложениях PKP); в случае $hideRegisterLink это классы /template/TemplateManager.inc.php (те же, но специфичные для приложения OJS).

Обычно вы можете найти это с помощью grepping, например:

grep -l -e "'hideRegisterLink'" `find . -name \*.inc.php`

Есть много других более конкретных случаев, например, когда шаблон используется только на одной странице (примеры можно найти на страницах /, что соответствует терминологии View in MVC) или когда он появляется в плагине (примеры см. В плагинах /).

Другие вопросы по тегам