Павел Гвоздь

Павел Гвоздь

С нами с 31 мая 2015; Место в рейтинге пользователей: #2
Павел Гвоздь
01 декабря 2016, 10:54
0
Воспроизвести удалось. Но если на то пошло, то имея доступ к запуску процессора и правки плагинов, можно и через MODX API так же авторизовать себя под любым юзером без пароля, в т.ч. и под админом.
Павел Гвоздь
01 декабря 2016, 10:44
+1
Раз в 17 было больше вчера :)
Павел Гвоздь
01 декабря 2016, 10:42
0
Николай, до меня не доходит. А как туда попадает false в кавычках?
Павел Гвоздь
01 декабря 2016, 10:39
+1

Кто украл то?) На днях, как будто, было больше.
Павел Гвоздь
01 декабря 2016, 10:28
0
Создайте у себя плагин на событие OnWebAuthentication и пропишите в нем $modx->event->_output = 'false';
False, наверное, без кавычек?

Ночью пытался воспроизвести на чистом MODX 2.5.2 — не удалось.
Павел Гвоздь
30 ноября 2016, 10:56
0
Так компонент намерен расширяться до универсального парсера, поэтому и парсинг HTML в скором времени будет функционировать.
Если интересно заиметь те функции, о которых говорите в посте — пишите в скайп. Обсудим.
Павел Гвоздь
29 ноября 2016, 02:50
+1
Думаю, что modstore не станет изменять традициям и под Новый Год скидки будут, как и в прошлом году. :)
Павел Гвоздь
29 ноября 2016, 02:47
+1
XML есть итак, ибо RSS = XML. JSON будет.
Павел Гвоздь
28 ноября 2016, 21:15
+2
Имеется ввиду, что надо сделать экранирование MODX тегов в тексте, полученном из RSS ленты?
Павел Гвоздь
04 ноября 2016, 18:52
0
Не ясен вопрос, опишите конкретнее.
Павел Гвоздь
04 ноября 2016, 18:51
0
1) Может быть это из-за Винды?

2) Добавить параметр where и исключить текущий ресурс там:
&where=`{"id:!=":"[[*id]]"}`
Павел Гвоздь
04 ноября 2016, 01:17
+3
И не сработает… Тут parent из объекта msResourceFile, а там он содержит в себе ID миниатюрок. Ты верно указал parent = 0 в where. Тебе надо с resource_id работать.

Я вижу это так:

  1. Сначала получаем id дочерних ресурсов, из которых будем дёргать изображения. Можно сделать это с помощью pdoResources и параметра return = ids. Но я предлагаю пойти другим путём. В Fenom в объекте $_modx есть замечательный метод — getChildIds, который, к сожалению, в документации по Fenom в pdoTools не описан. Используя его, мы можем получить массив id дочерних ресурсов без лишних обращений к базе, т.к. данный метод работает с картой ресурсов. Это делается следующим образом:
    {var $childs = $_modx->getChildIds($_modx->resource.id, 1, ['context' => $_modx->context.key])}
    Вторым параметром в методе передаётся глубина поиска. Поэтому, если у тебя, помимо одного уровня вложенности, есть дочерние ресурсы, находящиеся глубже, то укажи не 1, а что-нибудь повыше.

  2. Передаём массив $childs в параметр where при вызове сниппета. Будет примерно так:
    {if $childs?}
        {'!pdoPage' | snippet : [
            ...
            'where' => [
                'msResourceFile.parent' => 0,
                'msResourceFile.resource_id:IN' => $childs,
                'msResourceFile.active' => 1,
            ]
            ...
        ]}
    {/if}
    Я намеренно заменил JSON на массив, т.к. не люблю использовать JSON, когда можно сделать тоже самое массивом.
Павел Гвоздь
03 ноября 2016, 23:01
+2
Они выводятся для одного ресурса, т.к. ты делаешь выборку для одного ресурса — для текущего:
{"parent":0,"resource_id":'~ $_modx->resource.id ~',"active":1}

Опиши подробнее, какова структура дерева ресурсов, там где хранятся изображения и, на примере описанной структуры, из каких ресурсов нужно вывести их?
Павел Гвоздь
03 ноября 2016, 21:09
+10
Вопросы по пакету:

1) В чём существенное отличие от debugParser? В том, что modMonitor сохраняет всё это дело в базу?

2) Если modMonitor сохраняет все данные в базу, а посещений за день может быть и по 100к, не раздует ли базу до нереальных размеров?
Павел Гвоздь
02 ноября 2016, 20:49
+1
Можно и на Феном, и на нативе…
Павел Гвоздь
02 ноября 2016, 20:36
1
+4
Ну, если уж решать эту задачу на JS + jQuery, то корректное решение будет примерно таким:
$(document).ready(function() {
  var $elements = $('span.ratingcount');
  if ($elements.length) {
    $elements.each(function(idx, element) {
      var $element = $(element);
      if (parseInt($element.text()) > 0) {
        $element.addClass("green");
      } else {
        $element.addClass("red");
      }
    });
  }
});
Павел Гвоздь
31 октября 2016, 12:26
+10
Этот «лайфхак» мне ещё со школы помнится, благодаря нашему преподавателю русского языка, дай Бог ей долгих и счастливых лет жизни!