رفتن به مطلب
m4mali

افزودن فیلد جدید به فرم نام نویسی جوملا در سه گام

پست های پیشنهاد شده

درود بر دوستان گرامی

 

یکی از چالش های همه گیر که کاربران جوملا با آن سروکار دارند، افزودن فیلد جدید به فرم نام نویسی بوده و هست.

که بیشتر کاربران rsForm یا Community Builder و ... را به کارمی گیرند. که این خود چالش های گوناگونی را به همراه دارد.

 

ولی امروز من یک آموزش آماده کردم که به شما یاد می دهد که چگونه بدون افزودن هیچ افزونه تازه ای و با افزونه های پیشفرض جوملا چگونه اینکار را انجام بدهید . راستش رویکرد خود من (درست یا اشتباه) این است که تا جایی که می شود افزونه تازه ای کارگزاری نکنم.

 

خوب پس بیاین آستین ها رو بالا بزنیم.

 

گام نخست :

 

در جوملا 2.5 یک افزونه پیشفرض هست که به ما اجازه میده پرسش های تازه ای رو در هنگام نام نویسی از کاربران بپرسیم. این افزونه رو در بخش plugin ها جوملا با نام پروفایل کاربر(user profile) می تونید پیدا کنید. اگه بررسی کنید می بینید که چندین پرسش اینجا هست و می تونید افزونه رو برای نشان دادن پرسش ها در نام نویسی و پاسخ ها در پروفایل config کنید.

 

خوب حالا افزونه رو پویا (فعال) کنید. اکنون اگه به فرم ثبت نام برید می بینید که یک سری پرسش ها به فرم افزوده شده که در بسیاری از زمانها همین کار ما رو راه میندازه . خوب ولی ما می خواهیم پرسش های خودمون رو داشته باشم . پس ادامه می دیم. 

 

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

 

خوب باید بگم که ما این افزونه رو ویرایش نمی کنیم . چون اگه این کار رو بکنیم با بروز شدن جوملا همه کارهای ما به باد میره، پس یکی ازش کپی می گیریم.

 

1- یک پوشه با نام profile10 روی desktop بسازید

 

2- همه پرونده ها و پوشه های افزونه profile رو که در نشانی "plugins/user/profile" هست رو در پوشه profile10 کپی کنید.

 

3-  پرونده ها زیر  را که برای زبان افزونه هست رو هم از این نشانی "/administrator/language/en-GB" در پوشه profile10 کپی کنید

en-GB.plg_user_profile.ini

en-GB.plg_user_profile.sys.ini

 

4- نام پرونده های زبان که در گام شماره 3 کپی کردید رو بانویسی کنید

en-GB.plg_user_profile.ini       to            en-GB.plg_user_profile10.ini
en-GB.plg_user_profile.sys.ini      to     en-GB.plg_user_profile10.sys.ini

 

5- خوب اکنون ما باید یه کارهای دیگه رو انجام بدیم تا افزونه رو بتونیم کپی کنیم. به پوشه profile10 برید  باید در پرونده profile.xml هم یکسری دگرگونی انجام بدیم . نخست نام پرونده را به profile10.xml بازنویسی کند و سپس این رج ها رو به این ترتیب دگرگون کنید :

LINE 3: <name>plg_user_profile10</name>
LINE 14: <filename plugin="profile10">profile10.php</filename>
LINE 19: <language tag="en-GB">en-GB.plg_user_profile10.ini</language>
LINE 20: <language tag="en-GB">en-GB.plg_user_profile10.sys.ini</language>

 

6- باید نام پرونده profile.php رو به profile10.php بازنویسی کنید. و

LINE 18: class plgUserProfile10 extends JPlugin

 

7-خوب پوشه profile10 رو zip کنید

 

8- به جوملا و به بخش مدیریت پلاگین برید و افزونه پروفایل کاربری (user-profile) رو خاموش(Disable) کنید.

 

9- اکنون مانند افزونه های دیگه افزونه profile10 را از روی دسکتاپ بر روی جوملا کارگزاری (نصب) کنید.

 

خوب گام نخست تموم شد.  اموزش رو در پست های پسین دنبال کنید

 

 

 

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

گام دوم
 
خوب در این پست می خواهیم فیلدهای دلخواه خودمون رو به افزونه بیافزاییم.
 
1- برای این کار باید به این نشانی برید "/plugins/user/profile10/profiles/profile.xml"
 
خوب اگه پرونده رو بازکنید می بینید که هر فیلد یک همچین ساختاری داره

         <field
                name="favoritebook"
                type="text"
                description="PLG_USER_PROFILE_FIELD_FAVORITE_BOOK_DESC"
                filter="string"
                label="PLG_USER_PROFILE_FIELD_FAVORITE_BOOK_LABEL"
                message="PLG_USER_PROFILE_FIELD_FAVORITE_BOOK_MESSAGE"
                size="30"
            />


 
خوب حالا ما هم یک فیلد می افزاییم
 

<field
name="footballteam"
type="text"
id="footballteam"
description="Favorite Football Team Description Goes Here"
filter="string"
label="Favorite FootBall Team"
message="PLG_USER_PROFILE_FIELD_WEB_SITE_MESSAGE"
size="30"
/>

 

خوب حالا اگه به فرم نام نویسی بریم باید یک فیلد تازه به نام Favorite FootBall Team افزوده شده باشد.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

plugins/user/profile10/profile10.php


در رج 174 باید نام فیلد رو که در پرونده profile.xml افزودیم رو اینجا  بی افزاییم .پارامتر footballteam

$fields = array(
'address1',
'address2',
'city',
'region',
'country',
'postal_code',
'phone',
'website',
'footballteam',
'favoritebook',
'aboutme',
'tos',
'dob',
);


 
ما تنها  باید یک پرونده دیگر را دگرگون کنیم تا کار تمام شود.

plugins/user/profile10/profile10.xml


اینجا ما باید دو تا بخش رو دگرگون کنیم :
1- بخش کنترل فرم نام نویسی
دور و بر رج 109 فیلد خودمون رو می افزاییم

<field name="register-require_footballteam" type="list"

description="During registration, if you have a favorite football team, enter it here."
label="Favorite FootBall Team"
>
<option value="2">JOPTION_REQUIRED</option>
<option value="1">JOPTION_OPTIONAL</option>
<option value="0">JDISABLED</option>
</field>


 
2- بخش کنترل فرم ویرایش در پروفایل کاربر
دور و بر رج 246 فیلد خودمون رو می افزاییم

<field name="profile-require_footballteam" type="list"

description="If you have a favorite football team, enter it here."
label="Favorite FootBall Team"
>
<option value="2">JOPTION_REQUIRED</option>
<option value="1">JOPTION_OPTIONAL</option>
<option value="0">JDISABLED</option>
</field>

 

خوب شادباش می گم اگر همه چیز رو درست انجام داده باشد . الان دیگه می تونید نام نویسی کنید.

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

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...