我只是想知道将新表添加到moodle
数据库是否可以,或者我应该为此创建一个新数据库?我需要一个表来保存一个表中的唯一ID和令牌以及客户端的IP地址,客户端的MAC地址和另一个表中的计算机名称。(以及哪些是存储这些的最佳数据类型?)
而我只是想知道moodle将这些东西保存在桌子里吗?那对我来说很容易。
谢谢
答案 0 :(得分:2)
问题不明确,你没有提到如何填写这些额外的表..我不知道如何从HTTP请求/响应中获取MAC地址。
Moodle有一个内置的日志记录机制,可以跟踪被访问用户的IP地址。它还具有唯一的ID(主键)和用户ID。
如果要添加新表,可以通过插件(块,模块或本地插件)添加。 Moodle还有一个强大的Event API,允许您在不实际修改核心代码的情况下触发某些操作。
希望这有帮助。
答案 1 :(得分:0)
插件表的标准做法是使用基于插件路径的表名。因此,如果插件位于local / clientlogger中,则安全名称为{local_clientlogger}。表应由/db/install.xml和/db/upgrade.php
创建答案 2 :(得分:0)
是的,你可以在moodle的数据库中添加一个表,但我和moodle开发者建议你遵循一些非常严格的规则。
不要编辑现有的moodle代码。 Moodle基于核心,不应编辑,因为您的代码可能与系统的新版本冲突。因此,如果您遵守规则,您的代码将适用于更多的moodle版本。
在moodle中开发你的东西建议用你想要的额外东西创建一个插件。我建议你在/ local / yourplugin中创建它。
在此内容中,您需要创建文档中列出的一些文件。我将说明文件local / yourplugin / db / install.xml 。
有关moodle插件的更多数据 https://docs.moodle.org/dev/Blocks https://docs.moodle.org/dev/Plugin_files
在此文件中,您将定义数据库的一部分。所以有了这个,你可以说会有一个带有字段的新表。
关于XMLDB(moodle定义数据库结构的方式) https://docs.moodle.org/dev/XMLDB_Documentation
有了所有文件,moodle将安装你的插件并生成你的表。
如果您不想遵守规则B-)。您可以找到模块并编辑db / upgrade.php,并定义新结构。