Omid

From MODx Wiki

(Redirected from Fa:eForm)
Jump to: navigation, search
Eform Logo
Eform Logo

 MODx Snippet 

eForm v1.4.3
Author 
TobyL
MODx Versions 
>= 0.9.5
Last Updated 
27 June 2007


eForm یک اسنیپت فوق العاده انعطاف پذیر برای پردازش و تجزیه و تحلیل فرم هاست که به شما اجازه می دهد تا فرمهای تحت وب(web forms) را به یک نامه الکترونیکی(Email) تبدیل کنید و آن را توسط ایمیل به کاربرانی که در خود اسنیپت و یا در فرم مشخص شده اند، ارسال کنید. بخشی از ویژگی های برجسته عبارتند از:
- اعتبارسنجی فرم(Form Validation) با استفاده از قوانین اعتبارسنجی قدرتمند.
- حفاظت از فیلدهای مخفی(Hidden Fields) در مقابل نفوذها(Tampering).
- پشتیبانی از CAPTCHA.
- پشتیبانی از فایل های الصاقی(Attach Files)و نامه های تحت وب(HTML Emails).
- تولید اطلاعیه و صفحه بصورت انعطاف پذیر با استفاده از Placeholderها.
- قابلیت اطلاع رسانی توسط دستگاه های قابل حمل(Mobile Devices).
- دارای سیستم پاسخگویی خودکار ایمیل.
- پشتیبانی از فیلدهای CC و BCC.

دانلود

آخرین نسخه EForm را می توانید از مخزن MODx دریافت کنید.

نصب

- فایل فشرده EForm را در مسیر assets/snippet/ از حالت فشرده خارج کنید(Unzip کنید). شما در حال حاضر باید یک پوشه جداگانه با نام eform داشته باشید.
- یک اسنیپت جدید ایجاد کنید، نام آن را eform بگذارید و محتویات فایل eform.snippet.tpl را داخل آن کپی کنید.
- برای مشاهده مثال ها و اطلاعات بیشتر، فایل eform/docs/eform.htm را مطالعه کنید.
- این اسنیپت را به همراه پارامترهایی که نیاز دارید در صفحه ای که مایل هستید، وارد کنید.



راهنمای استفاده

پارامترها

پارامتر های اجباری

اجباری - &formid
شناسه (Id) فرم در صفحه ای که توسط این اسنیپت مدیریت می شود. برای نمونه:
<form id=”formid”>






اجباری - &tpl
نام چانک یا شناسه پرونده ای که به عنوان قالب استفاده خواهد شد.





اجباری - &report
نام چانک یا شناسه پرونده ای که در زمان تولید اطلاعیه ها(Reports) استفاده می شود.





&noemail
در صورت استفاده از این پارامتر دیگر نیازی به پارامتر بالا نمی باشد.





پارامتر های اختیاری

&to
آدرس پست الکترونیکی که اطلاعات Eform به آن فرستاده شود. برای چندین پست الکترونیکی از کاما (,) استفاده کنید. اگر این قسمت وجود نداشته باشد از پست الکترونیک داده شده در تنظیمات سایت استفاده می شود.






&from
این پارامتر برای قرار دادن پست اکترونیکی به عنوان فرستنده در مشخصات پست الکترونیکی گیرنده استفاده می شود.





&fromname
برای نمایش نام فرستنده در قسمت مشخصات پست الکترونیکی گیرنده استفاده می شود.





&replyto
پست الکترونیکی که برای جواب دادن به ایمیل فرستاده شده مشخص می کنید.





پیشامدها

eFormOnBeforeFormParse

این event (رخداد) تقریبا قبل از تحلیل و پردازش فرم فراخوانی می شود. تحلیل و پردازش فرم فقط درصورتی انجام می گیرد که داده $_POST موجود و برای فرم معتبر باشد.

eFormOnValidate

بعد از تحلیل و پردازش اعتبارسنجی داخلی(Built-in Validation) فراخوانی می شود و برای اعتبارسنجی های توسعه یافته کاربرد دارد.

eFormOnBeforeMailSent

این تابع قبل از فرستاده شدن پیغام و صرفنظر از هماهنگ(Set) بودن &noemail فراخوانی می شود.

eFormOnMailSent

بعد از فرستاده شدن پیغام، فراخوانی می شود. اگر &to هماهنگ نباشد و یا آدرس معتبر نباشد، فراخوانی انجام نخواهد شد.

eFormOnBeforeFormMerge

آخرین رخدادی که قبل از فرستادن فرم به مرورگر متقاضی(Client Browser)، فراخوانی می شود.

مثالها

فرمهای EForm

چانکی ساده برای یک فرم ارتباطی(ContactForm)

<p class="error">[+validationmessage+]</p>
 
<form method="post" action="[~[*id*]~]" id="EmailForm" name="EmailForm">
 
	<fieldset>
	<h3> Contact Us</h3>
 
	<input name="formid" type="hidden" value="ContactForm" />
 
	<label for="cfName">Your name:
	<p>
        <input name="name" id="cfName" class="text" type="text" eform="Your Name::1:" />
        </p>
        </label>
 
	<label for="cfEmail">Your Email Address:
	<p>
        <input name="email" id="cfEmail" class="text" type="text" eform="Email Address:email:1" />
        </p>
        </label>
 
	<label for="cfRegarding">Regarding:
	<p>
        <input name="subject" id="cfRegarding" class="text" type="text" eform="Form Subject::1" />
        </p>
        </label>
 
	<label for="cfMessage">Message:
	<p>
        <textarea name="message" id="cfMessage" eform="Message:textarea:1">
        </textarea>
        </p>
	</label>
 
	<label>&nbsp;</label>
        <p>
        <input type="submit" name="contact" id="cfContact" class="button" value="Send This Message" />
        </p>
 
	</fieldset>
 
</form>
--ScottyDelicious 16:00, 5 December 2006 (PST)

فرمهای اطلاعیه ای EForm

یک فرم خبردهی ساده(ContactFormReport)

<p>This is a response sent by <b>[+Name+]</b> using the feedback form on this website.
The details of the message follow below:</p>
 
<p>Name: [+name+]</p>
<p>Email: [+email+]</p>
<p>Regarding: [+subject+]</p>
<p>Comments:<br />[+message+]</p>
 
<p>Use this to reply: <a href="mailto:[+email+]?subject=RE: [+subject+]">[+email+]</a></p>
--ScottyDelicious 16:00, 5 December 2006 (PST)

نحوه ی فراخوانی اسنیپت eForm در داخل پرونده

[!eForm? &formid=`ContactForm` &subject=`[+subject+]` &to=`you@youremail.com` 
&ccsender=`1` &tpl=`ContactForm` &report=`ContactFormReport` &gotoid=`1`  !]

تذکرات

- اگر شما برای فرم خود، استفاده از یک Template(قالب) را به استفاده از یک چانک ترجیح می دهید(با استفاده از پارامتر tpl)، از غیرفعال بودن ویژگی richtext اطمینان حاصل کنید. در غیر اینصورت، برای اولین باری که فرم را ویرایش می کنید تمامی eformهای منتسب ساختگی، بی حفاظ خواهند بود.
- در فراخوانی اسنیپت، Tick marks(`) با SingleQoutes(‘) یکی نیستند و درصورت استفاده از Single Qoutes خطای زیر به نمایش در خواهد آمد:

“Document or chunk not found for template id=”


منابع

eForm Howtos on MODxWiki
Personal tools