Помощь Изменить сообщение при регистрации

Статус
В этой теме нельзя размещать новые ответы.
по ссылкам нет файлов для скачивания ...

нашел бесплатный компонент для J 1.5
Для просмотра ссылки Войди или Зарегистрируйся
проверил, работает. можно теперь делать HTML версию всей стандартных уведомлений. но мне видимо везет... оказалось что если стоит Virrtuemart то этот компонент не реагирует на изменения.... видимо VM где заменяет на свои файлы регистрации... вообщем ищу дальше.... уже устал...
 
фуф, вроде заставил работать. выкладываю мануал, как заставить работать версию VM Emails Manager 2.1.7 на VirtueMart 1.1.9 .

1. Сделать бякап файлов

administrator/components/com_virtuemart/classes/ps_checkout.php
administrator/components/com_virtuemart/classes/ps_order.php
administrator/components/com_virtuemart/classes/ps_shopper.php
administrator/components/com_virtuemart/classes/ps_user.php

2. Установить компонент

3. administrator/components/com_virtuemart/classes/ps_checkout.php

найти фун-цию "email_receipt($order_id)", около строки # 2165:
сразу после строк

Код:
// Reset the list of order items for use in the vendor email

$dboi->reset();

вставить этот код

Код:
//START_VM_EMAILS_HERE

include_once JPATH_ADMINISTRATOR.DS.'components'.DS.'com_vmemails'.DS.'models'.DS.'vmemails.php';

$vmEmailsModel = new vmemailsModelVmemails(vmemailsModelVmemails::$TYPE_ORDER_CONFIRM);

$shopper_mail = $vmEmailsModel->handleEmail(array('email'=>$shopper_email, 'orig_subject'=>$shopper_subject,'orig_body'=>$shopper_html, 'orig_alt_body'=>$shopper_header.$shopper_message.$shopper_footer, 'order_confirmation_vars'=>$template->vars));

$dboi->reset();

$vmEmailsModel = new vmemailsModelVmemails(vmemailsModelVmemails::$TYPE_ADMIN_ORDER_CONFIRM);

$template->set_vars(array('order_header_msg' => $vendor_header,'order_link' => $vendor_order_link,'is_email_to_shopper' => false));

$vendor_html = $template->fetch('order_emails/confirmation_email.tpl.php');

$vendor_mail = $vmEmailsModel->handleEmail(array('email'=>$vendor_email, 'orig_subject'=>$vendor_subject, 'orig_body'=>$vendor_html, 'orig_alt_body'=>$vendor_header.$shopper_message.$vendor_footer,'order_confirmation_vars'=>$template->vars, 'replyto'=>$shopper_email, 'shopper_name'=>$shopper_name));

$dboi->reset();

//END_VM_EMAILS_HERE
Закоментить эти две строки:

Код:
//$shopper_mail = vmMail( $from_email, $mosConfig_fromname, $shopper_email, $shopper_subject, $shopper_mail_Body, $shopper_mail_AltBody, true, null, null, $EmbeddedImages);

//$vendor_mail = vmMail( $from_email, $mosConfig_fromname, $vendor_email, $vendor_subject, $vendor_mail_Body, $vendor_mail_AltBody, true, null, null, $EmbeddedImages, null, $shopper_email);

4. administrator/components/com_virtuemart/classes/ps_order.php

в функции "notify_customer( &$d )", строка ~# 394:
заменить код:

Код:
$result = vmMail( $dbv->f("contact_email"),  $dbv->f("vendor_name"),

$db->f("user_email"), $mail_Subject, $mail_Body, '' );

следующим кодом:

Код:
//START_VM_EMAILS_HERE

include_once JPATH_ADMINISTRATOR.DS.'components'.DS.'com_vmemails'.DS.'models'.DS.'vmemails.php';

$vmEmailsModel = new vmemailsModelVmemails(vmemailsModelVmemails::$TYPE_ORDER_SATAUS_CHANGED);

$db->query($q);$db->next_record();

$result = $vmEmailsModel->handleEmail(array('order_id'=>$d["order_id"], 'shopItemid'=>$sess->getShopItemid(), 'email'=>$db->f("user_email"), 'orig_subject'=>$mail_Subject, 'orig_body'=>$mail_Body, 'orig_alt_body'=>$mail_Body));

//END_VM_EMAILS_HERE


и после строк
Код:
$mail_Body = $message;
$mail_Subject = $VM_LANG->_('PHPSHOP_DOWNLOADS_SEND_SUBJ',false);

вставить вот это
Код:
//START_VM_EMAILS_DOWNLOAD_ID
include_once JPATH_ADMINISTRATOR.DS.'components'.DS.'com_vmemails'.DS.'models'.DS.'vmemails.php';
$vmEmailsModel = new vmemailsModelVmemails(vmemailsModelVmemails::$TYPE_DOWNLOAD_ID);
$db->query($q);$db->next_record();
$result = $vmEmailsModel->handleEmail(array('order_id'=>(int)$d["order_id"], 'shopItemid'=>$sess->getShopItemid(), 'email'=>$db->f("user_email"), 'orig_subject'=>$mail_Subject, 'orig_body'=>$mail_Body, 'orig_alt_body'=>$mail_Body));
//END_VM_EMAILS_DOWNLOAD_ID



5. administrator/components/com_virtuemart/classes/ps_shopper.php

в функцию "_sendMail($name, $email, $username, $pwd, $activation_link='')", строка ~# 818:
заменить код после строки: if( VM_REGISTRATION_TYPE != 'NO_REGISTRATION' || (VM_REGISTRATION_TYPE == 'OPTIONAL_REGISTRATION' && !empty($d['register_account']))) {:
Код:
vmMail($adminEmail2, $adminName2, $email, $subject, $message);


Этим кодом

Код:
//START_VM_EMAILS_HERE

include_once JPATH_ADMINISTRATOR.DS.'components'.DS.'com_vmemails'.DS.'models'.DS.'vmemails.php';

$vmEmailsModel = new vmemailsModelVmemails(vmemailsModelVmemails::$TYPE_REGISTRATION);

$vmEmailsModel->handleEmail(array('username'=>$username, 'password'=>$pwd, 'email'=>$email, 'orig_subject'=>$subject, 'orig_body'=>$message, 'orig_alt_body'=>$message));

//END_VM_EMAILS_HERE


6. administrator/components/com_virtuemart/classes/ps_user.php

строка 605 заменить код

Код:
vmMail( $adminEmail, $adminName, $email, $subject, $message );

на код

Код:
//START_VM_EMAILS_HERE

include_once JPATH_ADMINISTRATOR.DS.'components'.DS.'com_vmemails'.DS.'models'.DS.'vmemails.php';

$vmEmailsModel = new vmemailsModelVmemails(vmemailsModelVmemails::$TYPE_REGISTRATION);

$vmEmailsModel->handleEmail(array('username'=>$username, 'password'=>$password, 'email'=>$email, 'orig_subject'=>$subject, 'orig_body'=>$message, 'orig_alt_body'=>$message, 'admin_reg'=>true));

//END_VM_EMAILS_HERE
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху