Программист на долгосрочное сотрудничество для создания, развития и техподдержки сайтов на MODX revo

Добрый день! Есть уже созданные проекты и сайты на MODX revo, которые необходимо обслуживать и поддерживать, добавлять различные функции и интеграции.Так же будут создаваться новые сайты и проекты. Работа интересная, но не простая — поэтому кандидат должен быть с опытом, обладать трудолюбием и отве́тственностью, вниманием к деталям и желанием довести начатое до логического завершения. Приветствуется креативное мышление и подход, есть небольшая, но дружна команда из дизайнера и верстальщика. На данные момент в срочном порядке требуется ряд интеграций при помощи готовых модулей с modstore.pro. Буду рад пообщаться с кандитатом, спасибо, что прочитали!
Степан Алексеевич
01 июня 2023, 11:17
modx.pro
339
+1

Модуль расчёта доставки для новой версии eShopLogistic.ru (бета)

Основной функционал:
  • расчёт стоимости и сроков заказа сразу для нескольких транспортных компаний на одной карте в корзине и карточке товара;
  • пересчёт доставки в панели управления заказами minishop2;
  • выгрузка заказов в кабинет транспортной компании;
  • вывод на печать этикеток (если такой функционал есть у выбранной ТК).
Интегрированы службы доставки: Яндекс Доставка, СДЭК, Почта России, DPD, Boxberry, Деловые Линии, ПЭК, Dostavista, GTD, Байкал Сервис, PickPoint, Возовоз, Желдорэкспедиция, Энергия, 5POST («Пятёрочка» и «Перекрёсток»), Logsis.
Если у вас есть своя служба доставки или просто пункты самовывоза, вы можете настроить собственную службу наравне с внешними.

Демонстрация возможностей модуля и подробная документация доступны на демо-сайте:
modx-v3.eshoplogistic.ru.
Дополнительная информация: https://new.eshoplogistic.ru/moduli-dlja-cms/modx.html.
Компонент в modstore: modstore.pro/packages/delivery/eshoplogistic3
Алексей Шумаев
01 июня 2023, 09:36
modx.pro
685
+4

Как прикрепить к письму файл что был сгенерирован в хуке в ajaxForm/Formit?

В форме нет файла(так же нет в приципе инпута, и указания мультипарта), но в хуке перед отправкой создаётся файл, как его прикрепить к письму?
Vladimir
01 июня 2023, 07:58
modx.pro
4
462
0

Список ресурсов в TV и checked

