vit

vit

С нами с 03 июня 2022; Место в рейтинге пользователей: #172

migxLoopCollection Joins

Есть такой код
[[!migxLoopCollection?
    &classname=`MaterialSubcategories\Model\subcategories`
    &where=`{"id":"[[+subcategory_id]]"}`    
    &tpl=`@CODE: [[+title]]/[[+category_id]]`
]]
как сделать joins по classname MaterialCategories\Model\categories в котором id=[[+category_id]], нужно отобразить поле name
Делал так
[[!migxLoopCollection?
    &classname=MaterialSubcategories\Model\subcategories
    &where={"id":"[[+subcategory_id]]"}
    &joins=`{"MaterialCategories\Model\categories":{"alias":"Categories","on":"Categories.id = MaterialSubcategories\Model\subcategories.category_id"}}`
    &tpl=@CODE: [[+title]]/[[+category_id]] - [[+Categories.name]]
]]
но не получилось, буду благодарен за любую помощь
vit
vit
23 июля 2024, 19:43
modx.pro
215
0

Свой сниппет в FetchIt

Задача после отправки формы в [[+result]] вывести ответ
[[!FetchIt?
  &snippet=`MySnippet`
  &form=`tpl.FetchIt.example`
]]
[[+result]]
сниппет MySnippet
if (empty($_POST['date_men'])) {
    return $FetchIt->error('Ошибки в форме', [
        'date_men' => 'Вы не заполнили имя'
    ]);
} else {
  return $FetchIt->success('Форма прошла проверку',[
        'result' => 'Отправлено'
    ]);

}
не передается result.
помогите пожалуйста
vit
vit
19 июля 2024, 02:53
modx.pro
254
0

modRest не выводит результат

Вот это выводит результат '{«success»:true,«data»: ...'
$ch = curl_init('https://api.site');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'Authorization: OAuth НАШ TOKEN'
    ]
]);
$html = curl_exec($ch);
curl_close($ch);

echo $html
а есть делаю с помощью modRest
$url = 'https://api.site';

$headers=  array(
    'Content-type' => 'application/json', 
    'Authorization' => 'OAuth НАШ TOKEN' 
);

$client = $modx->getService('rest', 'rest.modRest');

$response = $client->get($url, array(), $headers);

$data = $response->process(); 

$jsonData = json_encode($data);
echo $jsonData;
показывает такое '[]'
Подскажите в чрм может быть ошибка, в ошибках пусто
vit
vit
09 июня 2024, 02:25
modx.pro
167
0

Задваиваются письма

При регистрации пользователя через LOGIN подключил сниппет '&postHooks=`email_reg_user`'
<?php
$email = $hook->getValue('email');
$username = $hook->getValue('username');
$password = $hook->getValue('password');
$fullname = $hook->getValue('fullname');
$phone = $hook->getValue('phone');

//отправляем админу
$message_admin = $modx->getChunk('adminEmailTemplate_reg',array(
   'email' => $email,
   'fullname' => $fullname,
   'username' => $username,
   'phone' => $phone
));
 
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message_admin);
$modx->mail->set(modMail::MAIL_FROM,'noreply@site.ru');
$modx->mail->set(modMail::MAIL_FROM_NAME,'Сайт');
$modx->mail->set(modMail::MAIL_SUBJECT,'регистрация участника');
$modx->mail->address('to', 'admin@site.ru');//$modx->getOption('emailsender'));
$modx->mail->setHTML(true);
$modx->mail->send();

//отправляем пользователю
$message = $modx->getChunk('myEmailTemplate_reg',array(
   'email' => $email,
   'fullname' => $fullname,
   'username' => $username,
   'password' => $password,
   'phone' => $phone
));
 
