پارس جوم ::  انجمن های تخصصی جوملا
{ويژه} آموزش های کاربردی و کامل کامپوننت فرم ساز آر اس فرم RsForm - نسخه‌ی قابل چاپ

+- پارس جوم :: انجمن های تخصصی جوملا (https://forums.parsjoom.ir)
+-- انجمن: آموزش (/forum-25.html)
+--- انجمن: آموزش هاي جوملا (/forum-106.html)
+--- موضوع: {ويژه} آموزش های کاربردی و کامل کامپوننت فرم ساز آر اس فرم RsForm (/thread-7691.html)

صفحه‌ها: 1 2 3 4 5 6


استفاده از تگ های سفارشی در پیغام به کاربران - محمدسلیمانی - ۱۶-۱۲-۱۳۹۳ ۰۵:۱۰ صبح

خیلی خیلی ممنون از اینکه بعد از مشکلتون حل شد برای سایرین هم این مطلب رو به اشتراک گذاشتید

اما کار رو برای خودتون سخت کردید چون فقط کافیه تک های استفاده شده در فرم رو در پیامتون ذخیره کنید

مثل تصویر
[تصویر:  1425665129_499_d28dde9aab.png]


مثال: آقای/خانم {FullName:value} مشخصات شما در سامانه ذخیره شد. اطلاعات تکمیلی به ایمیل {Email:value} ارسال شد
و ادامه ماجرا

فرقی نمیکنه در پیام تشکر یا اس ام اس و ایمیل


فیلدهای شرطی یا مخفی شونده ( ورژن جدید) - محمدسلیمانی - ۱۳-۱-۱۳۹۴ ۱۲:۲۸ صبح

امروز با آموزش فیلدهای شرطی یا مخفی شونده در خدمت شما عزیزان هستم

این آمزش رو قبلا در انجمن منتشر کرده بودم که مبتنی بر برنامه نویسی بود اون موقع هنوز خود اراس فرم این قابلیت و نداشت
اما حالا خوشبختانه خود اراس فرم این امکان رو داره که چندین شرط رو برای یک فیلد لحاض کنیم

شاید یکی از جالب ترین کاربردهای این روش ایجاد فرم های داینامیک باشه و اینکه وقتی فیلدی رو اجباری قرار میدیم و شرط برای نمایش فیلد برقرار نمیشه
خودبه خود اجباری بودن فیلد از بین میره و میتونیم با خیال راحت فیلدها رو شرطی کنیم

قبل از آموزش شدیدن توصیه میکنم که برای فرم های که از فیلدهای زیادی برخوردارند از این روش استفاده کنید تا کاربران فرم ورود اطلاعات را پر کنند
اگر کاربر به یکباره با یک صفحه پر از فیلد برخورد کنه مطمئن باشید گزینه ای رو که انتخاب میکنه close بالا سمت راست است.

خوب میریم سروقت آموزش:

مرحله اول: همه فیلدهایی رو که میخوای در فرم وجود داشته باشه رو چه شرطی یا غیر شرطی مثل یک فرم معمولی ایجاد میکنیم

خوب از اینجا به بعدش من روی تصویر زیر توضیح میدم:

[تصویر:  1427893713_499_3195a03cac.jpg]

1- انتخاب گزینه خواص
2- ایجاد فیلد شرطی
3- انتخاب شرط ( این گزینه مشخص میکند که بعد از برقراری شرط فیلد چه رفتاری داشته باشد مخفی شود یا نمایش داده شود)
4- وقتی که شرط برقرار شد روی فیلد و لیبل این شرط اعمال شود یا فقط روی فیلد
5- فیلدی که میخواهیم شرط روی ان تاثیر بگذارد ( مخفی شود یا نمایش داده شود )
6- همه شرط ها رو دارا باشید یا خیر ( برای فیلدهای چند شرطی
1-6- مثال: ما میتوانیم فیلدهای چند شرطی ایجاد کنیم و شاید بخواهیم فیلد ما با برقراری هرکدام از شروط ها و یا همه شرط ها تاثیر بپذیرد.
7- انتخاب فیلدی که میخواهیم شرط را برقرار کند
8- انتخاب کنید که وقتی یک گزینه برقرار شود شرط برقرار شود یا وقتی یک گزینه انتخاب میشود شرط برقرار نشود
9- فیلدی اصلی که با انتخاب آن شرط برقرار میشه
10- ذخیره و تمام

اسکرین شات از فرم عادی

[تصویر:  1427894870_499_59f48d83fb.jpg]


اسکرین شات بعد از برقراری شرط

[تصویر:  1427894904_499_64c2d5a0d1.jpg]


دمو آنلاین:
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.



نکته:
1- اگر قصد ایجاد چند شرط را دارید بهتر است که چند شرط ایجاد کنید و تمام موارد را در یک شرط ایجاد نکنید مثل تصویر
[تصویر:  1427893790_499_4e00f17e13.jpg]

2- در این فرم دو شرط وجود دارد شرط اول مخفی کردن فیلد "جمع" و نمایش فیلد " درخواست"

3- در صورتی که در فیلدهای شرطی فیلد اجباری وجود داشت به صورت پیش فرض فیلدهایی که شرط آنها محقق نشده خاصیت اجباری بودن انها هم منتفی است.


امیدوارم این آموزش هم مورد قبول و استفاده شما عزیزان باشه اگر هم مشکلی داشتید اینجا بپرسید => دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.


احتمالا آموزش بعدی نحوه اتصال اراس فرم به پنل اس ام اس باشه. اگه درخواست آموزش داشتید در رفع مشکلات اراس فرم مطرح کنید.


RE: آموزش های کاربردی و کامل کامپوننت فرم ساز آر اس فرم RsForm - rezasabzikar - ۲۳-۱-۱۳۹۴ ۰۲:۴۵ عصر

سلام دوستان برای نمایش تصویر آپلود شده از دستور زیر استفاده کنید
[/php]
<p>Uploaded file below:</p>
<img src="{upload_field_name:path}" />
[/quote]


RE: آموزش های کاربردی و کامل کامپوننت فرم ساز آر اس فرم RsForm - محمدسلیمانی - ۲۱-۶-۱۳۹۴ ۰۵:۱۴ صبح

بخاطر درخواست زیاد دوستان در پیام خصوصی و تماس تلفنی تصمیم گرفتم این مطلب رو منتشر کنم


تشخیص صحت کد ملی یکی از ضروریات دنیای امروز شده اما از کجا بفهمیم که کاربر ما کد ملی درست را وارد کرده؟؟؟


[تصویر:  1441994645_499_8e5356f24d.png]


ما براتون این کار رو ساده کردیم


تشخیص صحت کد ملی در ار اس فرم


همون چیزی که دنبالش بودید


[تصویر:  1441994725_499_67c91513a8.png]


تهیه افزونه صحت کد ملی
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.



اعمال تب خودکار (Autotab) در فیلدها - محمدسلیمانی - ۵-۸-۱۳۹۴ ۰۶:۰۴ عصر

سلام به همه
قبل از هرچیز از تمام کسانی که چه در خصوصی و ایمیل و چه تماس گرفتند و سوالاتشون بی پاسخ موند معذرت میخوام.
من تنها انجمن جوملایی که در اون فعالیت میکنم همین انجمن هست و مرتب به اینجا سر میزنم و اگر جواب سوالی رو بدونم جواب میدم
پس نیازی نه ارسال خصوصی مشکلات نیست.
------------------------------------------------------------------

خوب میریم سراغ آموزش

یکی از وظایف طراحان سایت کم کردن چالش های کاربر به طوری که کاربر به روان ترین طور ممکن کارش و انجام بده
یکی از مفید ترین کارهایی که میشه انجام دارد کم کردن کلیک ها و کلیدهای فشرده شده است
خوب حتما تا اینجاش و قبول دارید حالا سوالی که پیش میاد اینه که چه کلیدهایی رو میشه از فرم حذف کرد؟؟!!!!!!!!!!!!!!!

سوال خوبیه%
یکی از تکراری ترین کلیدهایی که به تعداد اشیاء استفاده شده در فرم و حتی گاهی بیشتر ازش استفاده میشه کلید تب TAB هست

در این آموزش می آموزید
در این آموزش یاد میگیریم که کاری کنید که کاربر بعد از پرکردن یک فیلد و رسیدن به حداکثر کاراکتر مجاز اون فیلد به فیلد بعد منتقل بشن.

خوب قبل از هر چیز ماژول جی گوئری رو که ضمیمه همین پست کردم رو دانلود کنید.

ماژولی رو که دانلود کردید در روت ROOT سایت اکسترکت کنید.

حالا این کد و کتابخانه ها رو به هدر سایت اضافه کنید
کد:
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="jquery.ui.effect.min.js"></script>
<script type="text/javascript" src="jquery.ui.effect-fade.min.js"></script>
<script type="text/javascript" src="wb.slideshow.min.js"></script>
<script type="text/javascript" src="wwb10.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
   $("#SlideShow1").slideshow(
   {
      interval: 50000,
      type: 'random',
      effect: 'none',
      direction: '',
      pagination: false,
      effectlength: 1000
   });
});
</script>

