Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
02 ноября 2015, 22:36
+7
Честно говоря, мои статьи рассчитаны на новичков MODX. Но уж если такого уровня людям интересно, готов продолжить.
П.С. Дело не в благодарностях. Просто я поддерживаю хорошую традицию, начатую Василием, делится опытом. Пусть этот опыт пока не большой, но все же может кому-то пригодится. А если это не интересно никому, то какой смысл тратить время.
Мою степень знаний ExtJs можно отследить по моим дополнениям. Начинал с elementNote, а сейчас дошел до adminTools с панелью задач, чтобы можно было переключаться между окнами. Мне пока самому интересно. :)
Сергей Шлоков
02 ноября 2015, 07:56
0
А можно более привычно
var p = Ext.create({
	xtype: 'panel',
	renderTo: "id" 
	,items: [{
		// xtype объекта base.panel.Home
		xtype: 'base-panel-home'
		,id: 'id объекта'
		// перечень других свойств
	}]
});
Сергей Шлоков
31 октября 2015, 22:38
0
Объясните мне, неграмотному, а чего с ним делать дальше?
Сергей Шлоков
31 октября 2015, 11:14
0
Выглядит интересно. Плюсанул. Дальше можно предлагать темы за небольшие денежки.
Сергей Шлоков
31 октября 2015, 08:31
+3
Облизываясь, ждём новых улучшений… )))
Вот что будет в следующей серии —
Кто не заметил, присмотритесь ко второй строчке сверху. Это похоже на панель.
К сожалению, как хотел не получается. Полноценную страницу можно открыть только одну. Остальные только для быстрого редактирования. А так как они не очень функциональные, нужно их заменить. Вот такие планы.
Сергей Шлоков
30 октября 2015, 18:43
0
Так вот, вызвать модальное окно можно не только из меню дерева ресурсов, но и в других модулях, к примеру.
И где еще оно используется? Мне кажется им даже в дереве редко кто пользуется, не то что где-то еще. Поэтому оно такое ущербное и не завязано на общий механизм.
А в предложенном выше хаке я предлагаю менять не само окно, а метод дерева, которое вызывает окно. Так что это изменение никак не повлияет на возможность вызова этого окна где-то ещё и ничего не поломает.
Сергей Шлоков
30 октября 2015, 15:12
0
Берешь сниппет getComments, который выводит комментарии, указываешь ему нужный parents и ограничиваешь нужным количеством записей через limit. А сортировкой определяешь — первые или последние нужно выводить.
Сергей Шлоков
30 октября 2015, 13:09
+3
Да не переживай. Никто не будет тут хулиганить и писать, что он ел на завтрак и ужин. Тут атмосфера другая. А все пугливые новички уже давно разбежались, еще до моих постов. :))
Ты создал ресурс для модиксеров и наполнил его особенной энергетикой. И он уже живет своей жизнью. :)
Сергей Шлоков
30 октября 2015, 12:53
+1
Не знаю, зачем Николай наводит ужас — … не комильфо… вклиниваться в редакторы… В случае именно быстрого создания ресурса все очень просто. Действительно, как писал Николай, MODx не запрашивает данные с сервера, а просто открывает окно. Всего то нужно это поправить — вызывай окно в ajax запросе (как в случае быстрого редактирования), который вернет нужный шаблон из твоего процессора. Вот и все. Причем здесь редакторы, не понимаю. Надо к Николаю на курсы записаться, что-ли. :)
Или второй вариант. Сохраняй шаблон в javascript переменной при загрузке дерева, используя плагин. А потом в своей функции (пример которой я давал выше) просто зачитывай эту переменную. Так можно обойтись без процессора и ajax.
Сергей Шлоков
30 октября 2015, 09:41
+1
Лучше, конечно скопировать оригинал, потому что тут Jevix хулиганит — вместо function( r ) пишет function®.
По поводу курсов… Я начал разбирать ExtJs летом. Мой уровень — уверенный новичек. Что я могу предложить? Только базис и только для начинающих.
Сергей Шлоков
30 октября 2015, 09:10
0
Да, немного накосячил. Исправленная версия уже доступна в магазине. Если сразу не заработает, то нужно удалить удалить все из папки /core/cache/admintools/favorite_elements/ и завершить все сеансы, чтобы убить сессию.
Сергей Шлоков
29 октября 2015, 19:38
1
+2
Правильно Иван пишет. Нужно перехватывать через javascript. Самый просто вариант, переопределить эти функции дерева. Создаешь js файл.
Ext.onReady(function () {
   var tree = Ext.getCmp('modx-tree-resource');
  // Это стандартная функция из файла modx.tree.resource.js
   tree.quickUpdate = function(itm,e,cls){
   MODx.Ajax.request({
            url: MODx.config.connector_url
            ,params: {
                action: 'resource/get'
                ,id: this.cm.activeNode.attributes.pk
            }
            ,listeners: {
                'success': {fn:function® {
                    var pr = r.object;
                    pr.class_key = cls;

                    var w = MODx.load({
                        xtype: 'modx-window-quick-update-modResource'
                        ,record: pr
                        ,listeners: {
                            'success':{fn:function® {
                                this.refreshNode(this.cm.activeNode.id);
                                var newTitle = '<span dir="ltr">' + r.f.findField('pagetitle').getValue() + ' (' + w.record.id + ')</span>';
                                w.setTitle(w.title.replace(/<span.*\/span>/, newTitle));
                            },scope:this}
                            ,'hide':{fn:function() {this.destroy();}}
                        }
                    });
                    w.title += ': <span dir="ltr">' + w.record.pagetitle + ' ('+ w.record.id + ')</span>';
                    w.setValues(r.object);
                    w.show(e.target,function() {
                        Ext.isSafari ? w.setPosition(null,30) : w.center();
                    },this);
                },scope:this}
            }
        });
}
Подключаешь его в плагине на событие OnManagerPageBeforeRender. Тут же и быстрое создание переопределить.
Добавляй сюда нужный код. Например, можно переопределить процессор на свой и там делай что надо. Все зависит от задачи.
Сергей Шлоков
29 октября 2015, 18:47
0
Думал про это. Но так как уже есть такой компонент (versionX), то решил, что это будет лишним.
Сергей Шлоков
29 октября 2015, 18:45
0
Да, я водолей.
Водолей водолея видит издалека. :)
Сергей Шлоков
29 октября 2015, 18:06
+6
Если будем продолжать в том же духе, и все авторы начнут писать свои анонсы на 2 абзаца, то у нас здесь получится свой маленький твиттер на главной странице.
Ну если эти два абзаца очень важные, то почему бы и не написать. Разве у меня эти 3 поста про одно и тоже? Соглашусь, что писать отдельный пост о перекрашенной кнопке или лишнем столбике в таблице глубо. Но тут я такого пока не встречал. А свой твиттер у нас и так есть — прямой эфир называется. :)

