(c) Павел Беляев

При использовании статей с сайта добавляйте в копирайт © Блог Павла Беляева http://pavelb.ru

среда, 20 октября 2010 г.

Отправка уведомления о заказе админу в Virtuemart, если покупатель не указал свой email

Если делать в своем магазине процедуру покупки без всяких регистраций и с минимум усилий то скорей всего вам захочется сделать поле e-mail в данных пользователя необязательным, ведь не все имеют свою электронную почту да и не все хотят ее оставлять, вполне достаточно написать в регистрационной форме ФИО и Телефон, а e-mail по желанию.

Но вот ведь незадача! Если пользователь не введет своего емэйла, то и админу тоже не прийдет письмо с уведомлением о заказе. А почему? Сейчас попытаюсь разъяснить.

Открываем файл administrator/components/com_virtuemart/classes/ps_checkout.php

примерно на строках 2160-2162 находим такие две строки
$shopper_mail = vmMail( $from_email, $mosConfig_fromname, $shopper_email, $shopper_subject, $shopper_mail_Body, $shopper_mail_AltBody, true, null, null, $EmbeddedImages);
 
$vendor_mail = vmMail( $shopper_email, $shopper_name, $vendor_email, $vendor_subject, $vendor_mail_Body, $vendor_mail_AltBody, true, null, null, $EmbeddedImages);



Наверно стоит пояснить что тут происходит
В первой строке отправляется почта покупателю, а во второй строке почта отправляется продавцу, но при этом в качестве отправителя указывается почтовый ящик покупателя, но если он пустой, то письмо без отправителя не может отправиться.


Удаляем эти две строки и вместо них вставляем следующее содержимое


if (!$shopper_email)

{
$vendor_mail = vmMail( "robot@domain.ru", $shopper_name, $vendor_email, $vendor_subject, $vendor_mail_Body, $vendor_mail_AltBody, true, null, null, $EmbeddedImages);
}


else
{
$shopper_mail = vmMail( $from_email, $mosConfig_fromname, $shopper_email, $shopper_subject, $shopper_mail_Body, $shopper_mail_AltBody, true, null, null, $EmbeddedImages);


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

}


Где robot@domain.ru - адрес, от которого будет отправляться уведомление админу

пятница, 1 октября 2010 г.

Не заходит под гостем

Бывает такое, то что компьютер вдруг после каких то космических излучений перестает заходить на сетевые папки, которые открыты на общий доступ без пароля,
вы открываете сетевую папку или ресурс, а у вас просит ввести логин и пароль, вводите просто Гость и тогда заходит, при чем не помогает включение гостя в пользователях, вставка галочки "простой общий доступ" и т.д.

Если вам нужны просто папки, то при входе в папку еще сможете вводить в поле пользователь Гость.

Ну а если к примеру людям нужно печатать на сетевом принтере, и каждый раз после каждой перезагрузки заходить вручную под гостем на этот комп и после этого только получать доступ к принтеру совсем не интересно.

В общем есть кое какой костыль при этом глюке, который может помочь даже при автоподключении сетевого принтера, который запаролен и запрещен гостям

Тыкаем правой кнопкой на рабочем столе Создать -> Ярлык



пишем в поле размещение объекта   
net user \\192.168.0.144\printer /USER:Гость

далее-далее
этот ярлык размещаем в папке Автозагрузка нужного пользователя и готово)))