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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
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>
");
Сергей Шлоков
28 сентября 2016, 10:33
0
Каждый человек — загадка, мир, вселенная. В философском смысле. А в профессиональном Илья на высокой ступени иерархии. Тут нет никакой загадки. Для меня по крайней мере.
кому вопросы то
Какие вопросы? Согласен, коллега? Это риторический вопрос, не требующий ответа. ;)
А всё остальное — просто брюзжание немолодого человека юных лет про то, что мне не хватает для кайфа. )
Сергей Шлоков
28 сентября 2016, 10:19
+1
Создаются объекты, которые потом можно бронировать. Поэтому вам вряд ли подойдет этот компонент.
Сергей Шлоков
28 сентября 2016, 09:52
+3
Позволю себе побрюзжать немного :)
1. Людям не знакомым с Collections (как я например) из описания совершенно не понятно, что и для чего. Нужно лезть в инструкцию, чтобы понять, что добавляются пункты контекстного меню.
2. Ну и зачем всё это писать, если можно выложить на гитхаб уже готовое решение с очень маленькой инструкцией по кастомизации — где и что изменить в заготовке под себя. А в такой простыне кода даже мне страшно разбираться.
Это два, как мне кажется, упущения.
Ну а по мелочи… Думаю, такие вещи как
this.topToolbar.items.items[0].items.items[1];
и
var color = 'white';
if (value == 1) {
    color = 'red';
} else if (value == 2) {
    color = 'green';
} else if (value == 3) {
    color = 'grey';
}
и
if (!$this->checkPermissions()) {
     return $this->failure($this->modx->lexicon('access_denied'));
}
со временем трансформируются во что-то более совершенное. :)
Согласен, коллега?
Сергей Шлоков
27 сентября 2016, 19:41
+1
Можно ли кастомизировать мне будет собственными силами ваш модуль под создание мероприятий
Всё зависит от задач. Модуль всё-таки создан для бронирования. Можно забронировать столик, комнату, зал, беседку для проведения мероприятия. А как бронировать мероприятия?
Сергей Шлоков
27 сентября 2016, 08:44
0
Какие-нибудь новости есть?
Сергей Шлоков
25 сентября 2016, 20:04
+1
В следующей версии планирую добавить сочетание клавиш для вызова чанка по выделению. Это решит вашу задачу. Многие уже просят.
Сергей Шлоков
23 сентября 2016, 13:54
0
Имел ввиду кэшируемый плейсхолдер. Думаю, ты понял :)
Сергей Шлоков
23 сентября 2016, 13:37
0
Конечно, но только первый раз. Потом значение закэшируется.
Сергей Шлоков
23 сентября 2016, 13:25
1
+1
Не так. Любые плейсхолдеры откладываются. По-умолчанию парсер делает 10 циклов. На первом цикле не нашел, отложил на второй цикл и т.д. А вот с фильтрами ситуация другая. Парсер на первом же цикле проверит его и вернет соответствующее значение из then или else. Вот почему в данном топике не работало. Так как на втором цикле этого плейсхолдера уже нет, вместо него значение «false».
П.С. А кэшированные плейсхолдеры сработают только первый раз.
Сергей Шлоков
23 сентября 2016, 13:20
0
Попробуй вызвать на странице сначала плейсхолдер, а потом сниппет его выставляющий:
[[!+test]]
[[!setPlsTest]]
А в сниппете просто выставить плейсхолдер test
$modx->setPlaceholder(test','Тестовое значение');
Удивился?
Сергей Шлоков
23 сентября 2016, 12:50
0
а не откладывается в сторону с мыслями «Вдруг когда-нибудь его выставят».
На самом деле откладывается :)
Сергей Шлоков
22 сентября 2016, 22:43
0
А тикет создается под учётной записью с id=1?
Сергей Шлоков
22 сентября 2016, 22:34
0
Если отправить этот плейсхолдер в сниппет
Это как?
Специально ваш попробовал код из топика. Всё работает.


Сергей Шлоков
22 сентября 2016, 22:26
0
Тем кто указан в настройке tickets.mail_bcc
Сергей Шлоков
22 сентября 2016, 19:03
1
0
Во-первый, лучше использовать событие «OnDocFormSave», так как может возникнуть ситуация, когда тикет не сохранится (по ошибке или кто отменит в плагине). А уведомление о тикете отправится в любом случае.
Во-вторых, есть смысл использовать настройки и чанки Tickets.
if ($modx->event->name == 'OnDocFormSave' && $resource->class_key = 'Ticket') {
    $Tickets = $modx->getService('tickets', 'Tickets', $modx->getOption('tickets.core_path', null, $modx->getOption('core_path') . 'components/tickets/') . 'model/tickets/', $scriptProperties);
    $ticket = $resource->toArray();
    $Tickets->sendTicketMails($ticket);
}
П.С. Не тестировал.
Сергей Шлоков
22 сентября 2016, 18:33
+1
Дорогие друзья! Напоминаю, что при использование кэшированного плейсхолдера фильтр отработает только один раз. В следующий раз на странице будет выводится уже закэшированное значение. Для плейсхолдеров с фильтрами используйте "!".
[[!+topic_bar_cat:is=`1`:then=`true`:else=`false`]]
Сергей Шлоков
13 сентября 2016, 11:09
0
А не проще в модалке скопировать код чанка. Затем прямо тут же в коде написать тег нового чанка, выделить его и нажать Ctrl+Enter (главное не забыть удалить его потом или не сохранять чанк). В открывшемся окне нового чанка вставить код и сохранить.
Сергей Шлоков
12 сентября 2016, 08:06
0
Тема закрыта.