Вопросы

как вывести чанк программно

snippet

[[!demoprimer]]

<?php
$chunk = $modx->getChunk('nazvaniyevashegochunka');

echo $chunk;
Кирилл
01 сентября 2020, 19:13
modx.pro
698
-5

Почему не работает этот код ModX?

Здравствуйте!
Пытаюсь вывести автора ресурса
[[!pdoPage?
    &element=`pdoUsers`
    &groups=`Users`
    &where=`{"createdby":[[!+modx.user.username]]}`
    &tpl=`@INLINE <p>Имя - [[!+modx.user.username]]</p>`
]]
Не работает блин!
Подскажите как правильно реализовать вывод автора ресурса?
Стоит miniShop2.
Рушан
01 сентября 2020, 19:04
modx.pro
1 001
0

Как вывести список автозаполнения в mFilter2?

Всем привет. Использую msFiledsManager + mFilter2, пытаюсь вывести фильтры по полю producttypetable. В поле ввожу несколько значений через запятую. Вызов mFilter2:

{'!mFilter2' | snippet : [
            'parents' => $_modx->resource.id,
            'limit' => 7,
            'class' => 'msProduct',
            'element' => 'msProducts',
			'tplOuter' => '@FILE components/msearch2/mfilter2/filter2/outer.tpl',
			'tpl' => '@FILE components/msearch2/mfilter2/filter2/row.tpl',
			'tplFilter.outer.default' => '@FILE components/msearch2/mfilter2/filter2/filterouter.tpl',
			'tplFilter.row.default' => '@FILE components/msearch2/mfilter2/filter2/filterrow.tpl',
            'ajaxMode' => 'button',
            'where' => '{"class_key":"msProduct"}',
            'suggestions' => 'true',
            'filters' => '
                ms|vendor:vendors,
				ms|productpurpose:checkbox,
				ms|producttabletype:checkbox
            ',
			'aliases'=>'
				ms|vendor==vendor,
				ms|productpurpose==purpose,
				ms|producttabletype==tabletype,
			',
		]}
SEQUEL.ONE
01 сентября 2020, 18:21
modx.pro
897
0

как запустить сниппет программно

приведите пожалуйста простой пример, как запустить сниппет программно
просто с echo hello world

спасибо заранее
Кирилл
01 сентября 2020, 17:41
modx.pro
896
-1

Вывод картинки в OpenGraph с использованием MIGX

Добрых уток времени всем. Пытаюсь настроить красивый вид ссылок на сайт в мессенджарах.
Возникла проблема с передачей картинки. У меня на сайте есть несколько типов страниц. На одном из них использую MIGX для создания tv-поля с картинкой новости. На всех остальных этого tv-поля нет вообще.
В head прописал такой код:
<meta property="og:image" content="[[++site_url]][[getImageList?
           &tvname=`image`
           &tpl=`openGraph_Img`
           &limit=`1`
           &docid=`[[*id]]`
         ]]">
В темплейте `openGraph_Img` лежит просто
[[+image]]
Такая конструкция работает на страницах, у которых есть tv-шка с картинкой статьи.
Вопрос: как добавить проверку на отсутсвие tv-шки с картинкой и указанием дефолтной картинки в этом случае?
Пробовал в темплейте `openGraph_Img` указать проверку
[[+image:isnot=``:then=`[[+image]]`:else=`images/defaultPic.jpg`]]
но так не работает (если я правильно понимаю это потому что на других страницах такого TV просто нет, соответственно проверка не начинается).
Lem
Lem
01 сентября 2020, 13:38
modx.pro
1 389
0

Как подсунуть другой ресурс при 404

Такая ситуация
Есть много контекстов, для примера: web, msk;
В контекста web структура:
Главная
    Блог
        Запись блога 1
в msk
Главная
Так вот. Если мы в контексте msk и переходим в блог то получаем закономерное 404.
Можно ли обработать это действие в событии onPageNotFound и подсунуть ресурс из дефолного контекста (web)?

