Владимир
С нами с 21 июня 2017; Место в рейтинге пользователей: #486Исключить удаление директории при очистке кеша
При очистке кэша хочу исключить удаление директории /core/cache/default/login/resetpassword/. Как это лучше реализовать?
mFilter2 фильтр по полям пользователя
В админке есть ресурсы, ресурсы создают разные пользователи. Есть фильтр mFilter2 по этим ресурсам. Один с фильтров это фильтр по стране позователя который создал этот ресурс. Выбрали страну и вывелись все ресурсы пользователей в профиле которых заполнена эта страна. Возможно кто-то сталкивался с такой реализацией, буду благодарен за совет
[miniShop2] Товар состоит из нескольких частей
Товар состоит из 3 частей. При добавление в корзину одна часть товара обязательно добавляется, две другие части товара можно отключить и не добавлять в корзину. Товар на сайте выводится вот так:
Как лучше это реализовать и организовать структуру для такого товара, возможно кто-то сталкивался с чем-то подобным
Как лучше это реализовать и организовать структуру для такого товара, возможно кто-то сталкивался с чем-то подобным
[ExtJS] modx-browser - как отключить создание папки и файла
По клику на кнопку открывается диспетчер файлов Modx, код:
В левом блоке я уже отключил source и видимость папок. Нужно еще отключить возможность создавать папку и файл. Или в принципе отключить всю левую панель, это возможно сделать? Если да, тогда какие параметры прописать
xtype: 'modx-browser',
id: Ext.id(),
multiple: true,
source: orders.config['source'],
openTo: config.record.object.id + '/',
rootId: config.record.object.id + '/',
rootVisible: false,
hideSourceCombo: true
В левом блоке я уже отключил source и видимость папок. Нужно еще отключить возможность создавать папку и файл. Или в принципе отключить всю левую панель, это возможно сделать? Если да, тогда какие параметры прописать
[extJs] Стилизовать xtype: 'modx-combo-browser'
Есть свой компонент и для загрузки файлов использовал modx-combo-browser. Сохранять значение в поле не нужно, нужно только функционал для загрузки файлов(диспетчер файлов), с чем modx-combo-browser отлично справляться. Но выглядит все как поле
Можно это как-то сделать в виде кнопки, вот таких например
Можно это как-то сделать в виде кнопки, вот таких например
Помощь с SQL запросом
Есть 3 таблицы:
clients
ID Name
1 Client 2
senders
ID Name
1 Sender 1
2 Sender 2
client_sender
ID Client Sender
1 1 1
2 1 2
В третьей таблице одному клиенту может принадлежать несколько SENDERов. Задача по id клиента получить названия SENDERов. Как это сделать с помощью нескольких запросов я знаю, но хочется сделать красиво.
Вот то что есть сейчас
clients
ID Name
1 Client 2
senders
ID Name
1 Sender 1
2 Sender 2
client_sender
ID Client Sender
1 1 1
2 1 2
В третьей таблице одному клиенту может принадлежать несколько SENDERов. Задача по id клиента получить названия SENDERов. Как это сделать с помощью нескольких запросов я знаю, но хочется сделать красиво.
Вот то что есть сейчас
$classKey = 'ordersSender';
$c->leftJoin('ordersClientSender', 'Client', '`Client`.`client` = `'.$this->classKey.'`.`id`');
$c->select(array(
'sender' => 'Client.sender'
));
[Ext JS] Разработка компонента: Выгрузка XLS файла
Есть свой компонент, там есть список заказов и сейчас задача сделать выгрузку XLS файла для отдельного заказа. То есть в списке заказов кликаем на ссылку и выгружается файл с информацией только об этом заказе.
Код ссылки:
Код обработчика:
В обработчике я могу получить все необходимые данные для выгрузки. Поэтому вопрос, можно выгрузить XLS файл силами extjs без создания и передачи данных в процессор?
Код ссылки:
{
xtype: 'label',
html: '<button onclick="orders.utils.renderXLS();" class="icon icon-xls" title="' + _('orders_item_button_excel_title') + '"></button>',
}
Код обработчика:
orders.utils.renderXLS = function() {
var orderID = Ext.getCmp('id');
console.log(orderID.getValue());
};
В обработчике я могу получить все необходимые данные для выгрузки. Поэтому вопрос, можно выгрузить XLS файл силами extjs без создания и передачи данных в процессор?
Добавить combobox в форму редактирования пользователя в админке
С добавлением поля практически справился. Создал плагин на события OnUserFormPrerender и OnUserFormSave с кодом:
Два JS файла:
1. Для вывода новой вкладки
2. Для combobox
В результате получилось вот так
Combobox выводится и данные сохраняются, но сделать чтобы после повторного открытия формы в combobox подставлялось уже сохраненное значение не получается.
И еще один вопрос, где подключить лексокон чтобы можно было вывести тексты из кода JS?
<?php
switch($modx->event->name) {
case 'OnUserFormPrerender':
$modx->regClientStartupScript('/assets/components/orders/js/mgr/user_form/combo.js');
$modx->regClientStartupScript('/assets/components/orders/js/mgr/user_form/tab.js');
break;
case 'OnUserFormSave':
$profile = $user->getOne('Profile');
$fields = $profile->get('extended');
$fields['manager'] = $_POST['manager'];
$profile->set('extended', $fields);
$profile->save();
break;
}
Два JS файла:
1. Для вывода новой вкладки
Ext.onReady(function() {
var usertabs = Ext.getCmp('modx-user-tabs');
usertabs.add({
title: 'Модуль Заказы',
layout: 'form',
autoScroll: true,
autoHeight: true,
labelAlign: 'top',
cls: 'main-wrapper',
items: [
{
xtype: 'modx-orders-manager',
name: 'manager',
fieldLabel: 'Менеджер',
width: 176,
}
]
});
});
2. Для combobox
MODx.combo.Manager = function (config) {
config = config || {};
Ext.applyIf(config, {
name: 'manager',
hiddenName: config.name || 'manager',
displayField: 'name',
valueField: 'id',
fields: ['id', 'name'],
pageSize: 9999,
hideMode: 'offsets',
emptyText: ' - ',
url: MODx.config.assets_url+'components/orders/connector.php',
baseParams: {
action: 'mgr/manager/getlist',
sort: 'name',
dir: 'asc',
combo: true,
limit: 9999,
}
});
MODx.combo.Manager.superclass.constructor.call(this, config);
};
Ext.extend(MODx.combo.Manager, MODx.combo.ComboBox);
Ext.reg('modx-orders-manager', MODx.combo.Manager);
В результате получилось вот так
Combobox выводится и данные сохраняются, но сделать чтобы после повторного открытия формы в combobox подставлялось уже сохраненное значение не получается.
И еще один вопрос, где подключить лексокон чтобы можно было вывести тексты из кода JS?
[Ext JS] Разработка компонента: Права доступа к вкладкам
Есть компонент который состоит из нескольких вкладок(табов). Возникла необходимость для пользователя с правами Админ выводить все вкладки, для пользователя с правами Менеджер выводить только некоторые вкладки. Возможно кто-то сталкивался с подобной задачей, в каком направлении двигаться?
Как вариант можно все вкладки вывести в меню и там настроить доступ к каждому пункту, но их более 20 штук и будет не очень удобно, поэтому хотелось бы все через код сделать.
Как вариант можно все вкладки вывести в меню и там настроить доступ к каждому пункту, но их более 20 штук и будет не очень удобно, поэтому хотелось бы все через код сделать.
[Ext JS] Разработка компонента: Зафиксировать заголовки в таблице
Возможно кто-то с таким сталкивался. Есть таблица и нужно чтобы при скролле, названия полей в таблице фиксировались, должно выйти что-то такого плана: