مرجع پارسی MyBB

نسخه‌ی کامل: ایجاد تفاوت بین هدر نمایش داده شده برای کاربران ثبت نام کرده و کاربران وِیژه
شما درحال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب‌بندی مناسب.
صفحه‌ها: 1 2 3
سلام بر دوستان و مدیران زحمت کش مای بی بی ایران

من می‌خوام توی انجمن "کانون مهندسان ایران" یک بنر رو در قسمت هدر به نحوی نمایش بدم که فقط برای کاربران ثبت نام کرده نمایش داده بشه و اگر کاربری پس از پرداخت حق عضویت به گروه کاربران ویژه منتقل گردید، دیگر بنر را نبیند.

بزارید موضوع رو اینجوری توضیح بدم:
برای کاربری که به صورت مهمان وارد سایت شده میشه از طریق header_welcomeblock_guest توی پوسته‌ها یک هدر خاص تعریف کرد. برای کاربری که ثبت نام میکنه هم از طریق header_welcomeblock_member میشه هدر خاص خودش رو داشت. اما وقتی کاربر رجیستر شده حق عضویت پرداخت کنه و به گروه کاربری مثلاً کاربران ویژه منتقل بشه باز هم همون هدر رجیسترشده ها براش نمایش داده میشه. حالا من چطوری می تونم برای کاربرانی که عضو گروه کاربران ویژه هستند یک هدر خاص تعریف کنم؟
برای این کار از پوسته ی فعلی خود بک آپ بگیرید , از قسمت وارد کردن پوسته , پوسته را با یک نام دیگر وارد کنید . به پوسته ها » پوسته مورد نظر مراجعه کنید . سطح های دسترسی مشاهده پوسته رو فقط برای گروه های دلخواه تنظیم کنید .

موفق باشید .Heart
امین جان، ممنون از پاسخی که دادی.
ولی به نظرم با استفاده از روش پیشنهادی شما، از دو پوسته مختلف استفاده میشه که در ظاهر بسیار شبیه هم هستند ولی در بخش هدر متفاوت خواهند بود. بزرگترین ایراد این روش اینه که هر تغییر دیگه ای که بخوای بدی باید توی دو تا پوسته و چه بسا تعداد بیشتری انجام بدی (در صورتیکه گروه های زیادی وجود داشته باشه)

به نظرم باید روش دیگه ای وجود داشته باشه و از طریق همون header_welcomeblock_member انجام شدنی باشه. چون فایلهای دیگه ای به نام های زیر هم وجود داره:
header_welcomeblock_guest
header_welcomeblock_member
header_welcomeblock_member_admin
header_welcomeblock_member_moderator

که برای سطوح مختلف کاربری طراحی شده اند.
نه عزیز راه حله دیگه ای وجود نداره .
بهترین , ساده ترین روش همین هست .
بسیار خوب! اگر بخوام از این روش پیشنهادی شما استفاده کنم، چطور باید انجمن رو تنظیم کرد که کاربر Register شده‌ای که از قالب A استفاده می‌کنه به محض پرداخت حق عضویت و انتقال به گروه کاربران ویژه به صورت اتوماتیک قالب B برای اون ست بشه؟
این رو توجه داشته باشید که نمی‌خوام کاربر به صورت دستی بره جایی و قالبش رو عوض کنه!
(۱۳۹۲/۷/۱۶، ۱۶:۳۴:۴۲ عصر)Amin69 نوشته است: [ -> ]نه عزیز راه حله دیگه ای وجود نداره .
بهترین , ساده ترین روش همین هست .

درود راه حل مناسب تر
به روت mybbرفته فایل global.php را باز کرده
عبارت:
کد php:
    if($mybb->usergroup['canmodcp'] == 1)
    {
        eval(
"\$modcplink = \"".$templates->get("header_welcomeblock_member_moderator")."\";");
    } 
را پیدا کرده و با
کد php:
    if($mybb->usergroup['canmodcp'] == 1)
    {
        eval(
"\$modcplink = \"".$templates->get("header_welcomeblock_member_moderator")."\";");
    }
    if(
$mybb->user['gid'] == n)
    {
        eval(
"\$welcomeblock = \"".$templates->get("header_welcomeblock_gidn")."\";");
    } 
تعویض نمونده

