Константин

Константин

С нами с 24 апреля 2017; Место в рейтинге пользователей: #9711
Николай Савин
20 июля 2023, 09:11
1
0
Ну так, а я что делаю. Отвечаю вам. Как говорится чем могу
Артур Шевченко
14 сентября 2022, 14:06
1
0
Да, вывел тупо название опции и ее значение…
Зачем вывел и название? если сделать чанк для опции вот таким
{foreach $options as $option}   
            {if $option.value is array}
                {$option.value | join : ', '}
            {else}
                {$option.value}
            {/if}       
{/foreach}
то в $combustion_chamber попадёт строка со значением, и тогда оператор if сможет корректно сравнить две строки.
Сергей Лим
29 августа 2022, 16:01
1
0
Буду признателен, если лайк поставишь к комменту)
Сергей Лим
29 августа 2022, 15:37
2
+1
Идем в assets/components/minishop2/js/mgr/settings/vendor/grid.js
после строки
{header: _('ms2_email'), dataIndex: 'email', width: 100, sortable: true},
добавляем
{header: _('ms2_description'), dataIndex: 'description', width: 75, sortable: true},
далее нужно обновить кэш браузера
Артур Шевченко
14 августа 2022, 21:31
1
0
Тикет это ресурс. У ресурса есть поле createdby, которое содержит Id пользователя создавшего тикет. У каждого пользователя, есть поле email. Так же modx генерирует системные события, в частности при сохранении ресурса возникает событие OnDocFormSave. Соответственно, нужно при сохранении ресурса проверять значение поля published у сохраняемого ресурса, если оно true, то нужно получить email пользователя и отправить ему уведомление. Ниже сниппет, который может это сделать
<?php
if(!isset($chunk)){
    $modx->log(1, 'Письмо не отправлено. Не передеан чанк');
    return false;
}

if(!isset($to)){
    $modx->log(1, 'Письмо не отправлено. Не передеан email получателя');
    return false;
}else{
    $to = explode (',',$to);
}

if(!isset($subject)){$subject = 'noreply@'.$_SERVER['HTTP_HOST'];}
if(!isset($from)){$from = 'noreply@'.$_SERVER['HTTP_HOST'];}
if(!isset($reply)){$reply = $from;}
if(!isset($fromName)){$fromName = $modx->getOption('site_name');}
if(!isset($params)){
    $params = array();
}elseif(!is_array($params)){
    $params = json_decode($params, 1);
}

$pdoTools = $modx->getService('pdoTools');
$modx->getService('mail', 'mail.modPHPMailer');

$message = $pdoTools->getChunk($chunk, $params);
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM, $from);
$modx->mail->set(modMail::MAIL_FROM_NAME, $fromName);
$modx->mail->set(modMail::MAIL_SUBJECT, $subject);
foreach($to as $t){
    $modx->mail->address('to',$t);
}
$modx->mail->address('reply-to', $reply);
if(isset($attachment)){
    $modx->mail->attach($attachment);
}

$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
    $modx->log(1,'При отправке письма произошла ошибка: '.$modx->mail->mailer->ErrorInfo);
}

$modx->mail->reset();

Пример вызова
$modx->runSnippet('sendEmail', array(
    'subject' => $hook->formit->config['emailSubjecct'], // тема письма
    'to' => $hook->formit->config['emailTo'], // email получателя
    'from' => $hook->formit->config['emailFrom'], // email отправителя
    'chunk' => $hook->formit->config['emailTpl'], // чанк письма
    'params' => $_POST // параметры, которые передаются в чанк письма
));
vectorserver
21 июля 2022, 09:07
1
0
<?php
/* @var modX $modx*/
$getChildIds= $modx->getChildIds(211,6,array('context' => 'web'));
foreach ($getChildIds as $chId){
    /** @var modResource $res */
    $res = $modx->getObject('modResource',$chId);
    $res->setTVValue('seotitle',$res->get('pagetitle')." - ".$res->get('description'));
    $res->set('isfolder', 1);
    $res->save();
}
vectorserver
21 июля 2022, 08:18
1
0
<?php
/* @var modX $modx*/
$getChildIds= $modx->getChildIds(211,6,array('context' => 'web'));
foreach ($getChildIds as $chId){
    /** @var modResource $res */
    $res = $modx->getObject('modResource',$chId);
    $res->setTVValue('seotitle',$res->get('pagetitle'));
    $res->set('isfolder', 1);
    $res->save();
}
Константин
05 июля 2022, 11:58
1
0
Спасибо, почему-то пропал автоинкремент и у новых шаблонов id=0
Решил запросом ALTER TABLE modx_site_templates MODIFY COLUMN id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
Артур Шевченко
09 июня 2022, 23:36
2
0
Да, вам нужно перезапускать скрипт слайдера после загрузки результатов фильтрации
$(document).on('mse2_load', function(e, data) {
   // вот тут нужно перезапустить скрипт управляющий слайдером
});
Роман
18 мая 2022, 15:08
1
+1
В категории товаров, во вкладке настройки, просто перетягивайте, как вам нужно.