Ищу Постраничную разбивку для полной новости

Тема в разделе "DLE", создана пользователем s_root, 10 сен 2012.

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

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

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

    s_root

    Регистр.:
    27 окт 2007
    Сообщения:
    177
    Симпатии:
    37
    Подскажите хак для постраничного разбиения страниц для DLE 9.х
     
  2. Evilmolen

    Evilmolen Создатель

    Заблокирован
    Регистр.:
    9 авг 2010
    Сообщения:
    21
    Симпатии:
    15
    А как же {PAGEBREAK} ?
     
  3. lift

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.377
    От 7.3-8.2 линейки вот такое было, копирую прямо весь файл, который у меня лежит. Раньше работал, сейчас перекрути на изменные файлы, возможно заработает:

    PHP:
    ОписаниеХак предназначен для автоматической разбивки новостей на страницы.
    Часто бываетчто на сайтах (особенно со статьяминеобходимо вручную ставить тег {PAGEBREAKдля того что бы разбить статью на несколько страницХак это делает автоматическипричем разбивает статью через определенное количество слов.

    Авторы
    код zetar
    Прикрутил
    настроил kandasoft

    Установка


    1открываем файл engine/data/config.php

    Находим
    :
    -----------------------
    'show_sub_cats' => "1",
    -----------------------

    Вставляем далее:
    -----------------------
    'page_break_news' => "500",
    -----------------------

    2Открываем lanhuage/Russian/adminpanel.lng

    Находим

    -----------------------
    // 6.3
    -----------------------

    Вставляем далее
    -----------------------
    'opt_break_news'        =>    "Авто разбивание новостей на страницы",
    'opt_break_newsc'        =>    "Автоматическое разбивание новостей на страницы через определенное кол-во слов",
    -----------------------

    3Открываем engine/inc/options.php

    Находим

    -----------------------
        
    showRow($lang['opt_sys_related_num'], $lang['opt_sys_related_numd'], "<input class=edit type=text style=\"text-align: center;\"  name='save_con[related_number]' value=\"{$config['related_number']}\" size=10>");
    -----------------------

    Вставляем далее
    -----------------------
        
    showRow($lang['opt_break_news'], $lang['opt_break_newsc'], "<input class=edit type=text style=\"text-align: center;\"  name='save_con[page_break_news]' value=\"{$config['page_break_news']}\" size=10>");
    -----------------------

    4Открываемengine/modules/show.full.php

    Находим

    -----------------------
            if (!
    $news_page)
            {
                
    $news_page 1;
            }
            ;
    ------------------------

    Вставляем далее
    ------------------------
    if(
    $config['page_break_news'] != 0) {
        
    $add "{PAGEBREAK}"
        
    $every $config['page_break_news'] ; 
        
    $wordsexplode(" ",$row['full_story']); 
        
    $l=1;
        
    $co count($words);
        for (
    $i=0;$i<$co;$i++) {
          if(
    $l==$every){
           
    $words[$i].=$add;
           
    $l=0;
          }
          
    $l++;
        }

        
    $row['full_story'] = implode(" ",$words);
    }
    -------------------------


    Пользуемся =)

    Настроки обрезания находятсяадминпанель -> настройка системы -> настройка вывода новостей -> Авто разбивание новостей на страницы



    А так же вывод всех номеров страниц после тако разбивки кучей а не по одной
    :

    в файле show.full.php нати:

    if( 
    $news_page $anzahl_seiten ) { 
        
    $pages $news_page 1
         
        if( 
    $config['allow_alt_url'] == "yes" ) { 
            
    $nextpage " | <a href=\"" $short_link "page," $pages "," $row['alt_name'] . ".html\">" $lang['news_next'] . "</a>"
        } else { 
            
    $nextpage " | <a href=\"$PHP_SELF?newsid=" $row['id'] . "&amp;news_page=" $pages "\">" $lang['news_next'] . "</a>"
        } 


    if( 
    $news_page ) { 
        
    $pages $news_page 1
         
        if( 
    $config['allow_alt_url'] == "yes" ) { 
            
    $prevpage "<a href=\"" $short_link "page," $pages "," $row['alt_name'] . ".html\">" $lang['news_prev'] . "</a> | "
        } else { 
            
    $prevpage "<a href=\"$PHP_SELF?newsid=" $row['id'] . "&amp;news_page=" $pages "\">" $lang['news_prev'] . "</a> | "
        } 


    $tpl->set'{pages}'$prevpage $lang['news_site'] . " " $news_page $lang['news_iz'] . $anzahl_seiten $nextpage ); 


    и заменить на:

    for (
    $j 1$j <= $anzahl_seiten$j++) 

        if (
    $news_page $anzahl_seiten
        { 
            
    $news_page 1
        } 
        else 
        { 
            
    $news_page 1
        } 
         
        if (
    $j != $news_page
        { 
            if (
    $config['allow_alt_url'] == "yes"
            { 
                
    $pages .= "<a href=\"".$short_link."page,".$j.",".$row['alt_name'].".html\">$j</a> "
            } 
            else 
            { 
                
    $pages .= "<a href=\"$PHP_SELF?newsid=".$row['id']."&news_page=$j\">$j</a> "
            } 
        } 
        else 
        { 
            
    $pages .= "<span><b>$j</b></span> "
        } 


    $tpl->set('{pages}'$pages);
     
    s_root нравится это.