گرویتی فرم

ارزیابی پویا در فرم ها چیست؟

تاریخ: جمعه ۲۹ خرداد ۱۳۹۴

دسته بندی:  آموزش

تعداد نظر: ۷۲

تعداد بازدید: ۱۶۳۳۱


سلام
حتما در حین ساخت فرم، تو تب “پیشرفته” برخی فیلدها، متوجه گزینه “اجازه دادن به فیلد برای ارزیابی پویا” شدید.

این سوال از طرف دوستان پرسیده میشد که کاربرد این گزینه دقیقا چی هست؟

توی این پست آموزشی کاربرد کامل این گزینه رو توضیح میدیم:

فرض کنید که شما یک فرم ساختید و میخواهید که مقدار برخی از فیلدها رو از پیش مشخص یا تعیین کنید ولی نمیخواید که این مقادیری که تعیین میکنید ثابت باشن و دوست دارید که هر سری بتونید این مقادیر رو تغییر بدید بدون اینکه هربار فرمتون رو ویرایش کنید.

خب روش اولی که به ذهنتون میرسه اینه که توی همون تب “پیشرفته” فیلدها ، قسمت “مقدار پیشفرض” رو پرکنید. ولی نه ، روش ما این نیست.
درسته وقتی که قسمت “مقدار پیشفرض” رو پر میکنید زمانیکه فرم برای کاربر ظاهر میشه ، این مقدار پیشفرض تعیین شده بهش نمایش داده میشه که اونم میتونه تغییرش بده اما این مقدار پیشفرض یک مقدار ثابتی هست و اگه بخواید که این مقدار رو تغییر بدید باید دوباره فرم رو ویرایش کنید .

حالا فرض کنید شما بخواید این مقدار پیشفرض رو از این حالت استاتیک به یه حالت پویا یا داینامیک تغییر بدید. یعنی اینکه بجای اینکه چند فرم با مقدار پیشفرض های مختلف بسازید یا یک فرم رو هر سری ویرایش کنید، یک فرم بسازید ولی کنترل این مقادیر پیشفرض یا مقادیر از پیش تعیین شده رو خودتون یا کاربرها از روش های زیر به دست بگیرید.

اما روش استفاده از این ارزیابی های پویا:

وقتی شما تیک مربوط به گزینه “اجازه دادن به فیلد برای ارزیابی پویا” رو در تب “پیشرفته” فیلد میزنید یک گزینه دیگه به اسم “نام پارامتر” زیر همون گزینه ظاهر میشه. انتخاب نام پارامتر کاملا اختیاری است. به فرض من یک فیلد محصول انتخاب میکنم و نام پارامترم رو مثل تصویر زیر، میذارم: price

dynamic

خب حالا من به سه روش میتونم از این پارامتر استفاده کنم:

روش اول = کوئری استرینگ ها : فرض کنید من یک برگه توی سایت ساختم که نامک اون برگه باشه: test .حالا داخل این برگه من از طریق دکمه “افزودن فرم” ، فرمی که بالا توضیح دادم رو اضافه کردم. برای استفاده از ارزیابی پویا ، آدرس برگه رو توی مرورگرم به شکل زیر وارد میکنم :

http://site.com/test?price=5000

یعنی بعد از آدرس برگه یک علامت سوال انگلیسی وارد میکنم و بعد از اون هم نام پارامترم رو وارد میکنم. بعد از نام پارامترم مساوی با مقدار مد نظرم رو وارد کردم.

حالا میبینید که با لود شدن برگه و ظاهر شدن فرمم، داخل فیلد محصولم به صورت خودکار عدد 5000 تومان تایپ شده .

اما برای استفاده از ارزیابی پویا های چند فیلد فقط قبل از نام پارامتر اول علاومت سوال میذارم و از نام پارامتر دوم به بعد از علامت & استفاده میکنم . مثل نمونه زیر :

http://site.com/test?price=5000&name=hannanstd&age=22

روش دوم = استفاده از شورت کد ها : میتونید از شورت کد هایی مثل شورت کد زیر برای به کار گیری ارزیابی پویا استفاده کنید. یعنی باید به شورت کد های قبلی تون field_values رو هم اضافه کنید . دقت کنید که باز هم برای جدا کردن پارامتر ها از علامت & استفاده کنید. مثل شورت کد زیر :

[gravityform* id=1 title="true" description="true" ajax="true" field_values='parameter_name1=value1&parameter_name2=value2']

تو شورت کد بالا بجای عدد 1 باید آیدی فرم رو وارد کنید بجای parameter_name های 1 و 2 هم باید نام پارامتر های فیلدهای 1 و 2 رو وارد کنید و به جای value های 1و 2 نیز مقادیر پیشفرضی که برای این فیلدها مد نظر دارید رو .
تذکر: موقع استفاده از کد بالا اون * رو حذف کنید.

روش سوم = هوک های وردپرس ( مناسب برای توسعه دهندگان و برنامه نویسان) : توی هوک زیر بجای your_parameter باید نام پارامتر خودتون و بجای hannan هم مقدار پیشفرضی که مد نظر دارید رو وارد کنید .

add_filter( 'gform_field_value_your_parameter', function ( $value ) {
	return 'hannan';
}, 999, 1 );

۷۲ دیدگاه برای این محصول ثبت شده است!


ارسال نظر برای این مطلب غیرفعال شده است.