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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
03 октября 2016, 08:49
0
Вывод 5-ти записей через getPage с limit=3. Я не сталкивался с такой проблемой.
Сергей Шлоков
02 октября 2016, 09:53
0
Посмотреть в процессорах права и добавить их в систему в «Настройке доступа». А потом назначить эти права пользователю.
Сергей Шлоков
02 октября 2016, 09:43
0
Если разберусь, прикручу.
Сергей Шлоков
02 октября 2016, 09:07
0
В следующей версии добавлю политики. А пока можно в процессорах закомментировать переменную $permission.
Сергей Шлоков
01 октября 2016, 10:11
1
+2
Как-то так
[[!pdoUsers?
    &tpl=`@INLINE <p>[[+username]] - [[+views]].</p>`
    &loadModels=`sitestatistics`
    &innerJoin=`{
        "UserStat":{"class":"UserStatistics","on":"modUser.id=UserStat.uid"},
        "PageStat":{"class":"PageStatistics","on":"UserStat.user_key=PageStat.user_key"}
    }`
     &select=`{
        "PageStat": "IFNULL(SUM(PageStat.views),0) as views"
    }`
    &groupby=`UserStat.uid`
    &where=`["UserStat.uid = 1 AND PageStat.date BETWEEN '2016-01-01' and '2016-06-31' "]`
]]
В параметре where указывается id пользователя и период.
Сергей Шлоков
01 октября 2016, 09:00
1
0
Вот по extJs modx'а мало что-то доков или я плохо ищу, посоветуешь что нибудь?
Копать исходники. Вот тут есть немного.
Сергей Шлоков
01 октября 2016, 08:57
0
Василий, добавь пожалуйста тег kbd в Jevix для более красивого оформления статей на этом сайте.
Сергей Шлоков
30 сентября 2016, 12:53
+1
Пожалуйста!
В плагине 2 последние строчки конфига можно убрать. Так как res_id можно получить в js. А Trans.config.connector_url дублирует Trans.config.connectorUrl.
Js будет выглядеть так
Trans.grid.Items = function (config) {
    Ext.applyIf(config, {
        url: Trans.config.connectorUrl,
      	*****
        baseParams: {
            action: 'mgr/transitems/getlist',
            res_id: MODx.request.id //id текущего документа
        }, 
	*****
Сергей Шлоков
30 сентября 2016, 11:34
+1
В вызове getlist процессора нужно добавить параметр с id текущего ресурса, а уже в процессоре его ловить. В вашем примере вы в процессоре ловите параметр resource_id
$this->getProperty('resource_id')
А вы его передаёте в процессор?
Сергей Шлоков
30 сентября 2016, 09:14
1
+1
Так и есть. MODx.load() просто создает JS компонент. Его нужно отрисовать — show() или render(). Поэтому и не подключается, указанных полей в разметке ещё нет.
Добавь в свой компонент этот код (после items)
listeners: {
	render: function () {
		MODx.loadRTE("regulations"); // id поля 
		MODx.loadRTE("info"); // id поля 
	}
}
Думаю, всё заведётся.
Сергей Шлоков
30 сентября 2016, 09:01
1
+1
Я думаю, причина в том, что на момент подключения MODx.loadRTE() нет ещё этих полей. Подключать не к чему. Нужно повесить подключение на событие render твоего компонента.
Для эксперимента попробуй подключить через setTimeout
Ext.onReady(function() {
	MODx.load({ xtype: "xtype-страницы компонента"});
	setTimeout(function(){
	      MODx.loadRTE("regulations"); // id поля 
	      MODx.loadRTE("info"); // id поля 
	},5000); // Сработает через 5 секунд
});
Сергей Шлоков
29 сентября 2016, 19:30
0
Вот те раз. Вы разницу между моим кодом и своим первоначальным не видите? Вы в админке выставляете для каждого ресурса свои ТВшки с картинками, а в шаблоне указываете вызов ТВ для всех ресурсов. НА сайте для каждого ресурса выведутся соответствующие картинки.
Ещё можно глянут на ms2Gallery
Сергей Шлоков
29 сентября 2016, 19:17
0
Если я правильно понял задачу, просто пропишите в шаблоне эти ТВшки. Ведь вам нужно вывести картинки текущего ресурса?
<div id="featured"> 
	[[*tv.image1]]
	[[*tv.image2]]
	[[*tv.image3]]
	[[*tv.image4]]
</div> 
<span class="orbit-caption" id="ezioCaption">Текст</span>
<span class="orbit-caption" id="marcusCaption">Текст..</span>
П.С. Названия ТВ укажите свои.
Сергей Шлоков
29 сентября 2016, 19:13
0
Мне кажется в данном случае pdoResources вообще не нужен.
Сергей Шлоков
29 сентября 2016, 13:34
0
Согласен. Под лежачий камень…
Главное, чтобы не получилось как в анекдоте про сову и мышей, которым она посоветовала стать ёжиками.
С амбасадорами как-то не очень вышло.
Сергей Шлоков
29 сентября 2016, 10:48
0
Добавлю в закладки. Пора уже начинать изучать баш скриптинг.
Сергей Шлоков
29 сентября 2016, 10:32
+1
Истинно вам говорю, 4-го мая 1925 года Земля налетит на небесную ось.
© Собачье сердце.

П.С. Надо будет детям теплых вещей прикупить. Сам-то я наверно не доживу.
Сергей Шлоков
29 сентября 2016, 10:13
+2
Т, е. это группа людей, которые будут определять стратегию развития.
На данный момент 3 человека уже несколько лет не могут довести до конца решение с третьей версией MODX. А что ждать от 14 человек? Тем более, на то, чтобы их просто собрать, потребовалось несколько месяцев. Интересно как будет решаться вопрос с шаблонизатором. Марк просто стукнет по столу и скажет, что будет Twig или месяцами/годами этот вопрос будет висеть на повестке?
Главное направление развития, как мне кажется, это соответствие текущему уровню развития технологий и стандартов. Скоро уж и Composer может устареть (как CD диски), а MODX ещё до него не дошёл.
Я так понимаю, что проблема не в выборе стратегии, а в её реализации. Марк где-то писал, что у него просто не хватает времени.

Конечно очень хочется, чтобы это реально выросло во что-то серьезное. Но мне кажется, что это похоже на добавление ещё одного руля в машину, а нужно просто увеличить мощность движка.

Надеюсь, мой пессимизм обусловлен хмурой осенней погодой. ) Но плюса эта новость заслуживает.
Сергей Шлоков
28 сентября 2016, 14:52
1
+3
Признаюсь, я ошибался. Видишь как люди плюсуют твои комментарии. Значит им удобнее твой вариант — пройти все 8 шагов инструкции. А я то по старинке всё готовые дополнения делаю. )
Представь, как твой комментарий приобрёл бы ценность, добавив ты туда пример совершенного кода?
Представь, как мне фиолетово. Судя по комментарию это мне у тебя ещё учится и учится.
П.С. А если серьёзно, то код-то как раз пользователя не волнует. Единицы смотрят под капот. А вот удобство настройки, мне кажется, дело первоочередное. UX forever!
П.П.С. Collections у меня нет, скажу по теме пользователей. Вот такая конструкция
var leftCol = this.items.items[0].items.items[0].items.items[0];
легко заменяется на такую
Ext.getCmp('modx-user-active').ownerCt
И в итоге чекбокс добавить можно так:
$modx->controller->addHtml("
<script type='text/javascript'>
     Ext.ComponentMgr.onAvailable('modx-user-tabs', function() {
          this.on('beforerender', function() {
               var cb = Ext.create({
                     xtype: 'xcheckbox',
                     boxLabel: 'Тестовый чекбокс',
                     description: 'Тестовый чекбокс',
                     name: 'testCheckbox',
                     checked: true
               });
          Ext.getCmp('modx-user-active').ownerCt.insert(0, cb);
         });
     });
</script>
");