Skip to content

Commit

Permalink
Merge pull request #10 from halftrainedharry/patch-inject-resource
Browse files Browse the repository at this point in the history
Fix insertion of resource fields into existing MODX resource tabs
  • Loading branch information
Boshnik authored Sep 2, 2024
2 parents 0c96825 + 58e1694 commit 088ce0b
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 10 deletions.
11 changes: 8 additions & 3 deletions assets/components/extrafields/js/mgr/inject/resource.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Ext.ComponentMgr.onAvailable('modx-resource-tabs', function() {
let issetField = false;
field.abs.forEach(abs => {
if (issetField) return;
if (tab.id === abs.category_id) {
if ((tab.id === abs.category_id) || (tab.id === abs.tab_id && Ext.isEmpty(abs.category_id))) {
if (ExtraFields.utils.checkAbs(abs)) return;
field = Object.assign(abs, field);
if (tab.id === 'modx-resource-access-permissions') {
Expand All @@ -27,7 +27,12 @@ Ext.ComponentMgr.onAvailable('modx-resource-tabs', function() {
let columns = tab.items[0];
if (columns.layout !== 'column') return;

columns.items.forEach(column => {
let columnItems = columns.items;
// The layout in MODX 3 is different
if (tab.id === 'modx-page-settings' && ExtraFields.config.modxversion === '3' && columns.items.length === 2){
columnItems = columns.items[0].items.concat(columns.items[1].items);
}
columnItems.forEach(column => {
field.abs.forEach(abs => {
if (issetField) return;
if (column.id === abs.category_id) {
Expand All @@ -43,7 +48,7 @@ Ext.ComponentMgr.onAvailable('modx-resource-tabs', function() {

if (issetField) return;

if (column.id === 'modx-page-settings-right') {
if ((column.id === 'modx-page-settings-right') && ExtraFields.config.modxversion !== '3') {
if (!column.items[3].items) return;
let boxes = column.items[3].items[0].items;
boxes.forEach(box => {
Expand Down
2 changes: 2 additions & 0 deletions core/components/extrafields/lexicon/en/default.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@
$_lang['modx-page-settings-right'] = 'Settings (modx-page-settings-right)';
$_lang['modx-page-settings-right-box-left'] = 'Settings (modx-page-settings-right-box-left)';
$_lang['modx-page-settings-right-box-right'] = 'Settings (modx-page-settings-right-box-right)';
$_lang['modx-page-settings-box-left'] = 'Settings (modx-page-settings-box-left)';
$_lang['modx-page-settings-box-right'] = 'Settings (modx-page-settings-box-right)';
$_lang['modx-resource-access-permissions'] = 'Resource groups';

$_lang['user_tab_0'] = 'General information';
Expand Down
2 changes: 2 additions & 0 deletions core/components/extrafields/lexicon/ru/default.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@
$_lang['modx-page-settings-right'] = 'Настройки (modx-page-settings-right)';
$_lang['modx-page-settings-right-box-left'] = 'Настройки (modx-page-settings-right-box-left)';
$_lang['modx-page-settings-right-box-right'] = 'Настройки (modx-page-settings-right-box-right)';
$_lang['modx-page-settings-box-left'] = 'Настройки (modx-page-settings-box-left)';
$_lang['modx-page-settings-box-right'] = 'Настройки (modx-page-settings-box-right)';
$_lang['modx-resource-access-permissions'] = 'Группы ресурсов';

$_lang['user_tab_0'] = 'Общая информация';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,13 +106,22 @@ public function outputArray(array $array,$count = false) {
], $array);
break;
case 'modx-page-settings':
$array = array_merge([
['id' => 'modx-page-settings-left', 'name' => $this->modx->lexicon('modx-page-settings-left')],
['id' => 'modx-page-settings-right', 'name' => $this->modx->lexicon('modx-page-settings-right')],
['id' => 'modx-page-settings-right-box-left', 'name' => $this->modx->lexicon('modx-page-settings-right-box-left')],
['id' => 'modx-page-settings-right-box-right', 'name' => $this->modx->lexicon('modx-page-settings-right-box-right')],
], $array);
break;
if ($this->modx->getVersionData()['version'] === '3') { // In MODX 3 there are different regions available
$array = array_merge([
['id' => 'modx-page-settings-left', 'name' => $this->modx->lexicon('modx-page-settings-left')],
['id' => 'modx-page-settings-right', 'name' => $this->modx->lexicon('modx-page-settings-right')],
['id' => 'modx-page-settings-box-left', 'name' => $this->modx->lexicon('modx-page-settings-box-left')],
['id' => 'modx-page-settings-box-right', 'name' => $this->modx->lexicon('modx-page-settings-box-right')],
], $array);
} else {
$array = array_merge([
['id' => 'modx-page-settings-left', 'name' => $this->modx->lexicon('modx-page-settings-left')],
['id' => 'modx-page-settings-right', 'name' => $this->modx->lexicon('modx-page-settings-right')],
['id' => 'modx-page-settings-right-box-left', 'name' => $this->modx->lexicon('modx-page-settings-right-box-left')],
['id' => 'modx-page-settings-right-box-right', 'name' => $this->modx->lexicon('modx-page-settings-right-box-right')],
], $array);
}
break;
case 'user_tab_0':
$array = array_merge([
['id' => 'user_tab_0_1', 'name' => $this->modx->lexicon('user_tab_0_1')],
Expand Down

0 comments on commit 088ce0b

Please sign in to comment.