Javascript Modx从特定选项卡隐藏内容字段
Modx revo最新版本 我需要从使用表单定制创建的特定选项卡中隐藏内容字段,我发现了这个ExtJS代码,但我不知道如何实现它。它是ondocformrender插件吗?我应该创建一个js文件吗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
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>');
}
它将完全删除内容字段,但我需要它仅显示在文档选项卡下。