Mahboobe.Maleki

بررسی User Profile در جوملا 2.5 + آموزش ها

13 پست در این موضوع

آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

این آموزش جزو آموزش های مبتدی هست ولی بهر حال بودنش برای کامل کردن تاپیک لازمه!

برید به مدیریت منو، (در منوی مورد نظرتون مثلا topmenu یا mainmenu) و گزینه ی جدید رو بزنید.

بعد نوع منو رو باید بذاریم روی User Profile ( که زیر Users Manager هست). برای منو یه عنوان مثل "پروفایل کاربری" انتخاب می کنیم و دسترسی اون رو میذاریم روی Registered ( یا همون ثبت نام شده)

[ATTACH=CONFIG]3228[/ATTACH]

Share this post


Link to post
Share on other sites

از ارسال اسپم در این تاپیک آموزشی خودداری کنید

سوالات خود را در تاپیک دیگری مطرح کنید

ویرایش شده در توسط tarantino
اسپم
1 کاربر پسند دیده است

Share this post


Link to post
Share on other sites

خیلی وقت ها ما نیاز داریم که فیلدهای بیشتری به پروفایل کاربر اضافه کنیم. این آموزش به این موضوع اختصاص داره. برای این کار باید پلاگین user profile کمی دستکاری بشه! (البته می دونم که شاید این به نظر خیلی از دوستان core hack باشه ها.... ولی خب کار راه اندازه. ). در اولین مرحله باید از پلاگین یه کپی تهیه کنیم (که تغییرات رو روی اصلش نداده باشیم)

1- یه فولدر روی دسکتاپ می سازیم به اسم مثلا profile2

2- برید به مسیر plugins/user/profile و هر چی توی فولدر profile هست کپی کنید داخل فولدر profile2

[ATTACH=CONFIG]3229[/ATTACH]

3-برید به /administrator/language/en-GB و از فایل های en-GB.plg_user_profile.ini و en-GB.plg_user_profile.sys.ini یه نسخه کپی کنید به فولدر profile2

4- حالا در فولدر profile2 خودمون هستیم. اینجا فایل en-GB.plg_user_profile.ini رو به en-GB.plg_user_profile2.ini و فایل en-GB.plg_user_profile.sys.ini رو به en-GB.plg_user_profile2.sys.ini تغییر نام بدید.

5- در این مرحله ما باید چندین بار دیگه profile رو به profile2 تغییر نام بدیم که این زیر مشخص شده:

الف- فایل profile.xml تغییر نام پیدا کنه به profile2.xml

حالا در این فایل مثل زیر تغییرات رو انجام بدید:

<name>plg_user_profile2</name>

<filename plugin="profile2">profile2.php</filename>

<language tag="en-GB">en-GB.plg_user_profile2.ini</language>

<language tag="en-GB">en-GB.plg_user_profile2.sys.ini</language>

ب- فایل profile.php تغییر نام پیدا کنه به profile2.php

حوالی خط 18:

class plgUserProfile2 extends JPlugin

6- کارمون تا اینجا تمومه. فولدر profile2 خودمون رو زیپ می کنیم و تبدیل میشه به profile2.zip

7- برمیگردیم به مدیریت جوملا. در مدیریت پلاگین ها چک می کنیم که پلاگین User - Profile غیرفعال باشه. اگه فعاله، غیرفعالش کنید

8- و در پایان این مرحله، پلاگین دست ساز تغییر داده شدمون رو به سادگی نصبش می کنیم (مدیریت افزونه ها > و نصب)

9 - حالا که پلاگین ما نصب شده برید به مسیر /plugins/user/profile2/profiles/profile.xml و فایل profile.xml رو باز کنید.

در این فایل، فیلدی که نیاز داریم اضافه می کنیم. مثل زیر:

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

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

[ATTACH=CONFIG]3232[/ATTACH]

10- حالا میریم سراغ فایل plugins/user/profile2/profile2.php و بازش می کنیم.

$fields = array(
       'address1',
       'address2',
       'city',
       'region',
       'country',
       'postal_code',
       'phone',
       'website',
       '[color="#0000FF"]favoriteteam[/color]',
       'favoritebook',
       'aboutme',
       'tos',
       'dob',
);

و فیلد خودمون رو بهش اضافه و فایل رو ذخیره می کنیم (favoriteteam). یکی از موارد لیست رو توی فایل جستجو کنید، جاشو پیدا می کنید. برای من حوالی خط 170 هست.

11- حالا به فایل plugins/user/profile2/profile2.xml میریم.

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

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

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

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

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

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

اینو به خط 249 اضافه می کنیم و ویرایش این گزینه رو در فرم ویرایش پروفایل کابر کنترل می کنه.

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

[ATTACH=CONFIG]3231[/ATTACH]

به این ترتیب میتونیم انواع فیلدهایی که میخوایم به پروفایل کاربر اضافه کنیم. امیدوارم مفید باشه.

ویرایش شده در توسط Mahboobe.Maleki
تکمیل آموزش

Share this post


Link to post
Share on other sites