Здравствуйте!
С помощью следующего кода, вывожу список ресурсов в дополнительном поле. Вот код:
@SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` WHERE `template` IN (72, 37).
Это необходимо для связки ресурсов с другими ресурсами.
Но данный код просто выводит список ресурсов. Мне необходимо чтобы этот список ресурсов был отмечен, то есть список ресурсов как опции уже были автоматически отмечены (checked). Какой код необходимо дописать чтобы ресурсы как опции были отмечены автоматически при редактирования ресурса?

Тип ввода: Флажки (checkbox)
Код сохранен в поле «Возможные значения». А поле «Значение по умолчанию» пустое.

Список ресурсов отлично отображается. Но ресурсы не отмечены, то есть не имеют статус checked, А ресурсов довольно много чтобы вручную отмечать.

Пожалуйста, подскажите какой код дописать чтобы ресурсы были автоматически отмечены.
Спасибо
Zulya
30 мая 2023, 22:48
modx.pro
822
0

Подскажите как реализовать вывод другого чанка в pdoResources

Добрый день, подскажите как можно реализовать через pdoResources так, чтобы через каждый 3 блока выводился другой чанк, который будет выводить другую информацию.

Для примера приложил картинку, как это должно быть по крайне мере в моей голове.



Сейчас у меня вот так
[[!pdoResources?
    parents=`[[*id]]`
    tpl=`one_test`
    includeTVs=`img,newHome,change,price,street`
]]
Алексей
30 мая 2023, 16:55
modx.pro
426
0

Как в mSync изменить категорию товара при импорте?

Здравствуйте!
В 1С и на сайте немного отличается дерево категорий, поэтому отключили импорт категорий. На какое событие писать плагин, чтобы можно было заменить категорию minishop2 у товара при импорте?
Lori
30 мая 2023, 08:54
modx.pro
356
0

Подскажие, как вывести сообщение об ошибке Ajaxform через $.jGrowl

Вызываю Ajaxform с параметрами
&hooks=`email`
	&validate=`name:required,email:email:required,message:required:minLength=^6^`
	&vTextMinLength=`Пожалуйста введите тему, от 6 символов.`
	&message.vTextRequired=`Пожалуйста введите тему.`
    &validationErrorMessage=`В форме содержатся ошибки!`
	&successMessage=`Ваше сообщение отправлено 
  Наши специалисты свяжутся с вами в ближайшее время.`
	&vTextEmailInvalid=`Email точно правильный?`
При вводе неправильного email всплывает стандартное сообщение «В форме содержатся ошибки!»
А мне бы хотелось, чтобы еще всплывало «Email точно правильный?»

Если вывожу в форме
<span class="error_email">{$fi.error.email}</span>
то сообщение об ошибке появляется в статическом поле.
Вопрос: как его закинуть во всплывающее сообщение?
Sergey
29 мая 2023, 19:43
modx.pro
820
0

[msProducts] Как вывести товары у которых old_price больше чем price

Здравствуйте!
Ситуация следующая: 1С-ники выгружают цены на сайт таким образом, что, если у товара есть скидка, то актуальная цена выгружается в свойство товара price, а старая цена — в old_price. Но если у товара нет скидки, они выгружают в price и old_price одинаковые значения цен.
Вопрос: как сформулировать запрос к msProducts, чтобы он выводил только товары у которых old_price > price?
{'!msProducts' | snippet:[
  'tpl' => 'tpl_products_listing',
  'limit' => 30,
  'parents' => 0,
  'sortby' => 'RAND()',
  'includeThumbs' => 'webp_m',
  'where' => '[{ "Data.old_price:>":"Data.price" }, { "Data.internet_magazin":"1" }]'
]}
Вот такая конструкция всё равно выводит любые товары. Или я вообще неправильно пытаюсь решить эту задачу? А как тогда надо?
Заранее спасибо за подсказку
Giant Dad
29 мая 2023, 16:45
modx.pro
733
0

mSearch2 Не показываются заголовки и выбранных фильтров, в чем проблема?

Не показываются заголовки и выбранных фильтров, в чем проблема?
ovk.w91518tl.beget.tech/konvektoryi/vnutripolnyie/?tv|dlinna=1000&tv|visota=90

Может сюда можно переменную подставить какую небуть
&filterOptions=`{
"selected_tpl": "    <a href='#' data-id='_id_' class='mse2_selected_link'><em>_title_</em><sup>x</sup></a>",
"selected_wrapper_tpl": "<strong>_title_:</strong> ",
"selected_filters_delimeter": "; ",
"selected_values_delimeter": " , "
}`
maxgmm
29 мая 2023, 09:34
modx.pro
486
0

Регистрация user через процессоры (formit)

Привет,
Сталкнулся с такой проблемой. При регистрации пользователя из фронтенда, не записывается информация в кастомные поля modUserProfile из под ананимного профиля.

Подключаюсь к процессору так:
<?php
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error', 'error.modError', '', '');


// Массив с данными пользователя  
$tel = $hook->getValue('phone');
$chars = ['+','(',')','-']; // символы для удаления
$tel = str_replace($chars, '', $tel);

$dobo = $hook->getValue('birth_at');
list($d, $m, $Y) = explode(".", $dobo);

$pasDate = $hook->getValue('datePassport');
$pasDate = strtotime($pasDate);
function filtr($parametr,$date = '-'){
    $filtr = str_replace($date, '', $parametr);
    return $filtr;
}


$groups = [
  'Users' => [
    'usergroup' => '2', // id группы Users
    'role' => '1' // id роли Member
  ]
];
$data = array(
    'username'=>$tel,
    'groups' => $groups,
    'fullname'=>$hook->getValue('last')." ".$hook->getValue('first')." ".$hook->getValue('patronymic'),
    'email'=>$hook->getValue('email'),
	'mobilephone'=>$hook->getValue('phone'),
	'dob' => $Y.'/'.$m.'/'.$d,
	
	'ip' => $_SERVER['REMOTE_ADDR'],
	
	// Прописка
	'zip'=>$hook->getValue('zip'),
	'state'=>$hook->getValue('region'),
	'city'=>$hook->getValue('city'),
	'street'=>$hook->getValue('street'),
	'building'=>$hook->getValue('building'),
	'apartment'=>$hook->getValue('apartment'),
	
	// Паспорт
	'pasSeriaNumber'=>filtr($hook->getValue('passport'),' '),
	'pasDate'=>$pasDate,
	'pasCod'=>filtr($hook->getValue('unitCod')),
	'pasWho'=>$hook->getValue('passportLocal'),
	'pasPlace'=>$hook->getValue('birthplace'),
	
	'pdDate'=>time(),
	
	'active' => true,
    
    'passwordnotifymethod' => 'e'
);
// запуск процессора
$response = $modx->runProcessor('/security/user/create', $data);
// если есть ошибки выводим ошибки, если нет то пользователь зарегистрирован
if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, 'login error. Username: '.$username.', Message: '.$response->getMessage());
}
Подскажите светлые умы, что нужно сделать чтоб записывалось в кастомные поля?
Алексей
29 мая 2023, 07:58
modx.pro
459
0