Главная » Функционал » Нестандартные решения » Сообщение об ошибке

Сообщение об ошибке

17.02.2012 в 20:21
Автор: dark13f   

1.1. Переходим в модуль "Почтовые формы", если модуль не активирован, активируем. Для этого надо нажать на кнопку "Неактивные" и выбрать модуль "Почтовые формы". Переходим в раздел "Управление почтовыми формами".



1.2. Создаем почтовую форму.



1.3. В пункте "Ответ об успешной отправке письма:" вставляем следующий код:
Code
<b>Спасибо.</b><br><br>Ваше сообщение о нерабочей ссылке было успешно отправлено.<br><br><br>[ <a href="javascript://" onclick="_uWnd.findparent(this).close();"><b>Закрыть окно</b></a> ]

Код взят из урока "Удобное сообщение о нерабочей ссылке" за авторством G-XPert'а.

Вообще-то этот код можно и не вставлять, а оставить все как есть. По сути, это дополнительная кнопка для закрытия ajax-окна. На левом скриншоте код не используется.



2.1. Переходим в "Конструктор полей". К базовым 3 полям (E-mail, Тема, Сообщение) добавляем еще одно, рассчитанное под ссылку материала.

Важно: Снимите со всех полей галочки "Обязательное поле".



2.2. Нажимаем ссылку "Перестроить шаблон формы".



Получаем такой код:
Code
<table border="0" width="100%" id="table1" cellspacing="1" cellpadding="2">
<tr><td width="35%">Ваш e-mail:</td><td><input type="text" name="f1" size="30" style="width:95%;" maxlength="70"> </td></tr>
<tr><td>Тема:</td><td><input type="text" name="f2" size="30" style="width:95%;" maxlength="70"> </td></tr>
<tr><td>Сообщение:</td><td><textarea rows="7" name="f3" cols="30" style="width:95%;"></textarea> </td></tr>
<tr><td>Ссылка:</td><td><textarea rows="7" name="f4" cols="30" style="width:95%;"></textarea> </td></tr>
<tr><td colspan="2" align="center"><br /><input type="submit" value="Отправить сообщение"></td></tr>
</table>

Последний ряд (tr) с надписью "Отправить сообщение" удаляем.

3.1. Основной код за авторством G-XPert'а:
Code
<form method="post" name="badlink" id="f6F9kL" style="margin: 0pt;" onsubmit="fun6F9kL();return false;"><input name="f1" size="30" value="bitlink@yousite" maxlength="70" type="hidden"><input name="f2" size="30" value="Нерабочая ссылка!" type="hidden"><input name="f3" size="30" value="0" type="hidden"><input style="display: none;" name="sbm" type="submit"><input name="id" value="2" type="hidden"><input name="a" value="1" type="hidden"><input name="o" value="1" type="hidden"></form><script type="text/javascript"><br>var sblmb2=0;<br>function fun6F9kL(){try {var tr=checksubmit();<br>if(!tr){return false;}}catch(e){}<br>if (sblmb2==1){return false;}<br>sblmb2=1;<br>openLayerB('sendMFe2','f6F9kL','/mail/','Отправка сообщения',350,150,'','','1');};<br>document.badlink.f3.value=document.location.href;<br></script><br>[ <a href="javascript://" onclick="if (confirm('_______________________________ Вы уверены, что ссылка нерабочая? ________________________________ Если она окажется на самом деле рабочей, вы будете заблокированы Администратором сайта!')){openLayerB('sendMFe2','f6F9kL','/mail/','Отправка сообщения',350,150,'','','1');};document.badlink.f3.value=document.location.href;return false;">Сообщить о нерабочей ссылке</a> ]

Примечание от G-Xpert'a: Где <input name="id" value="2" type="hidden">, var sblmb2=0, if (sblmb2==1){return false;}, openLayerB('sendMFe2'. Где 2 - это ID почтовой формы! Узнать ID можно так: рядом с формой будет её код, например: $MFORM_2$. 2 - это и есть ID почтовой формы.

3.2. Этот код оставляем без изменений:
Code
<form method="post" name="badlink" id="f6F9kL" style="margin: 0pt;" onsubmit="fun6F9kL();return false;">


3.3. Далее используем код полученный при перестройке шаблона:
Code
<table border="0" width="100%" id="table1" cellspacing="1" cellpadding="2">
<tr><td width="35%">Ваш e-mail:</td><td><input type="text" name="f1" size="30" style="width:95%;" maxlength="70"> </td></tr>
<tr><td>Тема:</td><td><input type="text" name="f2" size="30" style="width:95%;" maxlength="70"> </td></tr>
<tr><td>Сообщение:</td><td><textarea rows="7" name="f3" cols="30" style="width:95%;"></textarea> </td></tr>
<tr><td>Ссылка:</td><td><textarea rows="7" name="f4" cols="30" style="width:95%;"></textarea> </td></tr>
</table>

Если хотите, чтобы посетители отправляли сообщение используя свой e-mail, ряд "Ваш e-mail" оставляем без изменений. Если хотите скрыть этот пункт, удалите:<td width="35%">Ваш e-mail:</td> и style="width:95%;". Добавьте тег value="значение поля, в данном примере e-mail" и измените type="text" на type="hidden".

Код должен выглядеть так:
Code
<tr><td><input type="hidden" value="e-mail" name="f1" size="30" maxlength="70"> </td></tr>

Аналагичным способом прячем другие поля.

Code
<tr><td>Ссылка:</td><td><textarea rows="7" name="f4" cols="30" style="width:95%;"></textarea> </td></tr>

