首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Moodle 3.3 -检查用户是否在Mustache模板中进行了身份验证

Moodle 3.3 -检查用户是否在Mustache模板中进行了身份验证
EN

Stack Overflow用户
提问于 2017-06-25 17:32:03
回答 2查看 1.4K关注 0票数 0

我正在创建一个Moodle网站的胡子模板,并希望在首页显示一些内容,但只有当用户还没有登录。我希望我可以在模板中这样做:

{{^usernotloggedin}} My content for users not logged in. {{/usernotloggedin}}

但是,我找不到任何关于mustache可以用来测试用户是否通过身份验证的用户变量的文档。

任何关于在哪里寻找或如何实现这一点的建议都将是很好的。

EN

回答 2

Stack Overflow用户

发布于 2017-06-25 17:56:33

您需要调整调用模板的代码,以将该数据添加到传递给模板的上下文中。在这种情况下,可以使用isloggedin()函数来设置要传递给模板的值。

票数 0
EN

Stack Overflow用户

发布于 2018-04-17 17:51:00

我希望我回答这个问题还不算太晚,不管怎样,我也想补充一下我的答案。

您的胡子文件是简单的模板,不能执行逻辑。你能做的是

在您的控制器或调用render函数的文件中(该函数将呈现八字胡文件并提供HTML),在此处应用检查

代码语言:javascript
复制
require( '/path/to/moodle/config.php' );

if (isloggedin()) {
echo "you are logged in";
}

一旦您应用了检查,您就可以向数组发送一个标志标识符(只有TRUE或FALSE),该标识符须文件可以识别。

例如,在控制器/块等中,您可以执行以下操作

代码语言:javascript
复制
$tagcloud = core_tag_collection::get_tag_cloud($this->config->tagcoll, $this->config->showstandard == core_tag_tag::STANDARD_ONLY, $this->config->numberoftags, 'name', '', $this->page->context->id, $this->config->ctx, $this->config->rec);
$content = $tagcloud->export_for_template($OUTPUT);
require( '/path/to/moodle/config.php' );

$flag = isloggedin() ? TRUE : FALSE;
array_push($content, $flag);
$this->content->text = $OUTPUT->render_from_template('core_tag/search_course_by_tags', $content);

在你的小胡子文件里

代码语言:javascript
复制
{{#flag}}
your fancy code here which will onyl work if the user is logged in
{{/flag}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44745029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档