Пока что настроил обработку поиска запрашиваемого ресурса в другом контексте.
<?php
    if ($modx->context->key === 'mgr' || $modx->event->name !== 'OnPageNotFound') return;
    
    $alias = $modx->context->getOption('request_param_alias', 'q');
    
    if (!isset($_REQUEST[$alias])) {return false;}
    
    $curUrl = strtok($_REQUEST[$alias], '?');
    
    $defaultCtx = $modx->getContext($modx->getOption('default_context'));
    
    if (key_exists($curUrl, $defaultCtx->aliasMap)) {
        $modx->resource = $modx->getObject('modResource', $defaultCtx->aliasMap[$curUrl]);
    }
Denis
01 сентября 2020, 13:14
modx.pro
880
0

Помогите разобраться с шаблоном Instruments

Пытаюсь поменять цвет меню. Сейчас он зеленый
В панели путь такой:
assets/components/instruments/template/css/header/_nav-panel.scss
Но папки header не существует.
Я заменила этот зеленый цвет везде, во всех файлах css что только нашла. Очистила кэш сайта, браузера — ничего не поменялось. Ни какой из зеленых!
Кефирка
01 сентября 2020, 09:54
modx.pro
1 536
0

Почему выходит ошибка ModX?

Всем привет!
Создал дополнительное поле

Страница miniShop2. Пытаюсь вывести поле на странице и выходит такая шляпа
стоит login и msForm2.
<?php
$field = $profile->get('extended')[$input];
return (empty($field) ? '' : $field);
Fatal error: Uncaught Error: Call to a member function get() on null in /home/penfocv/domains/penfocv.ru/public_html/shop/core/cache/includes/elements/modsnippet/40.include.cache.php:2 Stack trace: #0 /home/penfocv/domains/penfocv.ru/public_html/shop/core/model/modx/modscript.class.php(76): include() #1 /home/penfocv/domains/penfocv.ru/public_html/shop/core/model/modx/modparser.class.php(537): modScript->process(NULL) #2 /home/penfocv/domains/penfocv.ru/public_html/shop/core/components/pdotools/model/pdotools/pdoparser.class.php(273): modParser->processTag(Array, true) #3 /home/penfocv/domains/penfocv.ru/public_html/shop/core/model/modx/modparser.class.php(251): pdoParser->processTag(Array, true) #4 /home/penfocv/domains/penfocv.ru/public_html/shop/core/components/pdotools/model/pdotools/pdoparser.class.php(65): modParser->processElementTags('', '<!doctype html>...', true, false, '[[', ']]', Array, 9) #5 /home/penfocv/domains/penfocv.ru/public_html/shop/core/model/modx/modresource in /home/penfocv/domains/penfocv.ru/public_html/shop/core/cache/includes/elements/modsnippet/40.include.cache.php on line 2
Рушан
01 сентября 2020, 08:20
modx.pro
784
0

Ошибка в manager MODX 2.7.3

В новой версии 2.7.3 так и не устранили ошибку:
Если создать сниппет с такой строкой

Строка в виде картинки prnt.sc/u92x5f

то панель не откроет такой сниппет и зависнет
Сергей Владимирович
31 августа 2020, 19:22
modx.pro
667
+1

Вывод динамического H1

Добрый день.

Подскажите, пожалуйста, как вывести h1 некэшированным на страницах категорий с пагинацией?
Вывожу с помощью pdoTitle так:
<h1>{$_modx->runSnippet('!pdoTitle', ['limit' => 1, 'titleField' => 'pagetitle', 'outputSeparator' => ' - ', 'cache' => 0])}</h1>
И дело в том, что при переходе в категорию, выводится заголовок, к примеру, «Коляски». При переходе на 2 страницу или последующие, то в коде выводит как надо:
<h1>Коляски - стр. 2 из 4</h1>
А вот на фронте просто «Коляски».
Если страницу обновить с очисткой кэша, то как надо: Коляски — стр. 2 из 4.
Как исправить?

Спасибо!
Андрей
31 августа 2020, 17:15
modx.pro
779
0