Благодаря супер поддержке со всем разобралась)) Выше приведен рабочий пример для интернет - магазина!
А этот для для интернет-магазина и информационных систем:
1. ссылка в шаблоны:
Интернет - магазин:
<li class="call-to-action"><a href="/send-order/?shop_item_id={@id}" class="theme_btn">Заказать</a></li>
Информационная система:
<li class="call-to-action"><a href="/send-order/?informationsystem_item_id={@id}" class="theme_btn">Заказать</a></li>
2. В форме создаете скрытое поле с названием элемента "shop_item_name".
3. 3. В коде формы получаете ID и если оно передано, то добавляете название в скрытое поле формы, для этого в коде ТДС формы блок
if (!is_null(Core_Array::getPost($oForm->button_name)))
{
$Form_Controller_Show
->values($_POST + $_FILES)
// 0 - html, 1- plain text
->mailType(Core_Array::get(Core_Page::instance()->libParams, 'mailType'))
->mailXsl(
Core_Entity::factory('Xsl')->getByName(Core_Array::get(Core_Page::instance()->libParams, 'notificationMailXsl'))
)
->mailFromFieldName(Core_Array::get(Core_Page::instance()->libParams, 'emailFieldName'))
->process();
}
на блок:
$aValues = $_POST + $_FILES;
$shop_item_id = intval(Core_Array::getGet('shop_item_id'));
if ($shop_item_id)
{
$oShop_Item = Core_Entity::factory('Shop_Item', $shop_item_id);
$aValues['shop_item_name'] = $oShop_Item->name;
}
$informationsystem_item_id = intval(Core_Array::getGet('informationsystem_item_id'));
if ($informationsystem_item_id)
{
$oInformationsystem_Item = Core_Entity::factory('Informationsystem_Item', $informationsystem_item_id);
$aValues['shop_item_name'] = $oInformationsystem_Item->name;
}
$Form_Controller_Show
->values($aValues);
if (!is_null(Core_Array::getPost($oForm->button_name)))
{
$Form_Controller_Show
//->values($_POST + $_FILES)
// 0 - html, 1- plain text
->mailType(Core_Array::get(Core_Page::instance()->libParams, 'mailType'))
->mailXsl(
Core_Entity::factory('Xsl')->getByName(Core_Array::get(Core_Page::instance()->libParams, 'notificationMailXsl'))
)
->mailFromFieldName(Core_Array::get(Core_Page::instance()->libParams, 'emailFieldName'))
->process();
}