Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Modx从特定选项卡隐藏内容字段_Javascript_Extjs_Modx_Modx Revolution - Fatal编程技术网

Javascript Modx从特定选项卡隐藏内容字段

Javascript Modx从特定选项卡隐藏内容字段,javascript,extjs,modx,modx-revolution,Javascript,Extjs,Modx,Modx Revolution,Modx revo最新版本 我需要从使用表单定制创建的特定选项卡中隐藏内容字段,我发现了这个ExtJS代码,但我不知道如何实现它。它是ondocformrender插件吗?我应该创建一个js文件吗 Ext.onReady(function(){ var tabPanel = Ext.getCmp("modx-resource-tabs"); if(tabPanel!=null){ //Add my custom tab var customTab = { tit

Modx revo最新版本

我需要从使用表单定制创建的特定选项卡中隐藏内容字段,我发现了这个ExtJS代码,但我不知道如何实现它。它是ondocformrender插件吗?我应该创建一个js文件吗

Ext.onReady(function(){
var tabPanel = Ext.getCmp("modx-resource-tabs");

if(tabPanel!=null){
    //Add my custom tab
    var customTab = {
        title: 'Custom',
        id: 'my-custom-tab',
        cls: 'modx-resource-tab',
        layout: 'fit',
        labelAlign: 'top',
        labelSeparator: '',
        bodyCssClass: 'tab-panel-wrapper main-wrapper',
        autoHeight: true,
        defaults: {
            border: false,
            msgTarget: 'under',
            width: 400,
            height:800
        },
        items: [
            {
                xtype: "box",
                autoEl: {cn: '<div id="target_id"></div>'}
            }
        ]
    };
    tabPanel.on('tabchange', function(parent,selectedTab){ 
        if (selectedTab.id == 'my-custom-tab') {
            Ext.getCmp("modx-resource-content").hide();
        }
        else {
            Ext.getCmp("modx-resource-content").show();
        }
    });
    tabPanel.insert(0, customTab);
    tabPanel.setActiveTab(0);
    tabPanel.doLayout();
}
});
Ext.onReady(函数(){
var tabPanel=Ext.getCmp(“modx资源选项卡”);
if(tabPanel!=null){
//添加我的自定义选项卡
var customTab={
标题:“自定义”,
id:“我的自定义选项卡”,
cls:“modx资源选项卡”,
布局:“适合”,
labelAlign:“顶部”,
标签分离器:'',
bodyCssClass:“选项卡面板包装器主包装器”,
自动高度:正确,
默认值:{
边界:错,
msgTarget:'在',
宽度:400,
身高:800
},
项目:[
{
xtype:“盒子”,
自动EL:{cn:'}
}
]
};
tabPanel.on('tabchange',函数(父级,selectedTab){
如果(selectedTab.id==“我的自定义选项卡”){
Ext.getCmp(“modx资源内容”).hide();
}
否则{
Ext.getCmp(“modx资源内容”).show();
}
});
tabPanel.insert(0,customTab);
tabPanel.setActiveTab(0);
tabPanel.doLayout();
}
});

您不需要编辑任何ExtJS,您可以通过MODX的功能来完成

请参阅附件中的屏幕截图以供参考


我在OnDocFormPrerender上做了这样的插件:

<?php
switch ($modx->event->name) {
// Add a custom tab to the MODX create/edit resource pages
case 'OnDocFormPrerender':
    $custom_html = 'Your custom HTML, e.g. from a model function or API         lookup etc.';
    $modx->regClientStartupHTMLBlock('<script type="text/javascript">
        Ext.onReady(function(){
var tabPanel = Ext.getCmp("modx-resource-tabs");

if(tabPanel!=null){
    tabPanel.on(\'tabchange\', function(parent,selectedTab){ 
        if (selectedTab.id == \'modx-ref\') {
            Ext.getCmp("modx-resource-content").hide();
        }
        else {
            Ext.getCmp("modx-resource-content").show();
        }
    });
    tabPanel.insert(0, customTab);
    tabPanel.setActiveTab(0);
    tabPanel.doLayout();
}
});               
    </script>');
}

它将完全删除内容字段,但我需要它仅显示在文档选项卡下。