اول ببینیم چطوری سطح دسترسی یه مقاله رو تغییر بدیم که فقط کاربران ثبت نام شده بتونن با لاگین اونو ببینن. و برای ثبت نام نشده هام که بصورت خودکار یه پیغام میاد که اول وارد بشید.

مقاله مورد نظرتون رو باز کنید. من جوملام انگلیسیه و مقاله Beginners پیش فرضش رو باز می کنم. و در بخش access (دسترسی)، دسترسی رو به registered (ثبت نام شده) میدم و مقاله رو ذخیره می کنم:

[ATTACH=CONFIG]3233[/ATTACH]

حالا وقتی کاربری که لاگین نیست بخواد به این مقاله دسترسی پیدا کنه (لاگین نیست یا اصلا ثبت نام نکرده) پیغام Please Login first یا ابتدا وارد شوید رو میبینه:

[ATTACH=CONFIG]3234[/ATTACH]

خب. رسیدیم به اصل مطلب. الان قصد داریم این پیغام رو عوض کنیم. اینو بگم که این کار به سادگی با تغییر دستی در فایل های زبان امکان پذیره. ولی ما میخوایم از override در تغییر زبان استفاده کنیم. امکانی که خود جوملا 2.5 بهمون میده تا ساده تر این کارو انجام بدیم.

1- وارد مدیریت جوملا بشید، برید به Extensions و language manager (افزونه ها > مدیریت زبان) و روی تب Overrides کلیک کنید.

2- روی دکمه ی New (جدید) کلیک کنید.

3- زیر گزینه ی Search text you want to change در کادر جستجو متنی که میخوایم تغییر بدیم جستجو می کنیم. یعنی تایپ می کنیم: Please login first (یا اگه در زبان فارسی هستیم، لطفا وارد شوید). گزینه ی value رو فعال می کنیم و بعدش روی جستجو کلیک می کنیم:

[ATTACH=CONFIG]3235[/ATTACH]

4- زیر نتیجه ی جستجو، Please login firs ظاهر شده. روش کلیک می کنیم. در سمت چپ مقدار این عبارت ظاهر میشه و در باکس Text میتونیم هر چی دلمون میخواد بجاش بنویسیم:

[ATTACH=CONFIG]3236[/ATTACH]

و تمومه

Share this post


Link to post
Share on other sites

1- برای غیرفعال کردن ثبت نام در جوملا 2.5 (که میدونم همه میدونید! و برای اینکه تاپیک پرباری! بشه میذارم)، وارد مدیریت شده، برید به user manager، و روی دکمه ی options از بالا کلیک کنید:

[ATTACH=CONFIG]3237[/ATTACH]

2- در پنجره ی Options و در تب Component، گزینه ی Allow User Registration رو روی No بذارید:

[ATTACH=CONFIG]3238[/ATTACH]

3- خب ثبت نام رو غیر فعال کردیم. اینم از تصویر:

[ATTACH=CONFIG]3239[/ATTACH]

Share this post


Link to post
Share on other sites

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

متنی که جوملای انگلیسی میفرسته اینه:


Hello mahboobemaleki,

http://yourdomain.com/index.php?option=com_users&task=registration.activate&token=12312312312313123123

After activation you may login to http://yourdomain.com/ using the following username and password:

Username: test1
Password: 123456

برای رفع این مشکل باید کاری کرد که جوملا دیگه پسورد رو نفرسته برای کاربر. متن این ایمیل در فایل language/en-GB/en-GB.com_users.ini هست (بازم استفاده از override بجای ویرایش دستی فایل که البته فرقی نداره! فقط میخوایم از امکانات user friendly جوملا استفاده ای کرده باشیم)

1- برید به Extensions و Language Manager (افزونه ها > مدیریت زبان).

2- بعد به تب Overrides رفته و روی دکمه ی New (جدید) کلیک کنید.

3- در قسمت Search text you want to change، در باکس جستجو، عبارت COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY رو وارد کنید و گزینه ی Constant رو تیک بزنید و روی جستجو کلیک کنید:

[ATTACH=CONFIG]3240[/ATTACH]

4- در نتایج جستجو روی COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY کلیک کنید:

[ATTACH=CONFIG]3241[/ATTACH]

5- همون طور که در تصویر مشخصه، در باکس Text متنی که در ایمیل به نمایش میاد هست. از داخل این متن، خط زیر رو حذف کنید و صفحه رو ذخیره کنید:

using the following username and password:\n\nUsername: %s\nPassword: %s

6- همین مراحل 1 تا 5 رو برای عبارت COM_USERS_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY هم انجام بدید (جستجوش کنید، و خطی که بالا گفتم ازش حذف کنید)

7- خب کار تمومه. حالا پیغامی که در ایمیل تایید برای کاربر میره این شکلی میشه:

Hello mahboobemaleki,

Thank you for registering at Joomla 2.5 Testing Site. Your account is created and must be activated before you can use it. To activate the account click on the following link or copy-paste it in your browser: http://yourdomain.com/index.php?option=com_users&task=registration.activate&token=456456456456456456

After activation you may login to http://yourdomain.com/

Share this post


Link to post
Share on other sites

