Пока Дмитрий занимается разработкой модуля evoShop, предлагаю вашему вниманию дополнение для заказа в 1 клик с тем, чтобы не только уведомление падало на почту, но и записывалось в модуль ShopKeeper.

Реализовывать будем через eForm.

Создаем обычную форму отправки, и в шаблон формы вставляем невидимое поле (не скрытое, а невидимое)

<input name="prod_id" value="[*id*]" style="display:none;">


Где в значении должен быть id документа-товара.

Также в вызов eForm добавляем такие строчки: &eFormOnBeforeMailSent=`oneclick_name` &eFormOnMailSent=`oneclick` (они служат для вызова функций при определенных событиях: до отправки формы и после отправки формы). В итоге у нас должно получиться что-то вроде этого:

[!eForm? 
&formid=`shopOrderFormOneClick` 
&tpl=`oc_shopOrderForm` 
&report=`oc_shopOrderReport` 
&to=`admin@site.com` 
&gotoid=`115` 
&subject=`Новый заказ в 1 клик` 
&vericode=`0` 

&eFormOnBeforeMailSent=`oneclick_name` 
&eFormOnMailSent=`oneclick` 
!]


Далее создаем сниппет, называем его OneClick, вставляем в него нижеприведенный код и сам вызов сниппета вставляем над вызовом eForm.

<?php
	if (!function_exists('oneclick_name')
	{function oneclick_name(&$fields)
		{
			global $modx;
			$id = $fields['prod_id'];
			if (!is_numeric($id)) return;
			$url = $modx->makeUrl($id, '', '', 'full');
			$pagetitle = $modx->db->getValue('Select `pagetitle` from '.$modx->getFullTableName('site_content').' where `id`='.$id);	
			$price = $modx->db->getValue('Select `value` from '.$modx->getFullTableName('site_tmplvar_contentvalues').' where `contentid`='.$id.' and `tmplvarid`=6');
			$fields['orderData'] = '<p><a href="'.$url.'" target="_blank">'.$pagetitle.'</a> - '.$price.' руб.</p>';
		}
	}
	if (!function_exists('oneclick')
	{
		function oneclick(&$fields)
		{
			global $modx;
			if ($modx->db->getRecordCount($modx->db->query("show tables from ".$modx->db->config['dbase']." like '".$modx->db->config['table_prefix']."manager_shopkeeper'"))==0) return;
			$id = $fields['prod_id'];
			if (!is_numeric($id)) return;
			
			$short_txt = is_array($fields) ? $modx->db->escape(serialize($fields)) : '';	
			$userLoggedIn = $modx->userLoggedIn();
			$userId = $userLoggedIn!==false ? $userLoggedIn['id'] : 0;
			$short_txt = is_array($fields) ? $modx->db->escape(serialize($fields)) : '';
			
			$price = $modx->db->getValue('Select `value` from `modx_site_tmplvar_contentvalues` where `contentid`='.$id.' and `tmplvarid`=6');
			$arr = array(array('0'=>$id,'2'=>$price,'1'=>1,'catalog'=>0));
			
	 	 $userLoggedIn = $modx->userLoggedIn();
        	   $userId = $userLoggedIn!==false ? $userLoggedIn['id'] : 0;
			
			$ins_fields = array(
			'short_txt' => $short_txt,
			'content' => $modx->db->escape(serialize($arr)),
			'allowed' => 'all',
			'addit' => '',
			'price' => $price,
			'currency' => 'руб.',
			'date' => date("Y-m-d H:i:s"),
			'note' => 'Заказ в 1 клик.',
			'email' => $fields['email'],
			'phone' => $fields['phone'],
			'payment' => '',
			'tracking_num' => '',
			'status' => 1,
			'userid' => $userId
			);
			
			$order_id = $modx->db->insert($ins_fields, $modx->getFullTableName('manager_shopkeeper'));	
			$modx->invokeEvent('OnSHKsaveOrder', array('id' => $order_id,'purchases' => serialize($arr)));
			$modx->invokeEvent('OnSHKChangeStatus',array('order_id'=>$order_id,'status'=>1));
			
		}
	}


Первая функция создает плейсхолдер [+orderData+] с наименованием и ценой для вставки в письмо. Вторая функция записывает этот заказ в базу.

Не забываем поправить в определении цены нужный id тв-параметра

Собственно и все)

Если есть вопросы — пишите, постараюсь ответить.

Также привожу свои чанки, но они просто для примера, можете творить свои

Чанк oc_shopOrderForm

<form method="post" action="[~[*id*]~]" id="shopOrderFormOneClick" class="form-horizontal">
	<input type="text" name="prod_id" value="[*id*]" id="prod_id" style="display:none;">	
	<input type="hidden" name="formid" value="shopOrderFormOneClick">
	<input type="text" name="name" value="" required="required" placeholder="Ваше имя" class="form-control">
	<input type="tel" name="phone" value="" required="required" placeholder="номер телефона" class="form-control" data-mask="+7(999)999-99-99">
	<textarea name="comment" id="comment" class="form-control" placeholder="Комментарий"></textarea>	
	<div style="text-align:center; margin-top:20px;">
		<input type="submit" class="button btn-bg btn btn-success buttblue" value="завершить покупку →" >
	</div>
</form>


Чанк oc_shopOrderReport

<p>В интернет-магазине сделан заказ.</p>
<b>Состав заказа:</b>

[+orderData+]

<br /><br />

<b>Данные покупателя:</b><br />

<table cellpadding="3">
<tr><td>Ф.И.О.:</td><td>[+name+]</td></tr>
<tr><td>Телефон:</td><td>[+phone+]</td></tr>
<tr><td>Комментарий:</td><td>[+comment+]</td></tr>

</table>