Доработать функционал ModX Evo 1.4

Добрый день.
Необходимо:
1. Доработать сниппет eForm, чтобы он имел возможность отправлять несколько фото сразу через input multiple (сейчас на версии 1.4.6 приходит только одно фото на почту). Огромным плюсом будет возможность добавления через drag and drop.
2. Возможность через тот же eForm добавлять ресурсы в админпанель через сайт, самое главное, чтобы можно было кроме стандартных полей, заносить и значения TV-параметров. (наброски сниппета прилагаются, но с TV он отказывается работать)

Не судите строго, это мое первое сообщение на этом форуме. Что касается бюджета, то я готов выслушать Вашу стоимость. Бюджет не важен, главное, итоговый результат. В дальнейшем будут еще функциональные доработки. Поэтому ищу уверенного профессионала своего дела. Заранее спасибо!

5 комментариев

avatar
Напишите пожалуйста доступы на почту ag@evo.im
avatar
Интересно grandcazino@gmail.com
avatar
Всё уже есть.
FormLister в помощь. С помощью оного отправить можно любые файлы, лишь бы отправитель и ящик получателя осилил, т. к. могут быть ограничения.
А так же в помощь классы в папке assets/lib
Если очень хочется, то можно и в тело письма вставлять изображения.
avatar
Спасибо. А возможно ли сделать выпадающий список с отделениями офдисов, в зависимости от выбранного письмо уходит именно на почтовый ящик выбранного отделения? Такая фишка есть в eForm — mailselector.
avatar
Да. Всё можно. Хоть калькулятор.
Для вашей ситуации нужно использовать prepareProcess для определения значения выбранного в селекте и изменения настройки адреса получателя
Что-то типа

<?php
function prepareProcessResultForm($modx, $data, $fl, $name)
{
	// Получаем конфиги
	$cfg = $fl->config->getConfig();
	
	// Определеяте значение селекта (пусть имя селекта getmail)
	/*
	<select name="getmail">
		<option value="0">Офис</option>
		<option value="1">Бухгалтер</option>
		<option value="2">Менеджмент</option>
		<option value="3">Магазин</option>
	</select>
	*/
	$getmail = $fl->getField("getmail");
	switch($getmail){
		case "1":
			$fl->mailConfig['subject']  = $cfg["subject"] = "Письмо для бухгалтерии";
			$fl->mailConfig['to']  = $cfg["to"] = 'buhgalter@exemple.com';
			break;
		case "2":
			$fl->mailConfig['subject']  = $cfg["subject"] = "Письмо для отдела менеджмента";
			$fl->mailConfig['to']  = $cfg["to"] = 'managers@exemple.com';
			break;
		case "3":
			$fl->mailConfig['subject']  = $cfg["subject"] = "Письмо для отдела продаж";
			$fl->mailConfig['to']  = $cfg["to"] = 'salling@exemple.com';
			break;
		default:
			$fl->mailConfig['subject']  = $cfg["subject"] = "Письмо для офиса";
			$fl->mailConfig['to']  = $cfg["to"] = 'office@exemple.com';
			break;
	}
	// Применяем конфиг
	$fl->config->setConfig($cfg);
}

Документация docs.evo.im/03_extras/formlister.html
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.