//$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'noreply@site.ru');
$modx->mail->set(modMail::MAIL_FROM_NAME,'Сайт');
$modx->mail->set(modMail::MAIL_SUBJECT,'регистрация');
$modx->mail->address('to', $email);
$modx->mail->setHTML(true);
$modx->mail->send();
проблема в том что на почту (администартора) admin@site.ru приходит два письма adminEmailTemplate_reg и myEmailTemplate_reg
Как сделать так чтобы второе не уходило админу
vit
vit
29 мая 2024, 18:52
modx.pro
1
944
0

getObject Рандом

как сделать так чтобы $object_id брался рандомно, но при этом у него должно быть status=1 и moderation=1
$res = $modx->getObject('CheckItem',$object_id);
$res->set('luck', '4');
$res->save()
vit
vit
18 мая 2024, 12:08
modx.pro
1 083
0

Не добавляется запись в MIGX

Стоит modx 2.7.3
создал как обычно в Package Manager
имя Check
префикс default
схема
<?xml version="1.0" encoding="UTF-8"?>

<model package="Check" baseClass="xPDOObject" platform="mysql" defaultEngine="InnoDB" phpdoc-package="" phpdoc-subpackage="" version="1.1">

    <object class="CheckItem" table="check_item" extends="xPDOSimpleObject">
        <field key="title" dbtype="varchar" phptype="string" precision="100" null="false" default="" index="index"/>
        <field key="description" dbtype="text" phptype="string" null="false" default="" />        

    </object>

</model>
таблица создалась
настроил все через CMP (могу добавлять и редактировать)

Создаю сниппет
<?php

$modx->addPackage('check', MODX_BASE_PATH . 'core/components/check/model/', 'modx_');

$check = $modx->newObject('CheckItem');
$check->set('title', '11111');
$check->set('description', '22222');

$check->save();

return true;
В итоге 500 ошибка у не чего не добавляется
в логах
(ERROR @ /core/xpdo/xpdo.class.php: 644) Could not load class: CheckItem from mysql.checkitem.

как исправить или куда копать?
vit
vit
13 мая 2024, 01:05
modx.pro
631
0

Migx событие

Возник вопрос, помогите пожалуйста.
Есть MigxDB нужно создать плагин который будет срабатывать на событие, изменения полей

1. Создаю событие
$Event = $modx->newObject('modEvent');
$Event->set('name', 'OnEditMigxDB');
$Event->set('service',1);
$Event->set('groupname', 'MigxDB');
2. Создам плагин и повешу на него событие OnEditMigxDB

Но как сделать так чтобы этого плагин получал значения которые изменяются в MigxDB???
vit
vit
23 апреля 2024, 22:42
modx.pro
1
506
0

Ограничения migx

Здравствуйте, есть ограничения в 100 полей в migx.
Вопрос это на одно TV поле или все.
То есть есть ресурс к него два TV поля.
В перевом например, будет 40 строк migx, а во втором, 70.
Так будет работать или уже нет.
vit
vit
29 марта 2024, 09:56
modx.pro
299
0

Migx DB-Filter ошибка

есть таблица в нет есть поле 'status'
создаю DB-Filters

filter Name: statusfilter
Label: status
Filter Type: combobox
getlist-where: {«status»: "[[+statusfilter]]"}
getcombo processor: getcombo
getcombo textfield: status
default value: all

И в фильтрах не чего не выводиться
если установить
default value: 0
не чего не меняется (показываются все)
в логах пусто
если default value: 1
показывается одна строка (как и должно быть)
в логах пусто
Помогите пожалуйста
vit
vit
24 марта 2024, 03:31
modx.pro
243
0

Два условия whery PdoPage

Есть такой вывод
{$_modx->runSnippet('!pdoPage', [
                'element' => 'migxLoopCollection',
                'classname' => 'HistoryPayment\Model\Payment',
                'tpl' => 'pay',
                'where' =>["status1" => "0", "AND:date1:<"=>"2024-02-23"],
                ])}
как указать условие ИЛИ
"status2" => "0", "AND:date2:<"=>"2024-03-23"
vit
vit
23 февраля 2024, 17:06
modx.pro
370
0