خوب حالا این کد ها رو در اسکریپت های اراس فرو> جاوا اسکریپت > کپی کنید

نکته اگر از جوملا و ار اس فرم استفاده نمیکنید این کدها رو هم در هدر سایت بعد از کدبالا کپی کنید.

کد:
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
        <script src="js/jquery.autotab.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
        <script>
        $.autotab.selectFilterByClass = true;
        var autotabApp = angular.module('AutotabApp', []);

        autotabApp.controller('AutotabController', ['$scope', function ($scope) {
        $scope.phones = [];
        $scope.addPhone = function () {
                $scope.phones.push({ areaCode: '', number1: '', number2: ''});
                setTimeout(function () {
                    $.autotab.refresh();
                }, 1);
            };
            $scope.removePhone = function (index) {
                if ($scope.phones.length <= 1) {
                    return;
                }
                $scope.phones.splice(index, 1);
                setTimeout(function () {
                    $.autotab.refresh();
                }, 1);
            };
            $scope.addPhone();
        }]);
        </script>

خوب طرح بندی رو از حالت اتومات خارج کنید و این کد رو با body قبلی جایگذین کنید.

نکته container رو با نام یکتای فرم جایگذین کنید

کد:
<body ng-app="AutotabApp">
        <div id="container" ng-controller="AutotabController">
                       <div>
    </div>
    <div id="container">