n آیدی گروه است .
سپس به
قالب ها پوسته->قالب ها->قسمت قالب ها->قالب مورد نظر->افزودن قالب قالب رو به این صورت اضافه نمایید.
نام:
header_welcomeblock_gidn
محتویات :دلخواه
اضافه نمایید.
n آیدی گروه است .
(۱۳۹۲/۷/۱۶، ۲۱:۰۸:۱۹ عصر)jan123 نوشته است: [ -> ]درود راه حل مناسب تر
به روت mybbرفته فایل global.php را باز کرده
عبارت:
کد php:
    if($mybb->usergroup['canmodcp'] == 1)
    {
        eval(
"\$modcplink = \"".$templates->get("header_welcomeblock_member_moderator")."\";");
    } 
را پیدا کرده و با
کد php:
    if($mybb->usergroup['canmodcp'] == 1)
    {
        eval(
"\$modcplink = \"".$templates->get("header_welcomeblock_member_moderator")."\";");
    }
    if(
$mybb->user['gid'] == n)
    {
        eval(
"\$welcomeblock = \"".$templates->get("header_welcomeblock_gidn")."\";");
    } 
تعویض نمونده

n آیدی گروه است .
سپس به
قالب ها پوسته->قالب ها->قسمت قالب ها->قالب مورد نظر->افزودن قالب قالب رو به این صورت اضافه نمایید.
نام:
header_welcomeblock_gidn
محتویات :دلخواه
اضافه نمایید.
n آیدی گروه است .

خیلی ممنون از راهی که ارایه فرمودید. من تمام دستورات رو اجرا کردم. در فایل global.php هم به جای n عدد 17 رو گذاشتم و قالب رو هم با نام header_welcomeblock_gid17 ساختم و محتویات header_welcomeblock_member رو با کمی تغییرات داخلش گذاشتم. اما باز هم تغییری نکرده!!! ممکنه راهنمایی کنید و بفرمایید ایراد از کجا می‌تونه باشه؟

دو تا نکته:
1- در کدهایی که شما ارایه فرمودید، به نظرم user['gid'] اشتباه بود و user رو به صورت usergroup اصلاح کردم. البته قبلش با کد شما هم تست کرده بودم.
2- در کدهای شما یکبار از n استفاده کردم و یکبار هم عدد 17 را گذاشتم.
یکی به داد من برسه!!!! Big Grin Heart
(۱۳۹۲/۷/۱۶، ۲۳:۱۲:۱۵ عصر)goldenaxis نوشته است: [ -> ]
(۱۳۹۲/۷/۱۶، ۲۱:۰۸:۱۹ عصر)jan123 نوشته است: [ -> ]درود راه حل مناسب تر
به روت mybbرفته فایل global.php را باز کرده
عبارت:
کد php:
    if($mybb->usergroup['canmodcp'] == 1)
    {
        eval(
"\$modcplink = \"".$templates->get("header_welcomeblock_member_moderator")."\";");
    } 
را پیدا کرده و با
کد php:
    if($mybb->usergroup['canmodcp'] == 1)
    {
        eval(
"\$modcplink = \"".$templates->get("header_welcomeblock_member_moderator")."\";");
    }
    if(
$mybb->user['gid'] == n)
    {
        eval(
"\$welcomeblock = \"".$templates->get("header_welcomeblock_gidn")."\";");
    } 
تعویض نمونده

n آیدی گروه است .
سپس به
قالب ها پوسته->قالب ها->قسمت قالب ها->قالب مورد نظر->افزودن قالب قالب رو به این صورت اضافه نمایید.
نام:
header_welcomeblock_gidn
محتویات :دلخواه
اضافه نمایید.
n آیدی گروه است .

خیلی ممنون از راهی که ارایه فرمودید. من تمام دستورات رو اجرا کردم. در فایل global.php هم به جای n عدد 17 رو گذاشتم و قالب رو هم با نام header_welcomeblock_gid17 ساختم و محتویات header_welcomeblock_member رو با کمی تغییرات داخلش گذاشتم. اما باز هم تغییری نکرده!!! ممکنه راهنمایی کنید و بفرمایید ایراد از کجا می‌تونه باشه؟

دو تا نکته:
1- در کدهایی که شما ارایه فرمودید، به نظرم user['gid'] اشتباه بود و user رو به صورت usergroup اصلاح کردم. البته قبلش با کد شما هم تست کرده بودم.
2- در کدهای شما یکبار از n استفاده کردم و یکبار هم عدد 17 را گذاشتم.

کد مشکل داشت اصلاح شد.
دروددر global.php
دنبال
کد php:
    eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_member")."\";");

