We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28073
    • 164 Posts
    動的にプラグインのイベントを追加したいなぁと思い、MODxのAPI周りを見ていたらそれっぽい関数のaddEventListenerがありました。
    中身はこんな感じです。

    ./manager/includes/document.parser.class.inc[2219行目付近]
    # add an event listner to a plugin - only for use within the currentexecution cycle
    function addEventListener($evtName, $pluginName) {
        if (!$evtName || !$pluginName)
            return false;
        $el= $this->pluginEvent[$evtName];
        if (empty ($el))
            $el= $this->pluginEvent[$evtName]= array ();
        return array_push($el, $pluginName); // return index
    }
    


    ただ、どうも機能していないようです。
    機能していないと言うよりもMODxのコア内では一切使われておらず、開発チームから忘れ去られているような気もしないではないのですが、一応動作するように修正しました。

    # add an event listner to a plugin - only for use within the currentexecution cycle
    function addEventListener($evtName, $pluginName) {
        if (!$evtName || !$pluginName)
            return false;
        $el= &$this->pluginEvent[$evtName];
        if (empty ($el)){
            $this->pluginEvent[$evtName]= array ();
            $el= &$this->pluginEvent[$evtName];
        }
        return array_push($el, $pluginName); // return index
    


    あまり動的にプラグインのイベントをいじることはなさそうな気がしますが、参考までに投稿します。
    これってバグとして報告したほうがいいのでしょうか??
      • 19033
      • 892 Posts
      こんにちは。ありがとうございます。

      詳しいことはわからないですが、利用しない機能なら、ない方が良いのでしょうし、
      必要な機能なら、動くようにしておいた方が良いのではないでしょうか。。
      (後々のことを考えると...)。

      報告した方がよいような気がします。
        • 28073
        • 164 Posts
        というわけで報告してみました grin

        http://modxcms.com/forums/index.php/topic,21244.0.html

        さて、意味は伝わるでしょうか。。。どきどき。
          • 28073
          • 164 Posts
          ずっと報告せずにすいません。
          こちらの問題はrevision 3278で修正されています。

          http://modxcms.com/bugs/task/991

          現在、正式リリースされてないですが、0.9.6.2にこの修正が含まれます。