Fi1osof

Fi1osof

С нами с 05 мая 2014; Место в рейтинге пользователей: #10
Fi1osof
11 августа 2017, 15:32
0
Проект опенсурс или как?
Fi1osof
11 августа 2017, 15:30
0
Вот и я смотрю в сторону ансибла. Раньше еще барьер в плане панели был, так как я фронтом практически не занимался, но сейчас я погрузился в JS с головой, так что рано или поздно панель точно появится.
Fi1osof
11 августа 2017, 15:22
0
Тема еще живая, но широкого распространения не получила, по большей степени из-за отсутствия панели для администрирования, хотя для некоторых клиентов нами настроены выделенные сервера на этой базе.
Fi1osof
10 августа 2017, 22:26
0
1 = 1 AND вводилось для обхода проверки xPDO на метод FIND_IN_SET (раньше он его не знал и обламывал, не знаю как он сейчас на него реагирует. Если положительно, то можно 1=1 и не писать).

можно (правильней) написать
«FIND_IN_SET('Москва', from_city) > 0»
Тогда уж и вовсе «FIND_IN_SET('Москва', from_city)», так как результат этой функции проверяется на true|false.
Fi1osof
10 августа 2017, 18:56
0
AND FIND_IN_SET('[[*id]]', работать не будет, так как это MODX-плейсхолдер, а не конечное значение. Формируя таким образом запрос, вы в БД ищете не id текущего документа, а конкретно строчное значение '[[*id]]'.
Надо так:
[«1 = 1 AND FIND_IN_SET({$modx->resource->id}, replace(categories, '||', ','))»]
или
[«1 = 1 AND FIND_IN_SET({$modx->getPlaceholder('id')}, replace(categories, '||', ','))»]
Это если в сниппете. Если вы в феном или еще где-то пишете, может чуть отличаться синтаксис, но смысл, думаю, вы уловили.
Fi1osof
09 июля 2017, 20:09
+5
Да, действительно не так сделал. Сорян. Но лучше бы сделал так… Уточняю минус в чем: при таком подходе ты переписываешь чистый MODX-овый исходник. А если на него еще что-то навешено сторонним плагином (или не одним). Ты тогда просто перетираешь эти изменения. Собственно, по этой причине я и искал решение, которое по возможности не перетирало бы сторонние изменения. Вот листинг:
var _prototype = Ext.ComponentMgr.types['modx-grid-user'];

UserKarmaGrid = function(config) {
    this.sm = new Ext.grid.CheckboxSelectionModel();
    Ext.applyIf(config,{
        fields: ['id','username','fullname','email','gender','blocked','role','active','cls', 'userkarma']
        ,sm: this.sm
        ,columns: [this.sm,{
            header: _('id')
            ,dataIndex: 'id'
            ,width: 50
            ,sortable: true
        },{
            header: _('name')
            ,dataIndex: 'username'
            ,width: 150
            ,sortable: true
            ,renderer: function(value, p, record){
                return String.format('<a href="?a=security/user/update&id={0}" title="{1}" class="x-grid-link">{2}</a>', record.id, _('user_update'), Ext.util.Format.htmlEncode( value ) );
            }
        },{
            header: _('user_full_name')
            ,dataIndex: 'fullname'
            ,width: 180
            ,sortable: true
            ,editor: { xtype: 'textfield' }
            ,renderer: Ext.util.Format.htmlEncode
        },{
            header: _('email')
            ,dataIndex: 'email'
            ,width: 180
            ,sortable: true
            ,editor: { xtype: 'textfield' }
        },{
            header: _('active')
            ,dataIndex: 'active'
            ,width: 80
            ,sortable: true
            ,editor: { xtype: 'combo-boolean', renderer: 'boolean' }
        },{
            header: _('user_block')
            ,dataIndex: 'blocked'
            ,width: 80
            ,sortable: true
            ,editor: { xtype: 'combo-boolean', renderer: 'boolean' }
        },{
            header: 'Карма'
            ,dataIndex: 'userkarma'
            ,sortable: true
            ,editor: { xtype: 'numberfield'}
        }]
    });
    UserKarmaGrid.superclass.constructor.call(this,config);
};
Ext.extend(UserKarmaGrid,_prototype,{});
Ext.reg('modx-grid-user',UserKarmaGrid);
Вот такой с таким подходом одновременно на странице уживаются и userKarma, и switchUser.
Попробуй своим способом дописать еще один чуть измененный плагин. Смогут они вместе сосуществовать на одной странице?
Fi1osof
09 июля 2017, 19:52
-6
Что-то типа «вот увидел такой-то прием и решил его развить». Или хочешь сказать, что сам допер до такого метода расширения объекта и нигде ранее не видел?
Fi1osof
09 июля 2017, 13:18
-6
Главное уметь пользоваться «методом тыка» понимать принцип того, что делаешь.
Ну и не забывать смотреть чужие примеры. Можно было вскольз и упомянуть.
Fi1osof
19 июня 2017, 22:14
0
Владимир, давайте не будем лезть в дебри. Вы же всех обстоятельств не знаете? Я встал сегодня в два часа ночи и еще не ложился, мне надо еще кое-какие дела доделать. Вместо этого я сижу с вами что-то обсуждаю. Плюс к этому пишу хоть какую-то новость, чтобы заранее предупредить тех, кто еще не дал мне денег. В чем проблема? Вы считаете, что я дальше должен набирать себе тех, кто потом пишет по 10 писем в поддержку за 1000 рублей в год?
Сорри, тема закрыта. Повторюсь, кто успел приобрести компоненты, в поддержке отказано не будет.
Fi1osof
19 июня 2017, 22:01
0
Это интернет. Тут многое развивается слишком стремительно.
Fi1osof
19 июня 2017, 11:53
0
Ничего кроме «Что-то пошло не так» я не могу сказать, для этого надо смотреть проект.
Fi1osof
19 июня 2017, 11:52
0
Данные строки прописаны конкретно для разбора XML-а из XLSX-файлов. То есть сначала эвселевский файл распаковывается как обычный архив, потом читается файл с данными (путь всегда один). Если вы именно этот механизм пытаетесь использовать для чего-то другого, скорее всего он не будет работать как надо.
Fi1osof
23 мая 2017, 02:20
0
Create new template for example name it index, check 'Is Static' and name indexController.php.
In Template code (html) put this code:
return $modx->twig->render('index.twig');
Судя по всему, автор компонента использовал наш phpTemplates. Он как раз и позволяет превратить статические MODX-шаблоны в исполняемые php-файлы. Кстати, давно уже не требуется для этого тип документа менять, modDocument тоже нормально отработает.
Fi1osof
22 мая 2017, 13:49
0
Да, рабочая, но изначально там было нарушение рекларации, и сейчас просто так это не поправить (есть зависимый функционал).
Позже переделаю, а пока скорее всего поможет в начале своего расширяющего процессора прописать ini_set(«display_errors», 0); или типа того, чтобы подавить ошибки.
Fi1osof
11 мая 2017, 14:46
0
А что, Migx/Migx DB тебе не подходит? Или тебе важно именно хранить данные эти в допколонке самой таблицы документа? Множественный выбор хранить в одной записи не круто, потом ни выборки нормальные сделать, ничего. Можно только будет получить данные на уровне самого php.