Всего 123 607 комментариев

Ирина
19 апреля 2024, 23:22
0
Добрый вечер. Помогите, пожалуйста, разобраться. Поставила модули SendIt и MiniShop2. Создала снипет, прописала пресет в файле, добавила js, вывела окно с формой — заказ оформляется — письмо приходит, но нет уведомления. Если делать как написано + к этому с вызовом AjaxFormItLogin — то работает все, но заказ оформляется дважды, выводятся дважды уведомления. Для чего нужно использовать и SendIt и AjaxFormItLogin? Я только начала разбираться с этими модулями, подскажите, пожалуйста, что я не так делаю?!
Баха Волков
19 апреля 2024, 12:48
+2
Постараюсь в свободное время это сделать, спасибо за предложение
Наумов Алексей
19 апреля 2024, 11:49
1
0
Самое лучшее решение в данной ситуации — это сделать отдельный файл для работы с этим API, например:
/assets/components/mycomponent/api.php
ну или просто попроще
/api.php
внутри этого файла инициализируем MODX в API режиме, читаем, например:
modx.pro/development/3163

А далее просто получаем данные, как нам нужно и выводим в json:
$query = $modx->newQuery('modResource');
$query->where([
'parent' => 2,
]);

$resources = $modx->getIterator('modResource', $query);
$data = [];
foreach($resources as $resource) {
$data[] = [
'pagetitle' => $resource->get('pagetitle');
];
}

header("Content-Type: application/json");
echo json_encode($data);
exit();
да, если нужны TV поля, то запрос будет сложнее. Но эта информация тоже есть на форуме.
Если уж совсем лень писать запрос — то можно внутри скрипта вызвать сниппет pdoresources:
$data = $modx->runSnippet('pdoResources', [ПАРАМЕТРЫ]);
Артур Шевченко
19 апреля 2024, 10:07
0
Если нужен полноценный API, используй ZoomX. Также можно просто с делать коннектор и слать запрос к нему и возвращать что нужно и как нужно.
snowdog178
18 апреля 2024, 21:54
0
Не отображаются добавленные поля в редактировании пользователя.
Добавил одно поле в «общую информацию», для другого создал вкладку, в ней ещё вкладку и в ней уже поле.
Созданные вкладки отображаются, а вот поля — нет.
Что я делаю не так?
В датабазе добавленные поля есть, я им даже напрямую задал значения у одного пользователя, всё равно не отображаются.
Stepan
18 апреля 2024, 17:01
0
попробуйте убрать
exit(true);
Наумов Алексей
18 апреля 2024, 11:28
0
$_modx->resource['tv-name']
Или в чанках где-то внутри pdoResources
$_pls['tv-name']
но лучше избегать дефис в названиях TV. Дефис нельзя использовать в названиях переменных в php, из-за этого возникают трудности в Fenom. Замените на подчеркивание.
vit
vit
18 апреля 2024, 00:47
0
{$_modx->resource.tv-name} выводит текущий tv текущего
{6 | resource:'tv-name'} выводит значение tv ресурса Id которого 6
Как я понимаю это вам нужно.
Андрей
18 апреля 2024, 00:03
0
К сожалению не помогло, не хотелось совмещать старый синтаксис с fenom, но видимо придется: с
Артур Шевченко
17 апреля 2024, 23:47
0
{$_pls['tv-name']} или {'tv-name' | placeholder}
Андрей Степаненко
17 апреля 2024, 19:12
+1
С расположение пакетов это одна из проблем которую на мой взгляд нормально не решишь, всегда на измене что то то можешь затереть
По этому и придумал схему с :ro который защищает файл в Extras
Хоть сколько раз переустанавливай свой пакет
Если нужен собранный пакет то он будет в target в сборке с docker
Артур Шевченко
17 апреля 2024, 19:04
0
Попробуй так
{if $options}
<h2>Заголовок:</h2>
<p>
    {foreach $options as $option}
        {if $option.value == 1}
            {$option.caption},
        {/if}
    {/foreach}
   </p>
{/if}
Наумов Алексей
17 апреля 2024, 18:35
+1
Я всегда делаю так:
В корневой директории сайта
/home/user/data/www/modx.test.ru/
создаю папкуgo
Extras/Scheduler/
и уже в нее кидаю содержимое репозитория.

Этот подход предлагает modExtra (см. readme) github.com/modx-pro/modExtra

Конечно и другие подходы есть к разработке, но я предпочитаю этот)
Дима Касаткин
17 апреля 2024, 18:16
0
Это путь от корня на сервере?
Вот я форкнул один из пакетов, хочу подправить код и собрать новую версию для теста. Предполагается что я всё это заливаю в корень установленного MODX. Папка _build сразу содержит установочные скрипты, из-за чего я не могу использовать готовую установку MODX, где поддерживаю другие пакеты.

Вот этот путь /Extras/ModxExtraName/ откуда берется? Корень / перед /Extras/ где смонтирован? У меня это примерно так на хостинге /home/user/data/www/modx.test.ru/ и вот отсюда уже идут ...modx.test.ru/_build/ и так далее.
Наумов Алексей
17 апреля 2024, 16:35
0
Когда идет разработка, то обычно исходники пакета лежат примерно по такому пути:
/Extras/ModxExtraName/
поэтому не совсем понимаю, зачем еще 1 уровень вложенности добавлять.
Андрей Степаненко
17 апреля 2024, 10:08
+1
Последние попытки запуска как раз и были связаны с WSL, Docker завершался с ошибкой и все.

Для отключения WSL
C:\Users\\AppData\Roaming\Docker\settings.json
«wslEngineEnabled»: false

И после этого docker запуститься. Ура)
Андрей Степаненко
17 апреля 2024, 09:51
+1
Windows 11 еще один вариант)

Николай Савин
17 апреля 2024, 09:41
+1
Исходники открою ага. В общественный репозиторий пока не переношу.