Вопросы

Не работает вызов некешируемых сниппетов

По всему проекту не работает ни один вызов с "!". Настройки стандартные ничего не трогал. Может быть кто-то сталкивался с этим.

Заметил это тогда когда начал выводить ресурсы с пагинацией. Она работает только с некешированным вызовом.
На страницу попадает только текст вызова pdoPage.
<div id="pdopage">
                        <div class="rows">
                            [[!pdoPage?
                                &element=`pdoResources`
                                &parents=`[[*id]]`
                                &ajaxMode=`default`
                                &limit=`4`
                                &tpl=`ReviewListRowTpl`
                                &includeTVs=`review_pic`
                                &includeContent=`1`
                            ]]
                        </div>
                        [[!+page.nav]]
                    </div>
В консоли base href
Александр
21 декабря 2019, 17:49
modx.pro
1 082
+1

Как добавить обработчки MIGX

Создал таблицу с помощь MIGX, вывел ее в админке.
При добавлении нового элемента нужно заполнять один из параметров в зависимости от остальных параметров.
Так вот и вопрос как добавить обработчик, что бы при сохранении элемента делался расчет и заполнялся нужный параметр?
Здесь подключаем обработчик, а собственно где прописать что ему делать?
Greza
21 декабря 2019, 12:40
modx.pro
1 138
+1

[***РЕШЕНО***] Почему не работает 'resources' => -id ?

Подскажите, почему не исключается ресурс с id:24. Вроде должен исключаться…

{set $items = $_modx->runSnippet('!pdoMenuFenom', [
    'parents' => 0,
    'resources' => -24,
    'displayStart' => true,
    'toArray' => true,
    'includeTVs' => 'topMenuTitle,svg_icon',
    
    'where' => [
    'parent:=' => 0,
    'AND:hidemenu:=' => 0,
    'AND:published:=' => 1,	
    'OR:isfolder:=' => 1,
    'AND:hidemenu:=' => 0,
    'AND:published:=' => 1	
]

])}

{foreach $items as $item}
    {set $item['level'] = 1}
    {$_modx->getChunk('@FILE chunks/menu/topMenu.tpl', ['item'=>$item])}
{/foreach}
Дмитрий
21 декабря 2019, 03:26
modx.pro
1 499
0

Как вывести ресурсы как на https://modx.pro/blogs ?

Подскажите, как вывести ресурсы примерно так https://modx.pro/blogs

Дополнение
Чтобы было менее ресурсозатратно, как на той странице.

Там цифры такие:
total time: ≈ 0.2947 s
queries: 39 (0.1899 s)
memory: 4 096 kb
39 запросов всего, и это запросы всей страницы, а не только этого вывода…
Дмитрий
20 декабря 2019, 19:19
modx.pro
901
0

Нужно переименовать шаблон через API

Приветствую.

Существует необходимость переименовать начальный шаблон посредством API. Переименование происходит, но в логах трэш получается (xPDOObject — Called set() with an invalid field name: modTemplate_mysql Object). Поскольку сам несколько далек от этого, прошу знатоков подсказать, где в коде ошибки и как он должен выглядеть в результате:

/** @var modTemplate $base_template */
if ($base_template = $this->modx->getObject('modTemplate', array('templatename' => 'Начальный шаблон'))) {
    $base_template->fromArray([
        'templatename' => 'BaseTemplate',
    ], '', true, true);
    $base_template->set($base_template, $attributes);
    $base_template->save();
}
Спасибо.
Евгений
20 декабря 2019, 14:18
modx.pro
1 110
0

не работает AjaxForm в Chrome

Добрый день!
появилась проблема, в google chrome не отправляется форма обратной связи через AjaxForm ссылаясь на ошибку проверки textarea хотя в настройках вызова в сниппете проверка на обязательность поля не заполнена.

в yandex браузер и Opera все отлично отправляется, но только не в Chrome…
кто сталкивался? куда копать?

Valentin
20 декабря 2019, 14:12
modx.pro
875
0

MODX как торговая площадка(объявления)

Господа, подскажите.
Интересно найти такое решение как торговая площадка(типо авито)
Есть ли на MODX какие-нибудь похожие готовые решения?
FuzeSpace
20 декабря 2019, 10:22
modx.pro
1 032
0

Неправильное оборачивание MySQL функции символом ` при SQL запросе

Добрый день!

Нужна помощь в составлении SQL запроса. Проблема в обрамлении символом `.

Код:
...
$where = array(
    'FROM_UNIXTIME(Table.date, \'%Y-%m-%d\'):>=' => $date->format('Y-m-d'),
);
...
$query->where($where);

$query->prepare();
echo $query->toSql();

Результат:
SELECT ... FROM ... WHERE `FROM_UNIXTIME(Table`.`date, '%Y-%m-%d')` >= '2019-12-17'

Необходимо:
SELECT ... FROM ... WHERE FROM_UNIXTIME(`Table`.`date`, '%Y-%m-%d') >= '2019-12-17'

MySQL функция «FROM_UNIXTIME» оборачивается символом ` и из-за этого происходит ошибка SQL запроса. Подскажите пожалуйста, где делаю неправильно.

PS Вариант
$query->where('FROM_UNIXTIME(Table.date, \'%Y-%m-%d\'):>= ' . $date->format('Y-m-d'));
известен, но хотелось бы реализовать через массив, т.к. более удобочитаемо и будут еще дополнительные условия выборки.
Sphinx
20 декабря 2019, 10:05
modx.pro
1 018
0

Мультиязычность на сайте

Всем привет. У меня возникла проблема с мультиязычностью, не подходит ни один из компонентов типа:

Babel
Localizator
Lingua

Дело в том, что у меня на контекста висят поддомены с сайтами. Мне необходимо сделать мультиязычность на контекстах алиасами типа:

site.com
site.com/en/
site.com/de/

shop.site.com
shop.site.com/en/
shop.site.com/de/

Конечно в этом плане больше нравится Localizator, но есть одно НО, даже если намудрить плагин с проверкой псевдоконтекста и реального контекста, то существует проблема что в документе при автоматическом переводе он выводит сразу все переводы псевдоконтекстов, не фильтруя по контекстам. Может есть какое-то решение?
SEQUEL.ONE
20 декабря 2019, 01:29
modx.pro
893
0

Добавление новых позиций

Доброго дня.
Создали сайт, товары добавлены.

Начали добавлять новые товары в каталоги, они не отображаются на сайте.
Подскажите, где мы могли допустить ошибку?
Екатерина
19 декабря 2019, 15:40
modx.pro
839
0