繁体   English   中英

Joomla 2.5-如何在MVC控制器中调用JavaScript代码?

[英]Joomla 2.5 - How to call javascript code in MVC controller?

我通过添加一些额外的字段来自定义joomla注册模块。 如果注册成功,我需要调用一些javascript代码。 因此,我将注册控制器文件(components / com_users / controllers / registration.php)更改为:

public function register()
{                   

    // Check for request forgeries.
    JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));

        ...
    // Attempt to save the data.
    $return = $model->register($data);
    if ($return === true) {
        $script = "<Here comes javascript code>";
        echo $script; // this doesn't work

        // I don't know how to call above script
        ...
    }
    ...
}

回声在这里不起作用,我发现joomla需要使用其API,例如“ $ document-> addScriptDeclaration($ script);”。 但是此代码需要在视图上运行,而不是在控制器上运行。

有什么想法吗? 提前致谢。

您应该使用出口构造来执行脚本。 因为脚本在窗口加载后可以完美运行。 因此,当您在javascript之后使用exit时,它将终止php脚本的执行,然后您的javascript将运行。

尝试下面的代码。

public function register()
{                   

// Check for request forgeries.
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));

    ...
// Attempt to save the data.
$return = $model->register($data);
if ($return === true) {
    $script = "<Here comes javascript code>";
    echo $script; // this doesn't work
    exit;
    // I don't know how to call above script
    ...
}
...
}

希望会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM