دیتالایف انجین فارسی

main.tpl متفاوت برای هر موضوع و هر قسمت از سایت

تاریخ انتشار: 9 فروردین 1389
ارسال کننده: pedramj

main.tpl متفاوت برای هر موضوع و هر قسمت از سایت


با استفاده از این هک می توانید برای هر کدام از موضوعات یک main.tpl جداگانه تعریف کنید
و همین طور در هر قسمت از سایت مثل تماس با ما و یا آمار سایت و مد دی گه ای که نصب می کنید

فایل index.php را باز کنید, کد زیر را پیدا کنید :
$tpl->load_template ( 'main.tpl' );


سپس آن را با کد زیر جایگزین کنید :
$f_ = ($newsid !== 0) ?
        'main_' . $cat_info[$category_id]['alt_name'] . '.tpl' :  
        (($do == 'cat') ? 'main_' . $category . '.tpl' : 'main.tpl' );
        if (file_exists(TEMPLATE_DIR . '/'. $f_)) {
                $catTemplate = $f_;
        }else{
                $parentid_ = $cat_info[$category_id]['parentid'];
                $alt_name_cat_ = $cat_info[$parentid_]['alt_name'];
                while (isset($alt_name_cat_))
                {
                        if (isset ($alt_name_cat_)&file_exists(TEMPLATE_DIR . '/'. 'main_' . $alt_name_cat_ . '.tpl')) {
                                $catTemplate =  'main_' . $alt_name_cat_ . '.tpl';
                                break;
                        }else{
                                $parentid_ = $cat_info[$parentid_]['parentid'];
                                $alt_name_cat_ = $cat_info[$parentid_]['alt_name'];
                        }
                }
        }
        $catTemplate = isset ($catTemplate)&&(file_exists(TEMPLATE_DIR . '/'. $catTemplate)) ? $catTemplate : 'main.tpl';
        if( $do !== 'cat' && $do){
        if(file_exists(TEMPLATE_DIR . '/'. 'main_' . $do . '.tpl')){$catTemplate = 'main_' . $do . '.tpl';}
        else{$catTemplate = 'main.tpl';}
        }
        $tpl->load_template ( $catTemplate );


حالا برای هر موضوعی که می خواهید قالب جدایی ایجاد کنید باید یک فایل با اسم زیر در فولدر قالبتون ایجاد کنید :

main_آدرس موضوع.tpl  

به طور مثال شما موضوعی با آدرس news ساخته اید که اسم قالب آن main_news.tpl می شود
اگر برای موضوعی قالب جدا ایجاد نکرده اید سایت main.tpl را لود می کند

حال برای هر قسمت از سایت به این صورت می ماند که مثلا در آدرس index.php?do=pm و یا index.php?do=feedback شما می خواهید از قالب مورد نظر استفاده شود که با توجه به آدرس اسم قالب ها به این صورت میشود:

main_pm.tpl
main_feedback.tpl  

