7.12.13, 12:23
0 комментарий
  DLE Хаки

not-newscount by MSW

В Dle10.1 добавился новый тег для шаблона shortstory.tpl:

[newscount=x] текст [/newscount]


который выводит текст указанный в тегах если показывается X новость, где X это число показываемой на странице новости. Но иногда надо наоборот не показывать некоторое содержимое, например для первой новости. Данный хак добавляет такую возможность.

Установка:

1. В файле /engine/modules/functions.php найти:

function check_newscount( $matches=array() ) {
    global $global_news_count;

    $block = $matches[2];

    $counts = explode( ',', $matches[1] );
    
    if( !in_array( $global_news_count, $counts ) ) return "";

    return $block;
}


Заменить на:

#****** not-newscount by MSW *** start ******#
function check_newscount( $matches=array() ) {
    global $global_news_count;

    $block = $matches[3];
    $counts = explode( ',', $matches[2] );
    if( $matches[1] == "newscount" ) {
        if( !in_array( $global_news_count, $counts ) ) return "";
    } else {
        if( in_array( $global_news_count, $counts ) ) return "";
    }
    return $block;
}
#****** not-newscount by MSW *** stop  ******#



2. В файлах /engine/modules/show.short.php и /engine/modules/show.custom.php найти:

    if (strpos ( $tpl->copy_template, "[newscount=" ) !== false) {
        $tpl->copy_template = preg_replace_callback ( "#[newscount=(.+?)](.*?)[/newscount]#is", "check_newscount", $tpl->copy_template );
    }


Заменить на:

#****** not-newscount by MSW *** start ******#
        if (strpos ( $tpl->copy_template, "[newscount=" ) !== false) {
            $tpl->copy_template = preg_replace_callback ( "#[(newscount)=(.+?)](.*?)[/newscount]#is", "check_newscount", $tpl->copy_template );
        }
        if (strpos ( $tpl->copy_template, "[not-newscount=" ) !== false) {
            $tpl->copy_template = preg_replace_callback ( "#[(not-newscount)=(.+?)](.*?)[/not-newscount]#is", "check_newscount", $tpl->copy_template );
        }
#****** not-newscount by MSW *** stop  ******#


Применение:
В шаблоне shortstory.tpl, а также для шаблонах пользовательского вывода новостей при помощи тега {custom ....}:

[newscount=X] Выводить текст для Х по счёту новости [/newscount]
[not-newscount=X] Не выводить текст для Х по счёту новости [/not-newscount]


Готово!

Версия DLE: 10.1
Автор: MSW

Реклама

Напишите своё мнение

  • acuteaggressiveair_kissangel
    badbbbeachbeee
    biggrinbig_bossblumblush
    boastbombboredombye
    clappingcraycrazycurtsey
    dancedashdeclarediablo
    diroldon-t_mentiondownloaddrinks
    first_moveflirtfocusfool
    friendsgive_heartgive_rosegood
    hangheartheathelp
    hihunterhystericireful
    kingkisslaughlazy
    lolmail1mambaman_in_love
    mdamega_shokmoilmosking
    musicneanegativenew_russian
    okon_the_quietpardonparting
    partypilotpioneerpleasantry
    popcormpranksterprevedpunish
    roflrtfmrussiansad
    sarcasticscarescratchsearch
    secretsensoredshokshout
    slowsmilesmokesoldier
    soldier_girlsorryspitefulspruce_up
    stinkersuicidesunsuperstition
    swoonteasetenderthanks
    thisto_pick_ones_noseto_take_umbragetreaten
    umnikunknwvampirevava
    victorywackowhistlewink
    wizardyahooyesyu
    e101e102e103e104
    e105e106e107e108
    e109e110e111e112
    e113e114e115e116
    e117e118e119e120
    e121e122e123e124
    e125e126e127e128
    e129e130e131e132
    e133e134e135e136
    e137e138e139e140
    e141e142e143e144
    e145e146e147e148
    e149e150e151e152
    e153e154e155e156
    e157e158e159e160
    e161e162e163e164
    e165e166e167e168
    e169e170e171e172
    e173e174e175e176
    e177e178e179e180
    e181e182e183e184
    e185e186e187e188
    e189e190e191e192
    e193e194e195e196
    e197e198e199e200
    e201e202e203e204