نمونه ای از فیلد ایجاد شده.

کد:
<input type="text" id="Editbox1" style="position:absolute;left:259px;top:16px;width:32px;height:16px;line-height:16px;z-index:1;" name="pan1" value="" maxlength="4" tabindex="1">

توضیح اضافه مقدار tabindex مشخص میکنه که ترتیب تب ها به چه شکل باشه.

این هم نمونه ای از فیلد اتوماتیک
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.


و نهایتا توضیح اضافه تر:
اگه سوال یا مطلبی در رابطه با این آموزش یا کلا در رابطه با این تاپیک دارید فقط در حل مشکلات ار اس فرم مطح کنید
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.


دم همتون گرم که یه جوری از مطالب استفاده میکنید که آدم فکر میکنه واسه خودش یاداشت گذاشته.
دوستتون دارم .... موفق باشید.


RE: آموزش های کاربردی و کامل کامپوننت فرم ساز آر اس فرم RsForm - محمدسلیمانی - ۵-۹-۱۳۹۴ ۱۰:۳۹ صبح

به نام خدا

یکی از مهم ترین قسمتی که خیلی برای کاربران یا بهتر بگم مهم ترین پل ارتباطی بین ما و کاربران است فرم است

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

در رابطه با اهمیت و نحوه چیدمان فرم و روانشناسی فروش و همچنین بازاریابی عصبی میتوان ساعت ها نوشت و خواند

در اینجا هم قصد آموزش این موارد را ندارم اما احتمال میدهم که تنها جایی که این مطالب را میخوانید همین جاست

بگذریم

یکی از مواردی که باعث تمرکز کاربر در پرکردن فرم میشود و از پراکندگی و گیجی کاربر جلوگیری میکند جدول بندی یا دسته بندی کردن اطلاعات است