حال اگر برای هر قسمت قالبی ایجاد نکرده اید سایت همون main.tpl رو لود می کند
    51 نفر (51 کاربر و 0 میهمان) از این مطلب تشکر کرده اند.
    تشکر
    عضو سایت
    09 فروردین 1389 - 10:15
    میشه بیشتر توضیح بدی یعنی فقط یه فایل دیگه اضافه می کنیم یا یه پوشه دیگه؟؟؟؟
    عضو سایت
    09 فروردین 1389 - 10:25
    ir110boy,
    به فرمت فایلی که گفتم باید بسازی توجه کن tpl هست
    مثلا می خوای یک موضوع از قالب اصلی سایت که همون main.tpl هست استفاده نکنه با این کار به یکی با همون اسمی که گفتم میسازی بعد تمام تگ هایی که تو main.tpl استفاده کردی می تونی توش استفاده کنی آخرشم میری تو موضوعه از اون فایل جدیده که ساختی استفاده می کنه winked
    عضو سایت
    09 فروردین 1389 - 10:34
    کارت 2o تـــِ love
    عضو سایت
    09 فروردین 1389 - 11:30
    pedramj,
    پدرام جان ممنون flower
    هک های مفیدی میزاری loveu

    --------------------
    عضو سایت
    09 فروردین 1389 - 12:56
    اگه یه دمو بذاری عالی میشه

    --------------------
    عضو سایت
    09 فروردین 1389 - 15:26
    عالی بود
    عضو سایت
    09 فروردین 1389 - 15:35
    flower خیلی فوق العاده است موفق باشی با این آموزش می تونیم یک سایت کلا متفاوت داشته باشیم flower

    --------------------
    عضو سایت
    09 فروردین 1389 - 18:52
    mester,
    دمو از چی بزارم آخه فکر کن برای هر جای سایت می تونی یه main.tpl تعریف کنی smile

    payam.sepordeh,
    مرسی , فکر کنم تنها تو بخشای مثل تماس با ما و کلا این جور آدرس های سایت هم بهش اضافه شه کامل میشه و از نظر قالب میشه یک سایت با یک طرح متفاوت ایجاد کرد
    برای هر قسمت از سایت هم به آن اضافه شد.

    windom,
    AHMAD-SE,
    tahmiineh,
    ممنون , خواهش میشه fellow
    عضو سایت
    10 فروردین 1389 - 05:36
    واقعا که کمک بزرگی بود.دستتون درد نکنه.
    عضو سایت
    10 فروردین 1389 - 08:28
    ممنون . عالی بود . خیلی ها میخواستن اینکارو انجام بدن flower
    عضو سایت
    10 فروردین 1389 - 08:41
    چه میکنه این پدرام...ممنون smile flower
    عضو سایت
    10 فروردین 1389 - 10:23
    سلام من میخواستم خودم یه صفحه درست کنم مثلا صفحه نمایندگی میشه با این همین کار را کرد لطفا راهنمایی کنید
    عضو سایت
    10 فروردین 1389 - 12:46
    ممنون از همه خواهش میشه

    farid-ahmadi,
    اگه آدرس صفحه شما به یه همچین چیزی شبیه باشه index.php?do=yourpage بله میشه
    اسم قالب باید متناسب با اسم صفحه باشه الان برای مثال بالا اسم فایل به این صورت می شود
    main_yourpage.tpl
    fellow
    عضو سایت
    12 فروردین 1389 - 10:02
    عالی بود
    عضو سایت
    14 فروردین 1389 - 19:07
    خیلی ممنون
    برای ارسال مطلب توسط کار بر بدرد میخوره واقعا لازم داشتم .
    عضو سایت
    15 فروردین 1389 - 19:26
    با تشکر
    یک سؤال:
    آیا با seo هم کار میکنه؟
    عضو سایت
    16 فروردین 1389 - 01:02
    این خیلی ردیفه .. دمت گرم
    عضو سایت
    16 فروردین 1389 - 12:03
    szabeh,
    بله سازگار هست fellow
    عضو سایت
    16 فروردین 1389 - 12:07
    میشه بیشتر توضیح بدی یا دمو بذاری
    عضو سایت
    25 فروردین 1389 - 18:51
    خیلی ببخشید ولی من امتحان کردم این اصلا با حالت seo سازگار نیست.
    تو حالت seo مثلا آدرس تماس با ما هست:
    http://datalifeengine.ir/contact

    حالا چجوری میشه این هک شما را بان حالت سازگار کرد ؟؟!!!
    عضو سایت
    12 اردیبهشت 1389 - 21:28
    آیا سئو رو جوال میده worship
    عضو سایت
    22 اردیبهشت 1389 - 21:48
    exoff,
    بله جواب میده تست کردم هیچ مشکلی نداره

    msmed,
    شما نباید با توجه به آدرس سئو فایل رو درست کنید باید از آدرس دهی خود php استفاده کنید مثلا
    do=feedback که اسم قالب میشه main_feedback.tpl
    fellow
    عضو سایت
    25 خرداد 1389 - 19:27
    سلام . مشکلی بزرگی از سایت ما حل کرد . خدا اجرتون بده انشاا...
    عضو سایت
    02 شهریور 1389 - 09:44
    واقعا محتاج این هک بودم!
    بعدا 100% استفاده ازین هک رو تو یه سایتی می بینی ! بدون اینکه آدرسشو بدمت !!!
    عضو سایت
    28 خرداد 1391 - 17:48
    سلام

    ایول حال کردم بهات..خیلی کمکم کردی


    دوست دارم خیلی dance
    عضو سایت
    26 آبان 1391 - 08:28
    سلام

    دوستان این هک برا قسمت addnewsکار نمیکنه؟ آخه من هر کاری میکنم میگه قالب addnewss.tpl وجود نداره narahat
    عضو سایت
    05 بهمن 1391 - 20:33
    سلام
    دوستانه عزیر اگه بخوایم تمام صفحات دیگر سایت با یه تمپ دیگه بجز main لود بشه تک تک باید برای هر صفحه , بایستی tpl. مجزا بسازیم یا می تونیم بطور مثال برای کل موضوعات بگیم یه قالب رو لود بشه ؟؟


    gstu,
    دوستان مشکل حل شد !!!
    با این کد :

    if($subaction == 'showfull'){
    $tpl->load_template ( 'main_full.tpl' );
    }else{
    $tpl->load_template ( 'main.tpl' );
    }
    عضو سایت
    23 اردیبهشت 1392 - 19:47
    دوستان دقت کنید که این هک فقط روی یک موضوع عمل میکنه
    بطور مثال اگه یکی از مطالبتون جزء موضوع خبری باشه و دیگری عکس خبری و برای ارسالتون هر دو موضوع رو ثبت کنید مین اصلی لود میشه و مین متفاوت عمل نمیکنه

    پس یادتون باشه برای مین متفاوت فقط یک موضوع رو انتخاب کنید حتی اگه این موضوع دارای یک مین میباشد
    عضو سایت
    11 اسفند 1393 - 13:13
    عذر می خوام برای ورژن 10.4 کدهای index.php تغییر کرده. باید چکار کنیم؟
    عضو سایت
    04 تیر 1394 - 17:51
    من از ورژن 10.4 استفاده میکنم خواستم این هکو اعمال کنم ولی داخل index.php کد
    $tpl->load_template ( 'main.tpl' ); نبود که بخوام با کد بالایی جایگزین کنم!!!!

    خیلی بهش نیاز دارم لطفا راهنمایی کنید
    در ضمن تو کدای cms سرچ کردم این تکه کد $tpl->load_template ( 'main.tpl' ); داخل engine/modules/main.php پیدا کردم و فقط همینجا بود
    جهت ارسال نظر، فرم زیر را تکمیل نمائید:
    نام:*
    ایمیل:*
    متن نظر:

     
    پررنگکج خط دارخط دار در وسط|سمت چپوسط سمت راست|قرار دادن شکلکانتخاب رنگ|پنهان کردن متنقراردادن نقل قولتبدیل نوشته ها به زبان روسیقراردادن Spoiler
    کد امنیتی: *