Поле с ссылкой заменяем на вариант G-Xpert'a:
Code
<input name="f3" size="30" value="0" type="hidden">

Внимание: скрипт работает с тегом name. В моем примере, у поля "Ссылка", тег name равен f4, в коде G-Xpert'a тег равен f3. Чтобы не произошло путаницы, поменяйте названия самих полей или измените значение тега в скрипте. Где нужно поменять значение тега:
Code
document.badlink.f3.value=document.location.href


В итоге код должен выглядеть так:
Code
<table border="0" width="100%" id="table1" cellspacing="1" cellpadding="2"><tr><td><input type="hidden" name="f1" size="30" value="e-mail" maxlength="70"> </td></tr>
<tr><td width="25%">Тема:</td><td><input type="text" name="f2" size="30" style="width:95%;" maxlength="70"> </td></tr>
<tr><td>Сообщение:</td><td><textarea rows="7" name="f3" cols="30" style="width:95%;"></textarea> </td></tr></table><input name="f4" size="30" value="0" type="hidden">


3.4. Рассмотрим оставшийся код:
Code
<input style="display: none;" name="sbm" type="submit"><input name="id" value="2" type="hidden"><input name="a" value="1" type="hidden"><input name="o" value="1" type="hidden"></form><script type="text/javascript"><br>var sblmb2=0;<br>function fun6F9kL(){try {var tr=checksubmit();<br>if(!tr){return false;}}catch(e){}<br>if (sblmb2==1){return false;}<br>sblmb2=1;<br>openLayerB('sendMFe2','f6F9kL','/mail/','Отправка сообщения',350,150,'','','1');};<br>document.badlink.f3.value=document.location.href;<br></script><br>[ <a href="javascript://" onclick="if (confirm('_______________________________ Вы уверены, что ссылка нерабочая? ________________________________ Если она окажется на самом деле рабочей, вы будете заблокированы Администратором сайта!')){openLayerB('sendMFe2','f6F9kL','/mail/','Отправка сообщения',350,150,'','','1');};document.badlink.f3.value=document.location.href;return false;">Сообщить о нерабочей ссылке</a> ]

Странно, в javascript'е теги html (br). Опечатка, удаляем.

Code
[ <a href="javascript://" onclick="if (confirm('_______________________________ Вы уверены, что ссылка нерабочая? ________________________________ Если она окажется на самом деле рабочей, вы будете заблокированы Администратором сайта!')){openLayerB('sendMFe2','f6F9kL','/mail/','Отправка сообщения',350,150,'','','1');};document.badlink.f3.value=document.location.href;return false;">Сообщить о нерабочей ссылке</a> ]

Если оставить код как есть, получится слишком утомительное сообщение. Целых три всплывающих окна. Убираем это сообщение:
Code
[ <a href="javascript://" onclick="openLayerB('sendMFe2','f6F9kL','/mail/','Отправка сообщения',350,150,'','','1');document.badlink.f3.value=document.location.href;return false;">Сообщить о нерабочей ссылке</a> ]


3.5. В общем, код должен выглядеть примерно так:
Code
<form method="post" name="badlink" id="f6F9kL" style="margin: 0pt;" onsubmit="fun6F9kL();return false;"><table border="0" width="100%" id="table1" cellspacing="1" cellpadding="2"><tr><td><input type="hidden" name="f1" size="30" value="e-mail" maxlength="70"> </td></tr>
<tr><td width="25%">Тема:</td><td><input type="text" name="f2" size="30" style="width:95%;" maxlength="70"> </td></tr>
<tr><td>Сообщение:</td><td><textarea rows="7" name="f3" cols="30" style="width:95%;"></textarea> </td></tr></table><input name="f4" size="30" value="0" type="hidden"><input style="display: none;" name="sbm" type="submit"><input name="id" value="2" type="hidden"><input name="a" value="1" type="hidden"><input name="o" value="1" type="hidden"></form><script type="text/javascript">var sblmb2=0;function fun6F9kL(){try {var tr=checksubmit();if(!tr){return false;}}catch(e){}if (sblmb2==1){return false;}sblmb2=1;openLayerB('sendMFe2','f6F9kL','/mail/','Отправка сообщения',350,150,'','','1');};document.badlink.f4.value=document.location.href;</script><br><div align="center"><a style="text-decoration:none;" href="javascript://" onclick="openLayerB('sendMFe2','f6F9kL','/mail/','Отправка сообщения',350,150,'','','1');document.badlink.f4.value=document.location.href;return false;"><button style="color:#515151;font-family:Tahoma,Arial;font-size:8pt;vertical-align:middle;">Отправить сообщение</button></a></div>

Создаем текстовый файл, вставляем этот код и сохраняем как error.html. Загружаем эту страницу на свой сайт, с помошью файлового менеджера.



4. Вставляем этот код на страницу материала и комментариев к нему:
Code
<a onclick="new _uWnd('error','Сообщение об ошибке',450,250,{align:'left',autosize:0,closeonesc:1,hideonmove:0},{url:'/error.html',xml:false});return false;" href="javascript://">Сообщить об ошибке!</a>

url:'/error.html' - путь к странице с кодом.

Подробнее об ajax-окнах можно узнать здесь.



Надеюсь, все понятно объяснил.

Ошибка, сообщение об ошибке


Рейтинг: -6  (помогла ли Вам эта инструкция: да / нет)          Просмотров: 6770          Комментариев: 0

Похожие инструкции