Moodle 3.3-检查用户是否在Mustach模板中经过身份验证

Moodle 3.3-检查用户是否在Mustach模板中经过身份验证,moodle,mustache,Moodle,Mustache,我正在为Moodle网站创建一个小胡子模板,并希望在首页上显示一些内容,但前提是用户尚未登录。我希望我可以在模板中执行类似的操作: {{^usernotloggedin} 未登录用户的我的内容。 {{/usernotloggedin}} 但是,我找不到任何关于用户变量的文档,这些变量可用于测试用户是否经过身份验证 任何关于在何处查找或如何实现的建议都将非常有用。您需要调整调用模板的代码,以便将该数据添加到传递给模板的上下文中。在这种情况下,您可以使用isloggedin()函数来设置要传递给模板

我正在为Moodle网站创建一个小胡子模板,并希望在首页上显示一些内容,但前提是用户尚未登录。我希望我可以在模板中执行类似的操作:

{{^usernotloggedin}
未登录用户的我的内容。
{{/usernotloggedin}}

但是,我找不到任何关于用户变量的文档,这些变量可用于测试用户是否经过身份验证


任何关于在何处查找或如何实现的建议都将非常有用。

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

我希望我对这个问题的回答不会太晚,无论如何,我也想补充一下我的答案

您的小胡子文件是无法执行逻辑的简单模板。你能做的就是

在控制器或调用render函数(渲染mustache文件并给出HTML)的文件中,在那里应用一个复选框

require( '/path/to/moodle/config.php' );

if (isloggedin()) {
echo "you are logged in";
}
应用检查后,可以发送带有标志标识符的数组(仅限TRUE或FALSE),mustache文件可以理解该标识符

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

$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);
在你的胡子档案里

{{#flag}}
your fancy code here which will onyl work if the user is logged in
{{/flag}}