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

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

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

محدودیت کاراکتر

محدودیت کاراکتر برای متن و عنوان مطلب

با استفاده از این هک 3 تا تگ در اختیار شما قرار میگیره که می توانید عنوان مطلب و متن کوتاه و بلند مطلب رو به تعداد کاراکتر های خود تغییر بدهید .
شما تگ ها را می توانید در shortstory.tpl , fullstory.tpl و قالب های تگ {custom} استفاده کنید

محدودیت کاراکتر برای متن و عنوان مطلب



1. فایل engine/modules/functions.php را باز کنید و کد زیر را پیدا کنید :

function msgbox($title, $text) {


قبل از آن کد زیر را قرار دهید :

function mb_substrws( $text, $len=180 ) {

    if( (mb_strlen($text) > $len) ) {

        $whitespaceposition = mb_strpos($text," ",$len)-1;

        if( $whitespaceposition > 0 ) {
            $chars = count_chars(mb_substr($text, 0, ($whitespaceposition+1)), 1);
            if ($chars[ord('<')] > $chars[ord('>')])
                $whitespaceposition = mb_strpos($text,">",$whitespaceposition)-1;
            $text = mb_substr($text, 0, ($whitespaceposition+1));
        }

        // close unclosed html tags
        if( preg_match_all("|<([a-zA-Z]+)|",$text,$aBuffer) ) {

            if( !empty($aBuffer[1]) ) {

                preg_match_all("|</([a-zA-Z]+)>|",$text,$aBuffer2);

                if( count($aBuffer[1]) != count($aBuffer2[1]) ) {

                    foreach( $aBuffer[1] as $index => $tag ) {

                        if( empty($aBuffer2[1][$index]) || $aBuffer2[1][$index] != $tag)
                            $text .= '</'.$tag.'>';
                    }
                }
            }
        }
    }
    return $text;
}

function limitField($l,$f,$h,$n){
    mb_internal_encoding('UTF-8');
    if($l<1 OR !$f) return;
    elseif(mb_strlen($f) <= $l) return $f;
    else{
        if($h == 'false') return mb_substr( strip_tags($f), 0,$l).$n;
        else return mb_substrws($f, $l ).$n;
        }
    }


2. 3 تا فایل زیر را باز کنید :
engine/modules/show.custom.php
engine/modules/show.full.php
engine/modules/show.short.php


کد زیر را در 3 تا فایل پیدا کنید :

$tpl->copy_template = preg_replace ( "#\{date=(.+?)\}#ie", "langdate('\\1', '{$row['date']}')", $tpl->copy_template );


کد زیر را در پایین آن قرار دهید :

$tpl->copy_template = preg_replace ( "#\\{limitTitle limit=['\"](.+?)['\"] next=['\"](.+?)['\"]\\}#ies", "limitField('\\1', '".stripslashes($row['title'])."', 'false', '\\2')", $tpl->copy_template );
        
        $row['full_story'] = (!$row['full_story'])? $row['short_story'] : $row['full_story'];
        $tpl->copy_template = preg_replace ( "#\\{limitFStory limit=['\"](.+?)['\"] html=['\"](.+?)['\"] next=['\"](.+?)['\"]\\}#ies", "limitField('\\1', '{$row['full_story']}', '\\2', '\\3')", $tpl->copy_template );
        
        $tpl->copy_template = preg_replace ( "#\\{limitSStory limit=['\"](.+?)['\"] html=['\"](.+?)['\"] next=['\"](.+?)['\"]\\}#ies", "limitField('\\1', '{$row['short_story']}', '\\2', '\\3')", $tpl->copy_template );



توضیحی در مورد تگ ها :

شما از 3 تا تگ پایین می توانید در shortstory.tpl , fullstory.tpl و قالب های تگ {custom} استفاده کنید.

در تگ ها 3 تا مشخصه هست که به صورت زیر می باشند :
- مشخصه limit که تعداد کاراکتر دلخواه را نمایش می دهد .
- مشخصه html که اگر مقدار آن برار true باشد تگ HTML را نیز حفظ خواهد کرد و سپس کوتاه سازی متن را انجام می دهد , مقدار false برای این مشخصه تگ html را حذف کرده و سپس کوتاه سازی متن را انجام می دهد . ( این مشخصه در تگ مزبوط به عنوان مطلب وجود ندارد )
- مشخصه next که کاراکتر مورد نظر شما را بعد از کوتاه سازی متن اضافه می کند, مانند : ( متن مطلب .... )

اولین تگ مربوط به عنوان مطلب هست :
{limitTitle limit='5' next='...'}


دومین تگ مربوط به متن کوتاه مطلب :

{limitSStory limit='450' html='true' next='...'}


و سومین تگ که مربوط به متن بلند مطلب :

{limitFStory limit='450' html='true' next='...'}


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

نظرات کاربران
iFarjad در 12 آبان 1389 - 09:46 گفته:
عضو سایتنظرات: 57

جالبه flower

NumEn.RTHP در 12 آبان 1389 - 10:28 گفته:
عضو سایتنظرات: 36

ممنون flower

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

Labyrinth در 12 آبان 1389 - 12:44 گفته:
عضو سایتنظرات: 18

چیز خوبی هست !!

mobi3nter در 12 آبان 1389 - 17:57 گفته:
عضو سایتنظرات: 54

عالیه fellow

ehsan jahangirzadeh در 26 تیر 1390 - 16:38 گفته:
عضو سایتنظرات: 42

flower makhsoosefreeiran

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

ahmad4u در 20 آذر 1390 - 11:50 گفته:
عضو سایتنظرات: 83

خیلی جالبه
اما این تگ را در قالب {custom} قرار دادم اما در صفحه اصلی (main.tpl) کار نمیکنه
مشکل از کجاست؟؟

ارسال نظر
نام:*
ایمیل:*
متن نظر:
  • 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
کد را وارد کنید: *
عکس خوانده نمی‌شود؟ کلیک کنید!