Moodle从JavaScript访问设置

时间:2015-05-24 03:03:13

标签: javascript php moodle

我是Moodle dev的新手。我已经阅读了API的基础知识,现在开始通过制作tinymce插件来弄脏手。这样做时,我遇到了以下问题:如何从javascript访问settings.php。

我知道如何从javascript访问lan / en字符串,我也知道在php中,$layout_string = $this->get_config('statlayout');会提取设置' statlayout'。我想要的是从JavaScript访问$layout_string

2 个答案:

答案 0 :(得分:2)

我认为没有标准的方法可以做到这一点。

  • 如果您正在制作插件(不是atto或tinymce的子插件),那么您只需致电

    全球$ PAGE; $ PAGE->所指> yui_module( / * frankenstyle命名为yui模块 /, / 输入功能* / );

  • 如果你正在创建一个子插件,那么你需要阅读主插件本身以发现它如何调用javascript函数,对于atto编辑器的情况我想我在其中一个主插件中看到了以下内容:

    reqiure_once( “插件/ $ pluginname / lib.php”); $ functionname =“atto _”。$ puginname。“params_for_js”; call_user_func($ functionname,/ * some args * /);

在这种情况下,你的atto subplugin的lib.php必须包含 atto_pluginname_params_for_js 函数,这样pluginname就是插件的名称。

从软件工程的角度来看,这是令人作呕的。我所能说的最好的事情就是在创建自己的插件时自己遵守软件工程原则,减少下一个人的智力负担。

答案 1 :(得分:0)

我个人认为这真的很黑,我不推荐它,但是 也许 你可以这样做吗?

<?php
  $layout_string = $this->get_config('statlayout');
  echo "<script> var my_var = '" . $layout_string . "';</script>";
?>

<script> alert( my_var );</script>

如果您在此期间找到了另一个答案,我有兴趣知道您的想法。 :)