Skip to content

Instantly share code, notes, and snippets.

@andronex
Created March 29, 2023 22:10
Show Gist options
  • Save andronex/3bef7f0f2ec469a3dbbe5cd643c31efd to your computer and use it in GitHub Desktop.
Save andronex/3bef7f0f2ec469a3dbbe5cd643c31efd to your computer and use it in GitHub Desktop.
Перенос TV поля на вкладку свойств товара miniShop2 в MODX Revolution < 3.0
Ext.override(miniShop2.panel.Product, {
getProductFields: function (config) {
var enabled = miniShop2.config.data_fields;
var available = miniShop2.config.extra_fields;
var product_fields = this.getAllProductFields(config);
var col1 = [];
var col2 = [];
var tmp;
for (var i = 0; i < available.length; i++) {
var field = available[i];
if ((enabled.length > 0 && enabled.indexOf(field) === -1) || this.active_fields.indexOf(field) !== -1) {
continue;
}
if (tmp = product_fields[field]) {
this.active_fields.push(field);
tmp = this.getExtField(config, field, tmp);
if (i % 2) {
col2.push(tmp);
}
else {
col1.push(tmp);
}
}
}
return {
title: _('ms2_tab_product_data'),
id: 'minishop2-product-data',
bodyCssClass: 'main-wrapper',
items: [{
layout: 'column',
items: [{
columnWidth: .5,
layout: 'form',
labelAlign: 'top',
items: col1,
}, {
columnWidth: .5,
layout: 'form',
labelAlign: 'top',
items: col2,
}],
}, {
html: '',
style: 'margin-top: 30px;border-bottom: solid 1px #e4e4e4;',
border: false
}],
listeners: {
afterrender: function (tabs) {
var element = document.createElement('style'),
sheet;
// Append style element to head
document.head.appendChild(element);
// Reference to the stylesheet
sheet = element.sheet;
var styles = '#minishop2-product-data .x-form-item label.x-form-item-label{ width:auto}';
// Add the first CSS rule to the stylesheet
sheet.insertRule(styles, 0);
MODx.moveTV(["tv8"],"minishop2-product-data");
},
},
};
}
});
<?php
switch ($modx->event->name) {
case 'msOnManagerCustomCssJs':
if ($page == 'product_update' || $page == 'product_create') {
$modx->controller->addLastJavascript(MODX_ASSETS_URL.'components/minishop2/plugins/ms2productextend.js');
}
break;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment