30.05.13, 16:45
4 комментарий
  DLE Хаки

Автоматическое добавление тегов

С помощью этого хака теги будут добавляться автоматически. При формировании тегов данные беруться из краткой новости или заголовка новости.












Установка:
1. Открываем engine/modules/addnews.php и сразу после первого вхождения:

if( $found )


Выше, вставляем один из вариантов:
/*------------- формирования тегов по заголовку ----------------*/
$nNumTags = 10;
$szContent = strip_tags($title);
$arr_tags = explode(' ', $szContent);
shuffle($arr_tags);
$nNumOfTags = 0;
$str_tag = '';
foreach ( $arr_tags as $tvalue ) {
$tvalue = trim($tvalue);
preg_match('/[a-zA-Zа-яА-Я]{4,}/', $tvalue, $t_v);
if ($t_v[0]) {
$str_tag .= $t_v[0].', ';
$nNumOfTags ++;
}
if ($nNumOfTags > $nNumTags)
break;
};
$_POST['tags'] = substr($str_tag, 0, strlen($str_tag)-1);
/*------------- формирования тегов по заголовку ----------------*/


Или:
/*------------- формирования тегов по краткой новости ----------------*/
$nNumTags = 10;
$szContent = strip_tags($short_story);
$arr_tags = explode(' ', $szContent);
shuffle($arr_tags);
$nNumOfTags = 0;
$str_tag = '';
foreach ( $arr_tags as $tvalue ) {
$tvalue = trim($tvalue);
preg_match('/[a-zA-Zа-яА-Я]{4,}/', $tvalue, $t_v);
if ($t_v[0]) {
$str_tag .= $t_v[0].', ';
$nNumOfTags ++;
}
if ($nNumOfTags > $nNumTags)
break;
};
$_POST['tags'] = substr($str_tag, 0, strlen($str_tag)-1);
/*------------- формирования тегов по краткой новости ----------------*/



2. Открываем файл engine/inc/addnews.php и находим:
if( trim( $_POST['vote_title']


Выше, вставляем один из вариантов:
/*------------- формирования тегов по заголовку ----------------*/
$nNumTags = 10;
$szContent = strip_tags($title);
$arr_tags = explode(' ', $szContent);
shuffle($arr_tags);
$nNumOfTags = 0;
$str_tag = '';
foreach ( $arr_tags as $tvalue ) {
$tvalue = trim($tvalue);
preg_match('/[a-zA-Zа-яА-Я]{4,}/', $tvalue, $t_v);
if ($t_v[0]) {
$str_tag .= $t_v[0].', ';
$nNumOfTags ++;
}
if ($nNumOfTags > $nNumTags)
break;
};
$_POST['tags'] = substr($str_tag, 0, strlen($str_tag)-1);
/*------------- формирования тегов по заголовку ----------------*/


Или:
/*------------- формирования тегов по краткой новости ----------------*/
$nNumTags = 10;
$szContent = strip_tags($short_story);
$arr_tags = explode(' ', $szContent);
shuffle($arr_tags);
$nNumOfTags = 0;
$str_tag = '';
foreach ( $arr_tags as $tvalue ) {
$tvalue = trim($tvalue);
preg_match('/[a-zA-Zа-яА-Я]{4,}/', $tvalue, $t_v);
if ($t_v[0]) {
$str_tag .= $t_v[0].', ';
$nNumOfTags ++;
}
if ($nNumOfTags > $nNumTags)
break;
};
$_POST['tags'] = substr($str_tag, 0, strlen($str_tag)-1);
/*------------- формирования тегов по краткой новости ----------------*/


Готово!

Важно! Теги будут формироваться только в новых новостях.

Версия DLE: 9.x

Реклама

Комментарии

  1. NorDULaN Пользователь offline 26 октября 2013 21:54                    

    А по доп. полю можно сделать?

  1. ToNik Пользователь offline 26 октября 2013 21:57                    

    Насколько видно по коду - НЕТ...
    Основная инфа черпается с заголовка

  1. NorDULaN Пользователь offline 28 октября 2013 08:23                    

    Если модифицировать?
    Есть ли в API DLE что нибудь по php xfields...
    Если есть то вероятно можно будет сделать

  1. ToNik Пользователь offline 28 октября 2013 09:21                    

    NorDULaN,
    Лично я не ставил это себе самоцелью...
    Но поковырять можно...

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

  • 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