Как редактировать панель товара?
Пытаюсь упростить панель товара для менеджера.
1. Возможно ли менять порядок вкладок или скрывать их на панели товара? Хочется выставить самые используемые первыми, а неактульные для менеджера — скрыть совсем. Возможно?
2. Как скрыть поле «Содержимое»[[*content]] на вкладке «Документ»? Отключение modx-resource-content в настройках форм не помогает, видимо потому что ресурс минишоповский.
1. Возможно ли менять порядок вкладок или скрывать их на панели товара? Хочется выставить самые используемые первыми, а неактульные для менеджера — скрыть совсем. Возможно?
2. Как скрыть поле «Содержимое»[[*content]] на вкладке «Документ»? Отключение modx-resource-content в настройках форм не помогает, видимо потому что ресурс минишоповский.
Комментарии: 9
В принципе, понимаю, что нужно ковырять исходники и всё слетит при обновлении, но делать нечего.
Где всё это правиться?
Где всё это правиться?
плагин на OnDocFormPrerender в нем вносите нужные изменения.
есть какие-нибудь примеры?
вариантов тьма, как простой пример
$script = array();
switch (true) {
case in_array($modx->controller->resourceArray['template'], array(7, 13)):
$script[] = "Ext.getCmp('modx-resource-alias').hide();";
$script[] = "Ext.getCmp('modx-resource-description').setHeight(30);";
$script[] = "Ext.getCmp('modx-resource-description').label.update('Код карты');";
break;
}
$script = implode('', $script);
$modx->controller->addHtml('<script>Ext.onReady(function() {' . $script . '});</script>');
Ок, я поставил плагин, который скрывает элементы через css, но некоторые табы и поля имеют id вида «ext-genХХХ», который разный для разных пользователей, да ещё и периодически сбрасывается.
Не понимаю как воздействовать на них
Не понимаю как воздействовать на них
думаю, надо не через css, а скриптами ext js
думаю, надо не через css, а скриптами ext js
выше пример дали как можно. можно по другому, сразу код extjs подключать. Суть в том, что в исходном коде страницы смотрите id элемента и по этом айдишнику манипулируете.
Можно подключить js файл или скрипт прямо в тело.
Там делаем что хотим.
Например (минишопа нет, пример с обычными вкладками):
Тоже самое можно без подключения отдельного файла.
выше пример дали как можно. можно по другому, сразу код extjs подключать. Суть в том, что в исходном коде страницы смотрите id элемента и по этом айдишнику манипулируете.
Можно подключить js файл или скрипт прямо в тело.
<?php
switch ($modx->event->name) {
case 'OnDocFormPrerender':
$modx->regClientStartupScript(MODX_ASSETS_URL . js/script.js');
break;
}
Путь assets/js/script.jsТам делаем что хотим.
Например (минишопа нет, пример с обычными вкладками):
Ext.onReady(function() {
MODx.addTab("modx-resource-tabs",{title:"Описание",id:"modx-resource-desc"});
MODx.moveTV(["tv16"],"modx-resource-desc");
});
В данном примере добавляем вкладку «Описание» и перемещаем туда tv с id 16.Тоже самое можно без подключения отдельного файла.
<?php
switch ($modx->event->name) {
case 'OnDocFormPrerender':
$modx->controller->addHTML('
<script type="text/javascript">
Ext.onReady(function() {
MODx.addTab("modx-resource-tabs",{title:"Описание",id:"modx-resource-desc"});
MODx.moveTV(["tv16"],"modx-resource-desc");
});
</script>
');
break;
}
Суть в том, что в исходном коде страницы смотрите id элемента и по этом айдишнику манипулируете.
Я не понимаю, как можно манипулировать элементом с динамическим id типа ext-genХХХ, который меняется для разных ресурсов и пользователей.
Или речь идёт о каких-то других id?
del
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.