برای مثال این فرم را ببینید (این فرم رو با اراس فرم ساختم)

دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.


همونطور که میبینید فرم با خط هایی دسته بندی و تفکیک شدند

برای ایجاد این کادر بندی (قبلا دو آموزش در این رابطه منتشر کردم اما ین کاملا فرق داره) اول یک کد css مینویسیم

کد:
.mohammad#fieldset {
    display: block;    
    padding: 25px 30px 5px;
    border: none;
    background: rgba(255,255,255,.9);
}
.mohammad fieldset + fieldset {
    border-top: 1px solid rgba(0,0,0,.1);

در این کد همونطور که حتما میدنید اسم کلاسش رو برای قابل فهم تر شدن گذاشتم "mohammad"

و در ادامه قطر خط رنگ و بقیه چهارچوب های خط رو مشخص کردیم (چون قرار نیست css آموزش بدم از توضیح بیشتر صرف نظر میکنم)

حالا کاری که نمیاز هست خیلی خوب درک کنید و انجام بدید اینه که این کد رو اول جایی که میخواهید خط از انجا شروع شود کپی کنید

کد:
<fieldset id="fieldset">
<legend> متنی دلخواه </legend>

و این کد رو انتهای جایی که میخواهید خط به انجا ختم شود.

کد:
</fieldset>


برای مثال اگر میخواهید خط به یک جا ختم شود و از همان جا برای کارد بعدی دوباره شروع شود

باید بلافاصله بعد از کد انتهایی دوباره کد انتهایی رو کپی کنید

مثال:
<fieldset id="fieldset">
<legend> متنی دلخواه </legend>
اطلاعات کاربری
</fieldset>
<fieldset id="fieldset">
<legend> متنی دلخواه </legend>
اطلاعات شخصی
</fieldset>

کد:
<fieldset id="fieldset">
<legend> متنی دلخواه </legend>
اطلاعات کاربری
</fieldset>
<fieldset id="fieldset">
<legend> متنی دلخواه </legend>
اطلاعات شخصی
</fieldset>

دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.


امیدوارم کاربردی بوده باشه

توضیح: به دلیل اینکه فرم را تجاری عرضه میکنم از پیوست نکردنش متاسفم.

موفق باشید


محدود کردن ارسال های فرم برای هر کاربر در اراس فرم Rsform - محمدسلیمانی - ۲۲-۱۲-۱۳۹۴ ۱۲:۳۸ صبح

به نام خدا

امروز میخواهیم با هم روشی رو پیاده سازی کنیم که در کامپوننت اراس فرم rsform هر کاربر بتونه تعداد دفعات محدودی یک فرم رو پر کنه.

برای مثال: ما یک مسابقه، یک استخدام و یا حتی یک آزمون داریم که میخوایم به هر کاربر فقط یک یا چند بار (با تعداد محدود) اجازه بدیم که فرم مورد نظر رو بتونه پر کنه

برای این کار بعد از اینکه فرم دلخواهتون رو ساختید

این کد را در اسکریپ های پی اچ پی کپی کنید

کد:
$max = 5;
$user = JFactory::getUser();
$db   = JFactory::getDbo();
$query   = $db->getQuery(true);
$query->select('COUNT('.$db->qn('Username').')')
    ->from($db->qn('#__rsform_submissions'))
    ->where($db->qn('FormId').'='.$db->q($formId))
    ->where($db->qn('Username').'='.$db->q($user->get('username')));
    // You can also count by User ID, just replace the above with:
    // ->where($db->qn('UserId').'='.$db->q($user->get('id')));

$db->setQuery($query);
$counter = $db->loadResult();
if ($counter >= $max){
  $formLayout = '<p style="color:red;">متاسفانه ارسال های شما به حداکثر مجاز برای هر کاربر رسیده است.</p>';
}


از مدیریت کامپوننت ها > اراس فرم > فرم مورد نظر > خواص > اسکریپت php

برای زبان انگلیسی

Components > RSForm!Pro > Manage Forms > your form > Propeties > PHP Scripts


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

1- از خط دوم گزینه $max = 5; نشون دهنده اجازه حداکثری به کاربره برای پر کردن فرم هست.
2- نام یکتای گزینه یوزرنیم باید "Username" باشد در صورتی که از نام یکتای دیگه ای استفاده میکنید در کد ان را اصلاح کنید
3- و در خط آخر در صورت نیاز پیغام خطایی که به کاربر نشان داده خواهد شد را انتخاب کنید.

پیش نمایش برای این آموزش



محدود کردن چک باکس در ار اس فرم rsform - محمدسلیمانی - ۱۵-۱-۱۳۹۵ ۰۸:۵۰ عصر

شاید براتون پیش امده باشه که در یک فرم بخواهید تعدادی چک باکس قرار دهید و نیاز داشته باشید که هر گروه کاربری یا هر کاربر اجازه داشته باشد مقداری مشخصی از چک باکس ها را انتخاب نمایید.

برای این کار کافی است تا این کد را در کد های جاوا اسکریپت فرم خودتا کپی کنید.

کد:
$checkbox = 'NAME-OF-CHECKBOX-GROUP';
$max = 3;
if (count($_POST['form'][$checkbox]) > $max) {
  $invalid[] = RSFormProHelper::getComponentId($checkbox);
}

توضیحات کد.
- در خط اول نام NAME-OF-CHECKBOX-GROUP رو با نام یکتای چک باکس خودتون جایگذین کنید.
- در خط دوم حداکثر مجاز را انتخاب کنید.

و نکته آخر استفاده از جاواسکریپت باید در فرم فعال باشد.

موفق باشید.


آموزش اتصال فرمساز RSForm به یک سامانه پیامک (sms) + تکمیل تر - saso - ۱۴-۷-۱۳۹۵ ۰۷:۵۸ عصر

دوستان قبلا این آموزش رو قرار دادند ولی این اسکریپت بهتره مثلا اینکه پیام (sms)در سطر دوم یا سوم هم نشان داده شود
کد:
$name=$_POST['form']['name'];
$email=$_POST['form']['email'];
$subject=$_POST['form']['subject'];

$msg=("نام: $name \n"."موبایل: $mobile \n"."ایمیل: $email \n"."موضوع: $subject \n" );

ini_set("soap.wsdl_cache_enabled", "0");
$sms_client = new SoapClient('http://87.107.121.54/post/send.asmx?wsdl', array('encoding'=>'UTF-8'));

$parameters['username'] = "myusername";
$parameters['password'] = "mypassword";
$parameters['to'] = $mobile;
$parameters['from'] = "XXXXXXXX";
$parameters['text'] = $msg;
$parameters['isflash'] =false;
echo $sms_client->SendSimpleSMS2($parameters)->SendSimpleSMS2Result;
به جای myusername یوزر نیم سامانه را وارد کنید
به جای mypassword پسورد سامانه را وارد کنید
به جای XXXXXXXX شماره سامانه خود را وارد کنید
به جای دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
آدرس و لینکی که سامانه به شما داده است را وارد کنید

این اسکریپت، وقتی تماس ثبت شد یه اس ام اس به شماره ای که در قسمت mobile دادیم، میفرسته با این متن: نام: (نامی که در فرم ثبت کردید) سطر بعد
موبایل:(شماره موبایلی که وارد شده و اس ام اس به آن ارسال می شود) سطر بعد
ایمیل: (ایمیلی که وارد کردید)سطر بعد
موضوع (موضوعی که در فرم ثبت شده)
اسکریپت را خواص ---> اسکریپت در قسمت دوم یا سوم که ترجیحا سوم Script called after form has been processed وارد می کنیم
برای تست می تونید به لینک زیر مراجعه و فرم را پر نمایید

دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.



RE: آموزش های کاربردی و کامل کامپوننت فرم ساز آر اس فرم RsForm - Reza Ganji - ۲۰-۱-۱۳۹۶ ۱۲:۱۱ صبح

درود
از پلاگین Plugin - Content آراس فرم استفاده کنید . توضیحاتش در این صفحه هست :

دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.