vit
С нами с 03 июня 2022; Место в рейтинге пользователей: #118Вопрос про PreHooks и checkbox
простая задача, но чего то не получается цо всем, подскажите что не так
в formIt установил preHooks
В чем проблема?
в formIt установил preHooks
$hook->setValue('color',json_encode(array('blue','red','green')));
return true;
и вот так вывожу<label>Color /[[!+fi.color]]</label>
<input type="checkbox" name="color[]" value="blue" [[!+fi.color:FormItIsChecked=`blue`]] > blue
<input type="checkbox" name="color[]" value="red" [[!+fi.color:FormItIsChecked=`red`]] > red
<input type="checkbox" name="color[]" value="green" [[!+fi.color:FormItIsChecked=`green`]] > green
в fi.color выводится ["blue","red","green"]
но вот почему то checkbox не выделяютсяВ чем проблема?
pdoResources не выводит ресурсы с указанным шаблоном
есть много контекстов, нужно вывести все ресурсы у которых шаблон (4)
эти ресурсы есть у всех контекстов кроме 'web, sub'
[[pdoResources?
&parents=`0`
&template=`4`
&tpl=``
]]
Подскажите ка это сделать?
эти ресурсы есть у всех контекстов кроме 'web, sub'
[[pdoResources?
&parents=`0`
&template=`4`
&tpl=``
]]
Подскажите ка это сделать?
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]]
]]
но не получилось, буду благодарен за любую помощь Свой сниппет в 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.
Так будет работать или уже нет.