برای ریست کردن پسورد یه کاربر خاص از طریق دیتابیس، اول وارد php my admin میشیم

بعد میریم سراغ جدول ys97a_users (این ys97a_ پیشوند جداول هست و برای هر جوملایی فرق داره). روی دکمه ی brows این جدول کلیک می کنیم.

این جدول اطلاعات کاربران رو نگهداری میکنه. کاربری که میخواین پسوردش رو عوض کنین، پیدا کنین و روی Edit کلیک کنین.

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

[ATTACH=CONFIG]3242[/ATTACH]

Share this post


Link to post
Share on other sites

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

دقت کنید که این یادداشت برای کاربر نمایش داده نمیشه، بلکه فقط در backend سایت نمایش داده میشه

1- به مدیریت کاربران برید و در تب user notes روی دکمه ی New کلیک کنید.

2- در پنجره ی بعدی که صفحه ی اضافه کردن note هست، یادداشت مورد نظر رو بذارید:

[ATTACH=CONFIG]3243[/ATTACH]

اینجانکته ش فقط Id هست که وقتی روی دکمه ی روبروش user select کلیک میکنید، لیست کاربران باز میشه و کاربر مورد نظرتون رو انتخاب می کنید

3- تموم شد. اینم تصویر: (البته اینجا فقط subject در صفحه دیده میشه و برای دیدن متن یادداشت باید روش کلیک کنید. من subject رو از اخطار تو تصویر قبلی عوض کردم که تو تصویر مثال روشنی باشه!)

[ATTACH=CONFIG]3244[/ATTACH]

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

ویرایش شده در توسط Mahboobe.Maleki
توضیحات بیشتر

Share this post


Link to post
Share on other sites
در جوملا 2.5 وقتی کاربر ثبت نام میکنه، (در حالتی که ارسال لینک فعال سازی فعاله)، پسورد کاربر هم در متن ایمیل براش میره. و این یه ریسکه چون ممکنه ایمیل کاربر لو بره و پسورد برای بقیه آشکار بشه یا موقع خوندن ایمیل کسی کنار کاربر باشه و پسورد رو ببینه

متنی که جوملای انگلیسی میفرسته اینه:


Hello mahboobemaleki,

http://yourdomain.com/index.php?option=com_users&task=registration.activate&token=12312312312313123123

After activation you may login to http://yourdomain.com/ using the following username and password:

Username: test1
Password: 123456

برای رفع این مشکل باید کاری کرد که جوملا دیگه پسورد رو نفرسته برای کاربر. متن این ایمیل در فایل language/en-GB/en-GB.com_users.ini هست (بازم استفاده از override بجای ویرایش دستی فایل که البته فرقی نداره! فقط میخوایم از امکانات user friendly جوملا استفاده ای کرده باشیم)

1- برید به Extensions و Language Manager (افزونه ها > مدیریت زبان).

2- بعد به تب Overrides رفته و روی دکمه ی New (جدید) کلیک کنید.

3- در قسمت Search text you want to change، در باکس جستجو، عبارت COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY رو وارد کنید و گزینه ی Constant رو تیک بزنید و روی جستجو کلیک کنید:

[ATTACH=CONFIG]3240[/ATTACH]

4- در نتایج جستجو روی COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY کلیک کنید:

[ATTACH=CONFIG]3241[/ATTACH]

5- همون طور که در تصویر مشخصه، در باکس Text متنی که در ایمیل به نمایش میاد هست. از داخل این متن، خط زیر رو حذف کنید و صفحه رو ذخیره کنید:

using the following username and password:\n\nUsername: %s\nPassword: %s

6- همین مراحل 1 تا 5 رو برای عبارت COM_USERS_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY هم انجام بدید (جستجوش کنید، و خطی که بالا گفتم ازش حذف کنید)

7- خب کار تمومه. حالا پیغامی که در ایمیل تایید برای کاربر میره این شکلی میشه:

Hello mahboobemaleki,

Thank you for registering at Joomla 2.5 Testing Site. Your account is created and must be activated before you can use it. To activate the account click on the following link or copy-paste it in your browser: http://yourdomain.com/index.php?option=com_users&task=registration.activate&token=456456456456456456

After activation you may login to http://yourdomain.com/

دوست عزیز فکر کنم این مورد خود جوملا داره به مدیریت کاربران برید و بعد انتخاب ها رو بزنید اونجا یه گزینه به نام ارسال رمز عبور که موقع اولین ثبت نام و خوش امد گویی با ایمیل میفرسته رو خیر بزارین دیگه نمی فرسته .شرمنده نمیدونم اسپم شد نشد (خوب اینم تو موضوع تایپک بوددیگه گفتم به اطلاع برسونم:ad54ad:

سپاس از تایپک خوبتون

Share this post


Link to post
Share on other sites

سلام

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

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

[ATTACH=CONFIG]8489[/ATTACH]

Share this post


Link to post
Share on other sites

باسلام

این مسیر سایت شماست.توی این مسیر سایت منوها و مجموعه ها و زیرمجموعه ها قرار میگرن.مجموعه هاتون رو برید ادیت کنید

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری