رفتن به مطلب
sepehr.shirzadi

اضافه کردن فیلد به صفحه ثبت نام جوملا به صورت دستی

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

سلام دوستان .

این یه آموزش کامله که من با دو سوال شروع می کنم آموزش رو :

1. چطور فیلد هایی به صفحه ثبت نام جوملا اضافه کنیم ؟

2. چرا روی بعضی قالب ها این تغییرات اعمال نمیشه ؟ مثل قالب های تجاری و ... ؟

خوب از سوال اول شروع میکنیم :

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

چند تا کار باید بکنیم :

1. به این آدرس میریمlibraries\joomla\database\table\ و فایل user.php را باز میکنیم .

2. من می خوام دو تا فیلد دیگه اضافه کنم تلفن و وب سایت و این دوتا فیلد اختیاری هستن این خط رو پیدا میکنیم :

function __construct

خط 116 ، ما باید دستوراتمون رو قبل از این خط بنویسیم یعنی خط 159 . برای اضافه کردن این فیلد ها این دستورات رو می نویسیم :

var $phone          = null;
var $website            = null;

و ذخیره میکنیم .

3. این فایل را باز میکنیم : libraries\joomla\libraries\joomla\user\user.php ، بعد از خط 124 دوباره کد های بالا رو وارد میکنیم .

var $phone          = null;
var $website        = null;

و باز هم ذخیره میکنیم و می بندیم .

تا اینجای کار 50 در صد راه رو رفتیم .

4. خوب حالا باید ما این فیلد ها رو به دیتابیس معرفی کنیم ، پس phpMyAdmin رو باز می کنیم . دیتابیس را انتخاب میکنیم ، jos _ users را انتخاب و به سربرگ ساختار یا structure می رویم . پایین صفحه در گزینه field تعدا فیلد هایمان را می زنیم که دو(2) عدد بود و در فیلد " بعد از " params را انتخاب میکنیم . تایید را میزنیم . در فیلد ستون اول phone و در ستون دوم website را مینویسیم نوع هر دو را V A R C H A R می گذاریم و طول را برابر 20 میگذاریم ( تمام این ها اختیاری است ، تعداد حروف و نوع فیلد ) . دقت داشته باشید که نام ستون ها را دقیقا مثل تعریف های که در کدها کردیم قرار دهیم . تایید را میزنیم .

کار ما با phpMyAdmin تمام شد .

5. حالا به این آدرس میرویم : administrator\components\com_users\views\user\tmpl و form.php را باز میکنیم ، بعد از خط 132 جدول و فیلد های خود را وارد می کنیم :



                           <?php echo JText::_( 'Phone' ); ?>








                           <?php echo JText::_( 'Website' ); ?>





این تغییرات برای اضافه کردن فیلد به قسمت مدیریت کاربران جوملا می باشد .

regi1.jpg

>            <?php echo JText::_(:



*




<?php echo JText::_( 'Website' ); ?>:


*
[/php]

اینم نتیجه کار :

>            <?php echo JText::_(:








<?php echo JText::_( 'Website' ); ?>:



[/php]

و نتیجه :

http://manchumahara.com/wp-content/uploads/2010/03/regi3.jpg' alt='regi3.jpg'>

و تمام . :thankyou:

سوال دوم که بعد از این تغییرات معمولا پیش می آید :

چرا روی بعضی قالب ها این تغییرات اعمال نمیشه ؟ مثل قالب های تجاری و ... ؟

نکته اینجاست که قالب های تجاری و امثال آن یک com_user جداگانه برای خودشان دارند و از آن استفاده می کنند که در فولدر قالب و معمولا در این آدرس \ template name \html\com_user\register هستند .

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

آموزش تصویری را هم کم کم درست می کنم .

از زندگی و جوملای خود لذت ببرید :afro:

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


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

سلام

ضمن تشکر بابت گذاشتن این اموزش خوب

باید بگم این اموزش رو قبلا یکی ازدوستان گذاشته بود

البته این سئوال دوم که چرا رو قالبهای تجاری کار میکنه رو نداشت

به هر حال ممنون

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


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

البته این برای جوملا 1.5 هست

در جوملا 1.7 تغییراتی ایجاد شده که کار رو راحتر میکنه

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


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

باید به بخش آموزش های سطح بندی شده دسترسی داشته باشین که به نظرم ندارین

شما می تونید از افزونه ambra که در سایت منتشر شده استفاده کنید

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


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

سلام

ضمن تشکر بابت گذاشتن این اموزش خوب

باید بگم این اموزش رو قبلا یکی ازدوستان گذاشته بود

البته این سئوال دوم که چرا رو قالبهای تجاری کار میکنه رو نداشت

به هر حال ممنون

بله مرسی .

من بیشتر برای سوال دوم سوال اول رو نوشتم چون من وقتی این مشکل رو به پشتیبان یک قالب گفتم شماره حساب بانکیشو برام میل کرد . . :D


یه سوال اگه بخواهیم لیست آبشاری یا دکمه رادیویی یا چک باکس اضافه کنیم چه کار باید بکنیم؟

یکم اگه HTML بلد باشی میتونی با همین روش این کار و بکنی . مثلا :

                         
                           <?php echo JText::_( 'are u have email?' ); ?>


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


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

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

اگه باید استفاده کنیم در کدوم فایل ها با ید کدش رو بنویسیم ؟

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


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

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

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

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

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

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

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

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

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


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