Вопросы

Синхронизация сайта и форума smf

Здравствуйте.
У меня есть сайт на modx, я успешно установил себе форум smf, поставил в modx пакет smf, при установке оставил путь {base_path}forum/ и я так понял, он правильный, никакой ругани не было. На всякий случай перезагружаюсь и ничего. В списке пользователей на форуме есть только один администратор, хотя у сайта пользователей масса. Ну и при регистрации нового пользователя на сайте он не появляется на форуме.
Я что-то не правильно понял/сделал, нужно что-то ещё?
Andrey
03 июля 2020, 11:27
modx.pro
1 781
0

Выборка товаров в диапазоне цен "от и до"

Добрый день!

Подскажите, пожалуйста, кто сталкивался с необходимостью в какой-то вывода товаров Minishop2 в диапазоне цен?
К примеру, есть обычные категории, в которых товары прикреплены «физически»:
•‎ столы
•‎ стулья
•‎ диваны

и есть несколько категорий со всеми товарами, к примеру, с ценой от «1500 до 2990», от «3000 до 4990». Вручную прилинковывать туда товары смысла не вижу, думаю, что логичнее и проще будет сделать шаблон с двумя ТВ-переменными: minprice и maxprice. А в самом шаблоне вывести msProduct с параметром Where
И вроде по логике схема рабочая, и даже товары выдает, но выводит их все, без учета условия по цене.
[[!pdoPage?
        &element=`msProducts`
        &parents=`13`
        &level=`3`
        &limit=`[[++goods-in-page]]`
        &includeThumbs=`medium`
        &ajaxMode=`default`
        &sortby=`Data.price`
        &sortdir=`asc` 
        &where=`{ "Data.price">= 1500,"Data.price"<= 2990 }`
        &tpl=`tpl.msProducts.row2`
        &tplPageFirst=`@INLINE <li class="control"><a href="[[+href]]">Первая</a></li>`
        &tplPageLast=`@INLINE <li class="control"><a href="[[+href]]">Последняя</a></li>`
    ]]
    
    <div class="clearfix mt30"></div>
    <div class="mt10 mb10"> </div>
    [[!+page.nav]]
Первый пример просто выводит все товары, а второй — чистую страницу
[[!pdoPage?
        &element=`msProducts`
        &parents=`13`
        &level=`3`
        &limit=`[[++goods-in-page]]`
        &includeThumbs=`medium`
        &ajaxMode=`default`
        &sortby=`Data.price`
        &sortdir=`asc` 
        &where=`{ "Data.price">= [[+tv.minprice]],"Data.price"<= [[+tv.maxprice]] }`
        &tpl=`tpl.msProducts.row2`
        &tplPageFirst=`@INLINE <li class="control"><a href="[[+href]]">Первая</a></li>`
        &tplPageLast=`@INLINE <li class="control"><a href="[[+href]]">Последняя</a></li>`
    ]]
    
    <div class="clearfix mt30"></div>
    <div class="mt10 mb10"> </div>
    [[!+page.nav]]
Подскажите, пожалуйста, в чем мог ошибиться
Николай
03 июля 2020, 08:10
modx.pro
1 418
0

Почему в pdoPage при переходе на другую страницу новостей сбрасывается контекст? Как это исправить?

Есть страница с новостями. На ней есть pdoPage. Вот вызов:
[[!pdoPage?
    &elementClass=`modSnippet`
    &element=`pdoResources`

    &parents=`[[*id]]`
    &tpl=`allnewsItem`
    &includeTVs=`newsImg, newsDate`
    &prepareTVs=`1`
    &depth=`0`
    &limit=`6`
    &includeContent=`1`

    &ajax=`1`
    &ajaxMode=`default`

    &pageVarKey=`page`
    &pageNavVar=`page.nav`
]]

На сайте два контекста — web (по умолчанию, он русский) и en (английский).
В карточке новости есть вызов сниппета, результат которого зависит от контекста. Вот примерный код.
<?php
switch($context = $modx->context->key) {
  case 'web':
    $result = 'Привет';
    break;
  case 'en':
    $result = 'Hello';
    break;
}

return $result;

Если я зайду на английскую версию сайта, открою страницу с новостями, в карточке будет выводиться «Hello». Потом я перейду, например, на страницу 2. И в карточке будет выводиться «Привет». Хотя я все еще на английской версии сайта.

Почему так происходит? Должно же выводиться «Hello».
Как это можно исправить?

Использовать лексиконы — не вариант, т.к. строка в реальном проекте создается динамически.
Andry
02 июля 2020, 21:49
modx.pro
952
0

Как вывести используя Fenom название tv поля (не значение).

Доброго времени суток!
Встал вопрос о выводе в синтаксисе fenom НАЗВАНИЕ поля:
Вот такой пример поля создал в админке, в tv полях, назвал tv_name, со значениями:
Поле1==значение_поля1||Поле2==значение_поля2
Имя в стандартном шаблонизаторе можно получить через модификатор tvLabel
Пример со стандартным шаблонизатором:
[[*tv_name:tvLabel]]
Этот код выводит «Поле1» или «Поле2», в зависимост от выбора в настройках ресурса
С использованием fenom этот модификатор не работает, искал в документации, нет ни каких упоминаний, может плохо искал))
Max
Max
02 июля 2020, 19:37
modx.pro
1 620
0

mFilter2 подпункты

Можно ли сделать выбор фильтра с подпунктами?
_ Чекбокс в фильтре
______ Подпункт
______ Подпункт второй
_ Чекбокс в фильтре
______ Подпункт
______ Подпункт второй
Василий
02 июля 2020, 11:54
modx.pro
719
0

modrestcurlclient.class.php в modx 2.7.3 - что за зверь? Создает миллион ошибок в логе

Скачал с офф сайта modx 2.7.3.
После установки смотрю лог ошибок, а там несколько тысяч
[2020-07-02 10:29:47] (ERROR in xPDO::getService @ /home/site/public_html/core/xpdo/xpdo.class.php : 1234) modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead.
[2020-07-02 10:29:47] (ERROR in modRestCurlClient::__construct @ /home/site/public_html/core/model/modx/rest/modrestcurlclient.class.php : 26) modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead.
Судя по пути, это что то из комплекта самого ядра modx.
Кто то сталкивался?
Как то не хочется начинать разработку на сайте, который сразу после установки завалил меня ошибками.
Александр Мельник
02 июля 2020, 11:18
modx.pro
1 526
0

Ошибка при регистрации: office_auth_err_email_send

Добрый день.
Вылезает ошибка при регистрации: office_auth_err_email_send
Соответственно, регистрация с помощью Office
Как ее решить?
Андрей
02 июля 2020, 09:59
modx.pro
1 396
0

Автоматическое увеличение числа (стаж работы) в определенный день каждый год.

Доброго времени суток.
На сайте есть раздел с преподавательским составом. В информации про преподавателя есть пункт «стаж», записанный таким образом:
<p>пед. стаж: <span style="font-family:georgia,serif;"><em><strong>12 років</strong></em></span></p>
Каждый год, как вы понимаете, стаж увеличивается. Подскажите как бы правильно это дело автоматизировать.
Пока что дошел до такого:
• Создал новый сниппет, в котором, определяю текущую дату и сравниваю её с нужной датой. Затем увеличиваю число стажа, если дата подходит (так же в нём записана функция, которая в зависимости от числа подставляет слово «год» в правильно склонении – 1 год; 12 лет и т.д.):
<?php
  $oldStazh; //текущий стаж, записанный вручную

  $todayYear = date('Y');
  $mustBeDate = '01.06';
  $todayDate = date('d.m'); //день, когда стаж должен увеличиться
  $stazh = $oldStazh + $todayYear - 2020; //новый стаж
  if ($mustBeDate == $todayDate) $stazh++; //увеличиваем стаж, если сегодня 01.06

//функция для того что бы правильное окончание выдавало в слове "год"
if (!function_exists('format_by_count')) {
    function format_by_count($stazh)
    {
        if($stazh % 10 == 1 && $stazh % 100 != 11)
            return 'рік';
        if($stazh % 10 >= 2 && $stazh % 10 <= 4 && ($stazh % 100 < 10 || $stazh % 100 > 20))
            return 'роки';
        return 'років';
    }
}

return $stazh . ' ' . format_by_count($stazh);
• На странице где нужно выводить информацию о стаже вызываю созданный сниппет и передаю туда значение стажа на текущий год:
<p>пед. стаж: <span style="font-family:georgia,serif;"><em><strong>[[!pedStazh? &oldStazh=`25`]]</strong></em></span></p>
Поигрался на локальной копии меняя время в системе. Ставлю точную дату 01.06.2020 – стаж увеличивается. Ставлю 01.06.2021 – стаж увеличивается ещё на 1. Но если поставить дату 01.07.2020 стаж возвращается к значению $oldStazh. И если я правильно понимаю, то изменение срабатывает только для того пользователя, который зашел на страницу.
Можно ли это дело сделать так что бы срабатывало на стороне сервера в определенный день и даже, если пользователь зайдет месяц (условно) спустя, то увидит уже новый стаж? Желательно без использования БД…
Lem
Lem
01 июля 2020, 18:26
modx.pro
992
0

Задваивание комментов tickets на мобильных устройствах.

Поймал странный баг — комменты(ticketsComments) с мобилок задваиваются. От платформы Андройд/Айфон — не зависит. Ни у кого такого не было?
Антон
30 июня 2020, 20:24
modx.pro
808
0

Tickets не создаются превью в ms2Gallery при загрузке с фронтенда

Подскажите, создаю тикет с фронтэнда, прикрепляю изображения к тикету(ms2Gallery), но возникает проблема не создается превью для ms2Gallery, основное изображение есть.



Если добавлять изображения с админки, то все нормально.
В чем может быть проблема?
FuzeSpace
30 июня 2020, 18:35
modx.pro
785
0