Заходит новый человек и видит 5 постов про pdoTools, 3 про Tickets и еще 2 про AdminTools. Офигивает, и уходит.
Наверно, очень важно думать о каком-то гипотетическом новом посетителе, который увидев 3 поста про один компонент, убежал. Это очень важный посетитель. А у остальных 1000 постоянных пользователей приоритет видимо нулевой. Честно говоря, я сомневаюсь, что новый человек бросится читать все посты на главной. Он первым делом полезет в поиск узнать как ему перенести сайт на хостинг или еще что-то типа того. Мне кажется, что лучше опираться на интересы постоянных членов сообщества.

Придётся мне тогда включать вывод только топиков с рейтингом +5, например. Так будет всем удобнее, да?
Не горячись. Ты уже придумал такой инструмент — «Лучшие», «Популярные». Все-таки новички больше предпочтения отдадут активному сообществу.

Вот тебе другой пример, про новую версию.
Ты меня не понял. Я имел ввиду, что ты обновил топик про тоже самое, просто версия патча изменилась. Я как правило не пишу новые посты при изменении версии патча, обновляю старый пост или пишу в комментариях. Пишу только если меняется минорная (не всегда) или мажорная версия. А приведенный тобою пример про Tickets версий 1.6.0-beta, 1.6.0-rc и 1.6.1-pl показывает, что ты написал отдельные топики для каждого изменения номера патча. А если открыть вот эту страничку, то мы увидим на ней как раз эти 3 твоих поста. Как думаешь, напугало это кого-нибудь? В данном случае ты не последователен в своих претензиях. Собственно, не вижу причин спорить. Ведь главное, чтобы было удобно людям. Некоторые тут пишут, что это неплохо. Я тоже так считаю. Peace.

Сергей Шлоков
29 октября 2015, 13:22
+2
И для одного разработчика тоже должно быть удобно. Редакторах можно отрыть несколько элементов на вкладках и переключатся между ними. А в MODX нет. Поэтому при разработке можно как бы «переключаться» между рабочими элементами.
Сергей Шлоков
29 октября 2015, 12:28
+10
Думаю, что на ближайшее время это последняя новость про AdminTools.
А твой пример про новые версии патчей. Ты же не написал про версию 2.1.0 «Улучшение фенома» в заметке «pdoTools 2.0.0 c феномом». Я тоже пишу про патчи в старых заметках.
Может лучше дописывать одну заметку, учитывая, что новостей тут на 2 абзаца?
Ну если бы я знал, что тут такое правило, то так бы и сделал. А так как функционал абсолютно новый, то мне кажется, было правильно пользователей отдельно. Не знаю как другие, но лично я не перечитываю старые заметки, только если там нужные инструкции.
но на главной странице 3 (три!) анонса AdminTools
Я, честно говоря, не вижу никаких проблем в этом. Структура компонента такая, так же как и pdoTools. Но если ты требуешь, будем делать как велено.
Сергей Шлоков
28 октября 2015, 12:59
+1
Не могли бы вы занести данное предложение в сюда (без кода).