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

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

پشتیبان رسمی سیستم مدیریت محتوا

تگ custom پیشرفته

تگ custom پیشرفته

با سلام دوستان این دومین پست من تو دیتالایفه
دوستانی که از custom استفاده میکنند یک مشکل دارند.
مشکل تو موضوعات تو در تو هست. اگر تو تگ custom آی دی موضوع والد رو میگذاشتید مطالب زیر موضوعات رو نشون نمیداد. با این هک این مشکل حل میشه.

برای نصب مراحل زیر رو طی کنید:
1. فایل ضمیمه شما دسترسی لازم جهت دریافت این فایل را ندارید.
رو به هاستتون آپلود کنید.

2. تو فایل index.php قبل از کد:

if (strpos ( $tpl->copy_template, "{custom" ) !== false) {

کد زیر رو قرار دهید
if (strpos ( $tpl->copy_template, "{gamacat" ) !== false) {
    $tpl->copy_template = preg_replace ( "#\\{gamacat category=['\"](.+?)['\"] template=['\"](.+?)['\"] aviable=['\"](.+?)['\"] from=['\"](.+?)['\"] limit=['\"](.+?)['\"] cache=['\"](.+?)['\"]\\}#ies", "gamacat_print('\\1', '\\2', '\\3', '\\4', '\\5', '\\6', '{$dle_module}')", $tpl->copy_template );
}


3. تو فایل templates.class.php قبل از کد:

if (strpos ( $this->template, "[aviable=" ) !== false) {


این کد رو قرار دهید:

if (strpos ( $this->template, "{gamacat" ) !== false) {
    $this->template = preg_replace ( "#\\{gamacat category=['\"](.+?)['\"] template=['\"](.+?)['\"] aviable=['\"](.+?)['\"] from=['\"](.+?)['\"] limit=['\"](.+?)['\"] cache=['\"](.+?)['\"]\\}#ies", "gamacat_print('\\1', '\\2', '\\3', '\\4', '\\5', '\\6', '{$dle_module}')", $this->template );
}


4. مرحله پایانی تو فایل engine\modules\functions.php قبل از کد :
function custom_print($custom_category,


این کد رو قرار دهید:
function gamacat_print($custom_category, $custom_template, $aviable, $custom_from, $custom_limit, $custom_cache, $do) {
    global $db, $is_logged, $member_id, $xf_inited, $cat_info, $config, $user_group, $category_id, $_TIME, $lang, $smartphone_detected, $dle_module;
    
    $do = $do ? $do : "main";
    $aviable = explode( '|', $aviable );
    
    if( ! (in_array( $do, $aviable )) and ($aviable[0] != "global") ) return "";
    
    $custom_category = $db->safesql( str_replace( ',', '|', $custom_category ) );
    $custom_from = intval( $custom_from );
    $custom_limit = intval( $custom_limit );
    $thisdate = date( "Y-m-d H:i:s", (time() + $config['date_adjust'] * 60) );
    
    if( intval( $config['no_date'] ) ) $where_date = " AND date < '" . $thisdate . "'";
    else $where_date = "";
    
    $tpl = new dle_template( );
    $tpl->dir = TEMPLATE_DIR;
    
    if( $custom_cache == "yes" ) $config['allow_cache'] = "yes";
    else $config['allow_cache'] = false;
    if( $is_logged and ($user_group[$member_id['user_group']]['allow_edit'] and ! $user_group[$member_id['user_group']]['allow_all_edit']) ) $config['allow_cache'] = false;
    
    $content = dle_cache( "custom", "cat_" . $custom_category . "template_" . $custom_template . "from_" . $custom_from . "limit_" . $custom_limit, true );
    
    if( $content ) {
        return $content;
    } else {
        
        $allow_list = explode( ',', $user_group[$member_id['user_group']]['allow_cats'] );
        
        if( $user_group[$member_id['user_group']]['allow_short'] ) $stop_list = "";
        
        if( $cat_info[$custom_category]['news_sort'] != "" ) $news_sort = $cat_info[$custom_category]['news_sort']; else $news_sort = $config['news_sort'];
        if( $cat_info[$custom_category]['news_msort'] != "" ) $news_msort = $cat_info[$custom_category]['news_msort']; else $news_msort = $config['news_msort'];
        
        $custom_category = str_replace( "|", "','", $custom_category );
        $where_category = "category in (select id FROM " . PREFIX . "_category where parentid  IN ('" . $custom_category . "') )";
        $where_category .= " or category in  ('" . $custom_category . "') ";

        
        

        if ($config['allow_fixed']) $fixed = "fixed desc, ";
        else $fixed = "";
        
        $sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE " . $where_category . " AND approve" . $where_date . " ORDER BY " . $fixed . $news_sort . " " . $news_msort . " LIMIT " . $custom_from . "," . $custom_limit;
        
        include (ENGINE_DIR . '/modules/show.gamacat.php');
        
        if( $config['files_allow'] == "yes" ) if( strpos( $tpl->result['content'], "[attachment=" ) !== false ) {
            $tpl->result['content'] = show_attach( $tpl->result['content'], $attachments );
        }
        
        create_cache( "custom", $tpl->result['content'], "cat_" . $custom_category . "template_" . $custom_template . "from_" . $custom_from . "limit_" . $custom_limit, true );
    
    }
    return $tpl->result['content'];
}

برای استفاده تو هر جایی از قالب که خواستید از این تگ استفاده کنید:

{gamacat category="38" template="test" aviable="global" from="0" limit="4" cache="no"}


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

نظرات کاربران
hichkas9 در 14 تیر 1389 - 17:31 گفته:
عضو سایتنظرات: 43

templates.class.php میشه بگید کجاست؟

kavehch در 14 تیر 1389 - 17:39 گفته:
عضو سایتنظرات: 34

hichkas9,

سلام اینجاست

engine/classes

موفق باشید

hichkas9 در 14 تیر 1389 - 17:47 گفته:
عضو سایتنظرات: 43

cheshmak منونkavehch

3. تو فایل templates.class.php قبل از کد:

if (strpos ( $tpl->copy_template, "{ز" ) !== false) {


این کد توی templates.class.php برای من نیست چرا؟

szabeh در 14 تیر 1389 - 17:57 گفته:
عضو سایتنظرات: 34

hichkas9, دوستان دیگر

دنبال این بگردید:
if (strpos ( $this->template, "{custom" ) !== false) {


من داشتم مطلب رو ویرایش میکردم که دوستان مدیر این مطلب رو منتشر کردند.
مدیران عزیز این قسمت رو بی زحمت تصحیح کنید.

hichkas9 در 14 تیر 1389 - 18:19 گفته:
عضو سایتنظرات: 43

szabeh,

این کد هم نیست توی templates.class.php

szabeh در 14 تیر 1389 - 18:39 گفته:
عضو سایتنظرات: 34


hichkas9,
شما از کدام نسخه استفاده میکنی. این که تو همه نسخه ها هست.

خوب این کد رو بگرد:
if (strpos ( $this->template, "[aviable=" ) !== false) {

hichkas9 در 14 تیر 1389 - 19:05 گفته:
عضو سایتنظرات: 43

8.5

این یکی که گذاشتین هست.

fttp در 14 تیر 1389 - 19:13 گفته:
عضو سایتنظرات: 12

خوب بود

bia2azad.ir در 15 تیر 1389 - 11:54 گفته:
عضو سایتنظرات: 49

دمت گرم .چیز خوبی بود

وحیدگراف در 15 تیر 1389 - 13:50 گفته:
عضو سایتنظرات: 12

belay بابا ترکوندید !!!

--------------------

سیدمصطفی حسینی در 05 شهریور 1389 - 15:34 گفته:
عضو سایتنظرات: 27

مطلب خوبی بود yes
ممنون flower

--------------------

DarkError در 09 شهریور 1389 - 12:08 گفته:
عضو سایتنظرات: 61

ممنون خیلی عالی بود واقعا دیتالایف انجین سیستم خیلی جالبیه ! از تمام cms های که استفاده کردم فعلا بهترینه و دارم بیشتر با اون آشنا میشم امیدوارم که انجمن سایت و سایت همیشه پایدار بمونه همچنین از کلیه دوستانی که برای بهتر شدن این سیستم و آموزش برای فارسی زبانان فعالیت میکنن به نوبه خودم از طرف کلیه دوستان تشکر میکنم winked

--------------------

parker در 12 شهریور 1389 - 05:00 گفته:
عضو سایتنظرات: 9

یه نکته در ورژن 9 نیازی به مرحله 4 نیست he

hitman_hs در 15 مهر 1389 - 10:18 گفته:
عضو سایتنظرات: 9

parker,
چرا شایعه پراکنی می کنی جناب؟ من موندم چرا مدیران دیتالایف انجین که اینقدر روی نظرات حساس هستن این نظرو گراشتن همینجور بمونه

آقا قسمت 4 مهمترین قسمته، شما این قسمتو ننویس ببین چی میشه حتی تو دیتالایف انجین 9

ضمنا، این کد یه مشکلی داره که تگ کاستوم نداشت
اگه شما واسه موضوعی دو یا چند بخش رو انتخاب کنین دیگه نشونش نمیده. اگه این مشکلشم حل بشه عالیه و اگه اون قسمتهایی که میاد عنوان و متن کوتاه رو محدود به تعداد کاراکتر های خاص می کنه هم بهش اضافه بشه، دیگه کامل کامل میشه

ممنون

ahmad4u در 22 آذر 1390 - 21:10 گفته:
عضو سایتنظرات: 83

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

کمبود:
عدم پشتیبانی از ایجاد محدودیت در کاراکترهای عنوان و متن کوتاه

مشکل:
من از این تگ برای نمایش در صفحه ای غیر از صفحه اصلی (مثلا برای صفحه نمایش مطالب یک موضوع) استفاده میکنم و مشکلی که پیش میاد به این صورت هست که اگه مقدار limit ،در این تگ را روی 5 قرار دهم ، هر مطلب را 5 بار نمایش میدهد یعنی اگر در موضوع A ،ما 3 مطلب وجود داشته باشد 5*3=15 مطلب نمایش میدهد

akbar_s در 26 بهمن 1390 - 07:28 گفته:
عضو سایتنظرات: 5

از لینک زیر استفاده کردم وگذاشتم اما اتفاقی نیافتاد
میشه بگید چطور باید بزارم؟
مقداری از کد رو که میخوام اینجا قرار بگیره براتون میزارم farashahd.com

<div class="mnwin hline-1">

<div class="title">اخبار و اطلاعیه ها</div>

<ul>

<li>» <a href="fa/posts/70">سرور دوم شرکت یکضرب راه اندازی شد</a></li>

<li>» <a href="fa/posts/60">تخفیف 20 درصدی ویژه نوروز برای خدمات هاستینگ</a></li>

<li>» <a href="fa/posts/29">راه اندازی سرور جدید شرکت یکضرب</a></li>

<li>» <a href="fa/posts/1">سایت جدید شرکت یکضرب راه اندازی شد</a></li>

</ul>

<div class="title">مقالات</div>

<ul>

<li>» <a href="fa/posts/34">آموزش ایجاد انعکاس توسط فوتوشاپ</a></li>

</ul>

</div>

</div>
<div class="bm"></div>

</div> <!--center-->
</div> <!--sub-windo-->
</div>


اگه توی سایت نگاه کنید من میخام اون قسمتی که لینکهای اطلاعیه و مقالات گذاشته شدند رو پاک کنم و بجاش اخبار و ومقالات بصورت تایپ شونده نمایش بزارم


ممنون میشم کمکم کنید با تشکر

ارسال نظر
نام:*
ایمیل:*
متن نظر:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
کد را وارد کنید: *
عکس خوانده نمی‌شود؟ کلیک کنید!