vit
С нами с 03 июня 2022; Место в рейтинге пользователей: #172migxLoopCollection 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]]
]]
но не получилось, буду благодарен за любую помощь Свой сниппет в FetchIt
Задача после отправки формы в [[+result]] вывести ответ
помогите пожалуйста
[[!FetchIt?
&snippet=`MySnippet`
&form=`tpl.FetchIt.example`
]]
[[+result]]
сниппет MySnippetif (empty($_POST['date_men'])) {
return $FetchIt->error('Ошибки в форме', [
'date_men' => 'Вы не заполнили имя'
]);
} else {
return $FetchIt->success('Форма прошла проверку',[
'result' => 'Отправлено'
]);
}
не передается result. помогите пожалуйста
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;
показывает такое '[]'Подскажите в чрм может быть ошибка, в ошибках пусто
Задваиваются письма
При регистрации пользователя через 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Как сделать так чтобы второе не уходило админу
getObject Рандом
как сделать так чтобы $object_id брался рандомно, но при этом у него должно быть status=1 и moderation=1
$res = $modx->getObject('CheckItem',$object_id);
$res->set('luck', '4');
$res->save()
Не добавляется запись в MIGX
Стоит modx 2.7.3
создал как обычно в Package Manager
имя Check
префикс default
схема
настроил все через CMP (могу добавлять и редактировать)
Создаю сниппет
в логах
(ERROR @ /core/xpdo/xpdo.class.php: 644) Could not load class: CheckItem from mysql.checkitem.
как исправить или куда копать?
создал как обычно в 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.
как исправить или куда копать?
Migx событие
Возник вопрос, помогите пожалуйста.
Есть MigxDB нужно создать плагин который будет срабатывать на событие, изменения полей
1. Создаю событие
Но как сделать так чтобы этого плагин получал значения которые изменяются в MigxDB???
Есть MigxDB нужно создать плагин который будет срабатывать на событие, изменения полей
1. Создаю событие
$Event = $modx->newObject('modEvent');
$Event->set('name', 'OnEditMigxDB');
$Event->set('service',1);
$Event->set('groupname', 'MigxDB');
2. Создам плагин и повешу на него событие OnEditMigxDBНо как сделать так чтобы этого плагин получал значения которые изменяются в MigxDB???
Ограничения migx
Здравствуйте, есть ограничения в 100 полей в migx.
Вопрос это на одно TV поле или все.
То есть есть ресурс к него два TV поля.
В перевом например, будет 40 строк migx, а во втором, 70.
Так будет работать или уже нет.
Вопрос это на одно TV поле или все.
То есть есть ресурс к него два TV поля.
В перевом например, будет 40 строк migx, а во втором, 70.
Так будет работать или уже нет.
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
показывается одна строка (как и должно быть)
в логах пусто
Помогите пожалуйста
создаю 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
показывается одна строка (как и должно быть)
в логах пусто
Помогите пожалуйста
Два условия 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"