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) или когда он появляется в плагине (примеры см. В плагинах /).