检测用户是否是第一次访问 Moodle 2.7 中的某些页面以向他显示界面上发生了一些变化
Detecting if it is the first time a user access some pages in Moodle 2.7 to show him that something changed on the interface
以下是我对此任务的限制:
- 对于 Moodle 2.7
- 我无法安装任何插件
- 我无法创建任何插件
所以我需要确定用户是否是在界面更新后第一次访问 Moodle 上的某些页面以向他们展示新内容。我想在更新页面时做一些像 Google 那样的事情。
'Ow, what is new? this, this and that. Okay? End of story and you will
never see me again.'
我在文件 'columns3.php' 中找到了 'Object' '$USER'文件夹“layout”。
这个 '$USER' 提供了很多有用的信息,也许对我有用。
是否可以使用引用的 'Objet' 中的任何信息来让我只为用户显示一次上下文帮助?或者,是否有任何其他地方可以找到一些我可以用于我的目的的数据?
将通过前端文件 运行 呈现新内容的上下文帮助,并且已经准备好实施。
您可以采用以下方法:
在该界面将指向 运行 的任何页面上,使用以下条件对 mdl_log
table 进行查询:
- 即
userid
列值 = $USER->id
url
列值 = 任何可能的 url 使用该接口的地方。
- 并且
time
列值 > 更新日期
界面
如果该查询 returns 0 个结果,那么这意味着自您安装该页面以来用户还没有访问过该页面,因此显示您的通知框或其他任何内容,否则不要显示您的通知框。
另一种可能的方法是在接口代码上进行验证,这样无论何时使用它都会检查:
- 当前
$USER->id invoked
之前有此代码吗? (您可以添加一个
mdl_user
table 的布尔字段并简单地存储一个值
(1 或 0)跟踪用户是否在更新后使用了界面)。
- 声明一个全局
$VISITED
变量并根据步骤 1 的结果分配适当的值,以备后用
在您的 php 查看代码(html)
- 在你的phphtml文件中做:
(If $VISITED == 0) THEN show_notice_box ELSE do nothing
以下是我对此任务的限制:
- 对于 Moodle 2.7
- 我无法安装任何插件
- 我无法创建任何插件
所以我需要确定用户是否是在界面更新后第一次访问 Moodle 上的某些页面以向他们展示新内容。我想在更新页面时做一些像 Google 那样的事情。
'Ow, what is new? this, this and that. Okay? End of story and you will never see me again.'
我在文件 'columns3.php' 中找到了 'Object' '$USER'文件夹“layout”。 这个 '$USER' 提供了很多有用的信息,也许对我有用。
是否可以使用引用的 'Objet' 中的任何信息来让我只为用户显示一次上下文帮助?或者,是否有任何其他地方可以找到一些我可以用于我的目的的数据?
将通过前端文件 运行 呈现新内容的上下文帮助,并且已经准备好实施。
您可以采用以下方法:
在该界面将指向 运行 的任何页面上,使用以下条件对 mdl_log
table 进行查询:
- 即
userid
列值 = $USER->id url
列值 = 任何可能的 url 使用该接口的地方。- 并且
time
列值 > 更新日期 界面
如果该查询 returns 0 个结果,那么这意味着自您安装该页面以来用户还没有访问过该页面,因此显示您的通知框或其他任何内容,否则不要显示您的通知框。
另一种可能的方法是在接口代码上进行验证,这样无论何时使用它都会检查:
- 当前
$USER->id invoked
之前有此代码吗? (您可以添加一个mdl_user
table 的布尔字段并简单地存储一个值 (1 或 0)跟踪用户是否在更新后使用了界面)。 - 声明一个全局
$VISITED
变量并根据步骤 1 的结果分配适当的值,以备后用 在您的 php 查看代码(html) - 在你的phphtml文件中做:
(If $VISITED == 0) THEN show_notice_box ELSE do nothing