m4mali 478 ارسال شده در اسفند 92 درود بر دوستان گرامی یکی از چالش های همه گیر که کاربران جوملا با آن سروکار دارند، افزودن فیلد جدید به فرم نام نویسی بوده و هست. که بیشتر کاربران 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.inien-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 را از روی دسکتاپ بر روی جوملا کارگزاری (نصب) کنید. خوب گام نخست تموم شد. اموزش رو در پست های پسین دنبال کنید 5 واکنش ها : baharloo75، masoudadm، mohsen kian و 2 نفر دیگر نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
m4mali 478 ارسال شده در اسفند 92 گام دوم خوب در این پست می خواهیم فیلدهای دلخواه خودمون رو به افزونه بیافزاییم. 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 افزوده شده باشد. 2 واکنش ها : inscrutable و baharloo75 نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
m4mali 478 ارسال شده در اسفند 92 گام سوم - گام واپسیندر پست پیشین ما توانستیم فرم رو ویرایش کنیم. حالا باید کدها را هم ویرایش کنیم تا این فیلد تازه ما در دیتا بانک هم نوشته بشود. و در بخش مدیریت سایت هم فیلد ها را بیافزاییم. در نخسین گام از این بخش باید این پرونده را ویرایش کنیم : 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> خوب شادباش می گم اگر همه چیز رو درست انجام داده باشد . الان دیگه می تونید نام نویسی کنید. امیدوارم که این آموزش رو دوست داشته بوده باشد و به کارتون بیاد و همیشه فرخ و شاد باشید. 5 واکنش ها : bartar، elmi1413، masoudadm و 2 نفر دیگر نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر