• Как в modx rev сделать так, чтобы поиск по сайту учитывал дополнительное поле?

    @alexalexes
    Найдите объект bcPageList (вероятно, в каталоге bcPage). Тут видно, что ему передаются входные Get-параметры и в какие шаблоны оборачивать вывод результата. Скорее всего, в нем есть обработка поиска.
    PS: Возможно, bcPageList используется для штатного вывода контента, и только некоторая часть кода срабатывает на вывод результатов поиска при наличии флага searchable = 1. Поищите в этом объекте условности, связанные с флагом searchable - в этих фрагментах и будет реализован поиск.
  • Как в modx rev сделать так, чтобы поиск по сайту учитывал дополнительное поле?

    @alexalexes
    Во вкладке Ресурсы в том контексте сайта, в котором вы хотите поменять поиск, должен быть элемент с любым названием, но обязательно с псевдонимом search. Возможно, в него вложен еще один ресурс - pages. В коде этого ресурса должно быть прописано, какие сниппеты и чанки он вызывает. В общем, поиск точки входа в функцию поиска надо начинать с этого.
    PS: Что-то нету вкладки Элементы. Ваша роль пользователя modx не ниже чем Manager? Да, для той роли, под которой вы работаете в качестве разработчика, должно быть разрешение "Возможность просмотра дерева элементов в левой навигационной панели".
  • Как убрать щелчки в Html5 audio на android?

    @alexalexes
    Какие параметры аудиофайла используются?
    В частности, интересуют: формат, кодек и тип битрейта (постоянный, переменный).
    Есть подозрение, что после смены скорости браузер тупо обрубает воспроизведение текущего чанка (или фрейма, зависит от терминологии формата файла) и обрабатывает следующий чанк по новым параметрам.
    Хочу поэкспериментировать с разными форматами, ну и попробовать ваш вариант конфигурации аудиофайла.
  • Как вывести много вложений вместе с постами?

    @alexalexes
    Это переменные:
    @post_id - в нее фиксируется предыдущее значение post_id;
    @p_count - а сюда фиксируется порядковый номер выбранного поста для этой выборки (это не идентификатор, а просто порядковый номер).
    Тут задаются начальные значения:
    (SELECT @p_count := 0, @post_id := -1) r
    А тут - переприсваиваются значения при выборке каждой строки:
    @p_count := if(@post_id != p.id, @post_id + 1, @post_id) as p_count,
     @post_id := p.id

    Поведение как в процедурном программировании.
    Считай, что select - это оператор foreach.
    А перечисление атрибутов select-а - это тело цикла.
    Порядок атрибутов тут важен, как и порядок строк внутри обычного цикла foreach.
    PS: Следует обратить внимание на то, если нужно каким-то образом пронумеровать порядок выборки, то следует указывать order by - как сортировать выборку. Иначе получите непредсказуемый результат нумерации.
  • Как в запросе использовать if или другую проверку?

    @alexalexes
    то client.r = user.id

    Вы вывести хотите значение или что-то связать?

    Так-то есть оператор условной выборки:
    SELECT orders, users, .... if(
                                         client.contact = 'phone' and client.r != '',  --условие
                                          user.id, -- берем этот атрибут в случае true
                                          client.r  -- берем этот атрибут в случае false
                                          ) as user_ident
    FROM .....
    WHERE
  • Как вывести много вложений вместе с постами?

    @alexalexes
    Если у вас очень большая выборка получается, то получайте из базы и отдавайте клиенту информацию порциями.
    Например, от известного поста start_post_id (начало будет -1) + определенное количество постов post_count.
    Select *
      from (Select p.id as post_id, p.create_date as p_create_date, p.title as p_title, p.text as p_text,
                   img.id as img_id, img.name as img_name,
                   v.id as v_id, v.name as v_name,
                   @p_count := if(@post_id != p.id, @post_id + 1, @post_id) as p_count,
                   @post_id := p.id
              from posts p
                   left join images img on img.post_id = p.id
                   left join videos v on v.post_id = p.id,
                   (SELECT @p_count := 0, @post_id := -1) r
             where p.id > :start_post_id
               and @p_count <= :post_count
         order by p.create_date 
           ) a
    where a.p_count < :post_count
  • Какие лучше сделать отношения между таблицами?

    @alexalexes
    Перечитайте решение, я сделал некоторые поправки в схему, перечитав ваше задание.
    Расширять ли Воздействие упражнения новыми связями - зависит от ограничений предметной области, как конкретизируете требования. Нужно ли отдельно указывать целевое воздействие на группу мышц или нет.

    PS: тут 4 таблицы, и все они нужны.
  • Как сформировать запрос MySQL?

    @alexalexes
    Да, сгораю на работе, однако.
  • Как сформировать запрос MySQL?

    @alexalexes
    Для решения этой задачи в mySQL нужен более изощренный Max, чем просто Max.
  • Как обновить всплывшую подсказку от атрибута title?

    @alexalexes Автор вопроса
    Я пытался манипулировать display, пробовал уводить из под курсора элемент, манипулируя index, положением элемента, отступами, но отображенная подсказка не менялась.
    Не знал про display: initial, это свойство дает эффект в Chrome, но Firefox 59.0.2 остается при себе.
    IE не знает значение свойства display: initial, ему нужно предложить block или inline и тд.
    С учетом вашего предложения решение будет выглядеть вот так.
    function set_title_data(target)
    {
      if(target.getAttribute('title') === '')
      {
        var ua = window.navigator.userAgent;
        var msie = ua.indexOf("MSIE ") >= 0 || ua.indexOf("Trident/") >= 0 || ua.indexOf("Edge/") >= 0;
        target.setAttribute('title', 'Ждите, идет загрузка данных...');
        setTimeout(function()
        {
          target.setAttribute('title', 'Готово! Данные получены!');
          target.style.display = 'none';
          target.style.display = msie ? 'block' : 'initial';
        }, 2000);
      }
    }
  • Как прочитать текст между тегами HTML на Node.js( cheerio)?

    @alexalexes
    <ul id="fruits">
      <li class="apple">Apple</li>
      <li class="orange">Orange</li>
      <li class="pear">Pear</li>
    </ul>

    $('.apple', '#fruits').text()
    //=> Apple
    
    $('ul .pear').attr('class')
    //=> pear
    
    $('li[class=orange]').html()
    //=> Orange

    Источник. Последний пример выводит содержимое тега <li class="orange">Orange</li>.
    Есть альтернативный метод text().

    PS: Cheerio's selector implementation is nearly identical to jQuery's, so the API is very similar.
    Собственно, знаете Jquery - считай, дефакто, знаете cheerio.
  • Как вычислить градус поворота между точками?

    @alexalexes
    Это для плоской поверхности годится, или если расстояние между точками пару градусов.
    Для шарообразной поверхности нужны другие формулы (из соображения теоремы Лобачевского).
    Могу найти их, но чуть позже.
  • Как исправить размытый текст в Windows Forms?

    @alexalexes
    https://answers.microsoft.com/ru-ru/windows/forum/...
    "Дополнительные параметры экрана" -> "Дополнительные изменения размера текста и других элементов"
    В этом окне можно изменить размер шрифта только определенных элементов.
    В проектах Visual Studio лучше отдельно подбирать шрифты под свои потребности.
  • Как исправить размытый текст в Windows Forms?

    @alexalexes
    Разрешение экрана, выдаваемое видеокартой, совпадает с разрешением матрицы?
    Еще момент. Если сигнал к монитору подается через аналоговый канал, то на мониторе еще нужно запустить опцию автоподстройки изображения. Иногда есть такое влияние.

    Если ничего не помогло, то остается винить на наборы шрифтов, которые установлены в ОС.
  • Как получить индекс массива внутри массива во Vue.js?

    @alexalexes
    my_array[ИНДЕКС_МАССИВА] тоже самое, что и item.
    item можно не только брать, но и модифицировать в цикле перебора.
    Нельзя только удалять или дополнять массив новыми элементами, пока он перебирается.
  • Как получить индекс массива внутри массива во Vue.js?

    @alexalexes
    Борис Манжела, объекты лежат в массиве, перебери их и модифицируй каждый объект.
    var my_array =
    [
      {
        data: 'первое'
      },
      {
        data: 'второе'
      },
      {
        data: 'третье'
      }
    ];
    
    my_array.forEach(function(item, i, arr)
    {
      item.operation = 5 * i;
    });
  • Управление Ajax-запросами?

    @alexalexes
    Как вы реализуете реакцию на изменение чекбоксов?
    Приведите пример кода.

    Проблема в том, что все запросы происходят параллельно, и когда быстро меняешь фильтры, то запросы отправляются одновременно

    JS - однопоточный, по крайней мере, тот что в браузере. Асинхронно обработчики событий могут выполняться, параллельно - никогда.
  • Запрос периода времени в течение дня?

    @alexalexes
    Правильно составленный SQL-запрос поможет избежать велосипедов на постобработке, уменьшить количество ненужных операций и циклов, поскольку СУБД имеет в себе оптимизационные алгоритмы, подключаемые по контексту данных и структуре запроса (см. термин "план выполнения запроса").
    А если часто используемые запросы помещать в объекты СУБД, такие как хранимые функции, процедуры и представления (view), то можно получить единый API уже в СУБД. В этом случае логика скриптов серверного приложения и клиентское приложение будут достаточно тонки и легковесны, а самое главное, легки в сопровождении разработчиками.
  • Запрос периода времени в течение дня?

    @alexalexes
    Естественно, не будет работать.
    Так как я сделал набросок решения, чтобы оставить место для вашего творчества.
    Запись после where, конечно же, должна образовывать валидное логическое выражение.
    Примеры, которые я вам дал, нужно трактовать так:
    Можно ограничение сделать такое:
    where
    -- отбрасывание из выборки событий между 9 и 10 часами
           TIME_TO_SEC(a.event_date) < TIME_TO_SEC('09:00:00') 
    and TIME_TO_SEC(a.event_date) > TIME_TO_SEC('10:00:00')

    Может такое:
    where
    -- исключение определенного перечня интервалов
     a.full_interval_number not in (0, 3, 7, 15)

    Или такое:
    where
    -- включить в выборку только интервалы  1 <  full_interval_number < 10
           a.full_interval_number > 1
    and a.full_interval_number < 10

    Если вы хотите еще что-то, например, соединить что-то из выше представленного, то:
    where
    -- исключение определенного перечня интервалов
     a.full_interval_number not in (0, 3, 7, 15)
    
    -- отбрасывание из выборки событий между 9 и 10 часами
    and TIME_TO_SEC(a.event_date) < TIME_TO_SEC('09:00:00') 
    and TIME_TO_SEC(a.event_date) > TIME_TO_SEC('10:00:00')

    Обратите внимание, как составляют логические выражения. Для соединения используется OR или AND, есть еще NOT. Видеть эти выражения и манипулировать ими - это основное занятие программиста, жалко, что вы просто копируете решения.
  • Запрос периода времени в течение дня?

    @alexalexes
    Оборачиваете в еще один select запрос и пишите любые ограничения в Where.
    select * from 
    (
     -- подзапрос интервалов
    ) a
    where
    -- отбрасывание из выборки событий между 9 и 10 часами
           TIME_TO_SEC(a.event_date) < TIME_TO_SEC('09:00:00') 
    and TIME_TO_SEC(a.event_date) > TIME_TO_SEC('10:00:00') 
    
    -- исключение определенного перечня интервалов
     a.full_interval_number not in (0, 3, 7, 15)
    
    -- включить в выборку только интервалы  1 <  full_interval_number < 10
           a.full_interval_number > 1
    and a.full_interval_number < 10