在哪里包括糖



我一直在为糖模块制作一些自定义代码,并且不清楚将我的javascript代码放在模块中调用的位置。

目前,我已经将自定义JS放入include/javascript/popup_parent_helper.js

这在开发人员模式下正常工作,但是当关闭该模式时不起作用,不幸的是Dloveer模式运行超级慢

我做了很多研究,并且得到了一些矛盾的结果。

有人告诉我,我应该将其包括在:

  • /模块/[MODULENAME]/

其他人说应该在:

  • /自定义/模块/[MODULENAME/
    • 还有一些在将JS添加为目录
    • 的进一步

请帮助我澄清适当的结构,以及我需要做适当的陈述

澄清:

我们使用的是糖6.5x

在这种情况下,JS仅用于一个模块。

它正在快速创建视图和编辑视图

中使用

如果应通过任何模块访问JavaScript,则可以创建一个新的JSGrouping并使用以下技术来启动自定义JS文件:http://support.sugarcrm.com/documentation/sugar_developer/sugar_developer_guide_7.6/extension_framework/jsgroupings/#creating_new_new_jsgroupings

听起来您希望将其隔离到您的自定义模块中,因此您可能应该扩展所需的视图。如果您要扩展记录视图,请创建一个新文件,称为record.js在custom/模块/-your_module-/clients/base/base/views/record/

({
extendsFrom: 'RecordView',
initialize: function(options) {
    this._super('initialize', [options]);
    this.doSomething();
},
doSomething: function(){
    console.log("Help you I will");
},
...

})

https://developer.sugarcrm.com/2014/02/10/extending-sugar-7-record-view/

我也遇到了类似的问题(js应该是用于编辑和QuickCreate表单),但是在进行了一些RND之后,我根据以下方式实现了它:

custommodules<modulename>viewsview.edit.php
<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
require_once('include/MVC/View/views/view.edit.php');
class {moduleName}ViewEdit extends ViewEdit {
      public function __construct() {
        parent::ViewEdit();
        $this->useForSubpanel = true; // this variable specifies that these changes should work for subpanel
       // / $this->useModuleQuickCreateTemplate = true; // quick create template too
    }
    function display(){ ?>
        <?php
                 $jsscript = <<<EOQ
                            <script>
                                    Your JS code
                            </script>
EOQ;
        parent::display();
           echo $jsscript;     //echo the script
    }   
}
?>

相关内容

  • 没有找到相关文章

最新更新