گشته با
کد php:
    eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_member")."\";");
}
if(
$mybb->user['usergroup'] == 17)
{
    eval(
"\$welcomeblock = \"".$templates->get("header_welcomeblock_gid17")."\";");

جایگزین نمایید.
17 آیدی گروه است.
سپس به
قالب ها پوسته->قالب ها->قسمت قالب ها->قالب مورد نظر->افزودن قالب قالب رو به این صورت اضافه نمایید.
نام:
header_welcomeblock_gid17
محتویات :دلخواه
اضافه نمایید.
17 آیدی گروه است.
(۱۳۹۲/۷/۱۷، ۱۶:۴۲:۱۹ عصر)jan123 نوشته است: [ -> ]
(۱۳۹۲/۷/۱۶، ۲۳:۱۲:۱۵ عصر)goldenaxis نوشته است: [ -> ]
(۱۳۹۲/۷/۱۶، ۲۱:۰۸:۱۹ عصر)jan123 نوشته است: [ -> ]درود راه حل مناسب تر
به روت mybbرفته فایل global.php را باز کرده
عبارت:
کد php:
    if($mybb->usergroup['canmodcp'] == 1)
    {
        eval(
"\$modcplink = \"".$templates->get("header_welcomeblock_member_moderator")."\";");
    } 
را پیدا کرده و با
کد php:
    if($mybb->usergroup['canmodcp'] == 1)
    {
        eval(
"\$modcplink = \"".$templates->get("header_welcomeblock_member_moderator")."\";");
    }
    if(
$mybb->user['gid'] == n)
    {
        eval(
"\$welcomeblock = \"".$templates->get("header_welcomeblock_gidn")."\";");
    } 
تعویض نمونده

n آیدی گروه است .
سپس به
قالب ها پوسته->قالب ها->قسمت قالب ها->قالب مورد نظر->افزودن قالب قالب رو به این صورت اضافه نمایید.
نام:
header_welcomeblock_gidn
محتویات :دلخواه
اضافه نمایید.
n آیدی گروه است .

خیلی ممنون از راهی که ارایه فرمودید. من تمام دستورات رو اجرا کردم. در فایل global.php هم به جای n عدد 17 رو گذاشتم و قالب رو هم با نام header_welcomeblock_gid17 ساختم و محتویات header_welcomeblock_member رو با کمی تغییرات داخلش گذاشتم. اما باز هم تغییری نکرده!!! ممکنه راهنمایی کنید و بفرمایید ایراد از کجا می‌تونه باشه؟

دو تا نکته:
1- در کدهایی که شما ارایه فرمودید، به نظرم user['gid'] اشتباه بود و user رو به صورت usergroup اصلاح کردم. البته قبلش با کد شما هم تست کرده بودم.
2- در کدهای شما یکبار از n استفاده کردم و یکبار هم عدد 17 را گذاشتم.

کد مشکل داشت اصلاح شد.
دروددر global.php
دنبال
کد php:
    eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_member")."\";");

گشته با
کد php:
    eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_member")."\";");
}
if(
$mybb->user['usergroup'] == 17)
{
    eval(
"\$welcomeblock = \"".$templates->get("header_welcomeblock_gid17")."\";");

جایگزین نمایید.
17 آیدی گروه است.
سپس به
قالب ها پوسته->قالب ها->قسمت قالب ها->قالب مورد نظر->افزودن قالب قالب رو به این صورت اضافه نمایید.
نام:
header_welcomeblock_gid17
محتویات :دلخواه
اضافه نمایید.
17 آیدی گروه است.

درود بر شما! راه حلی که ارایه فرمودید درست بود. اما باز هم در این کد مشکلی هست که باعث میشه کاربر (حتی ادمین) پس از ورود باز هم کلیدهای "ورود" و "ثبت نام" رو ببینه و دیگه خبری از گزینه‌های (کنترل پنل کاربر — کنترل پنل ناظم — کنترل پنل مدیر کل — خروج) نیست. با این کد فقط این کلیدها برای کاربران گروه 17 نمایش داده میشه و علیرغم ورود ادمین یا سایر کاربرها، باز هم همون هدر مربوط به مهمان نمایش داده میشه. به نظرم یه جورایی مثل کاربر مهمان باهاش برخورد میشه. فکر می‌کنم ایراد این کد جایی هست که else میاد. ممکنه یه چک دیگه بکنی لطفاً؟
صفحه‌ها: 1 2 3