Помощь Dle 8.2 обрезание короткой новости

Тема в разделе "DLE", создана пользователем GIwild, 4 ноя 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. GIwild

    GIwild Постоялец

    Регистр.:
    6 май 2006
    Сообщения:
    116
    Симпатии:
    6
    Dle 8.2 ищу обрезание короткой новости по определенному количеству символов, для того что бы первая страница смотрелась гармонично.

    Модератор, если и была такая тема, то я ее реально не нашел, потратил почти целый день, так что извини

    Для всех, кто даст решение для 8.2 огромное спасибо!
     
  2. Darksider

    Darksider

    Регистр.:
    15 мар 2007
    Сообщения:
    314
    Симпатии:
    109
  3. GIwild

    GIwild Постоялец

    Регистр.:
    6 май 2006
    Сообщения:
    116
    Симпатии:
    6
    Не поверишь, но не надоело, как правило вопрос идет прицепом, есть что сказать скажи, нет, проходи мимо
     
  4. Finnn

    Finnn Читатель

    Заблокирован
    Регистр.:
    16 окт 2009
    Сообщения:
    10
    Симпатии:
    1
    1. Открываем файл show.short.php (/engine/modules)

    После строк:

    Код:
    if(!defined('DATALIFEENGINE')) 
    { 
    die("Hacking attempt!"); 
    }
    Добавляем:

    Код:
    function get_img_basic($text){ 
    preg_match('|<img(.*) src="([^"]*)"[^>]*>|is', $text, $out);  
    return $out[2]; 
    }; 
    $charshort = 100; //Количество символов в краткой новости
    В этом же файле находим:

    Код:
    $tpl->copy_template = str_replace("[xfvalue_{$preg_safe_name}]", stripslashes($xfieldsdata[$value[0]]), $tpl->copy_template); 
    } 
    } 
    // Обработка дополнительных полей
    После вставляем:

    Код:
    $search = array ("'<script[^>]*?>.*?</script>'si",  
    "'<[\/\!]*?[^<>]*?>'si",  
    "'([\r\n])[\s]+'",  
    "'&(quot|#34);'i",  
    "'&(amp|#38);'i", 
    "'&(lt|#60);'i", 
    "'&(gt|#62);'i", 
    "'&(nbsp|#160);'i", 
    "'&(iexcl|#161);'i", 
    "'&(cent|#162);'i", 
    "'&(pound|#163);'i", 
    "'&(copy|#169);'i", 
    "'&#(\d+);'e");  
    $replace = array ("", 
    "", 
    "\\1", 
    "\"", 
    "&", 
    "<", 
    ">", 
    " ", 
    chr(161), 
    chr(162), 
    chr(163), 
    chr(169), 
    "chr(\\1)"); 
    $img = get_img_basic($row['short_story']); 
    $img_t= str_replace('thumbs/','',$img); 
    $images_show = "<!--ThumbBegin--><a href=\"$img_t\" onClick='return hs.expand(this)'>"; 
    $images_show_a = "</a><!--ThumbEnd-->"; 
    $images = $images_show."<img src=\"$img\" border=\"0\" alt=\"$title\">".$images_show_a; 
    $row['short_story'] = preg_replace( $search,$replace, $row['short_story'] ); 
    $row['short_story'] = substr (stripslashes($row['short_story']), 0, $charshort);
    $charshort = 100; // Ограничение на количество символов в краткой новости

    Для вывода в нужном месте используем переменную {image}
     
  5. Darksider

    Darksider

    Регистр.:
    15 мар 2007
    Сообщения:
    314
    Симпатии:
    109
    noobs must die! Это код с цссу 1.2 еще по моему... он марально уже устарел, не говоря уже по коду...

    GIwild, флудить не есть гуд, где модеры пропадают... давно пора закрыть уже эту флудильню и оставить один из трех топиков...

    вот тебе - юзай! http://www.nulled.ws/showthread.php?t=86953&highlight=cssy
     
Статус темы:
Закрыта.