Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Описание: Хак предназначен для автоматической разбивки новостей на страницы.
Часто бывает, что на сайтах (особенно со статьями) необходимо вручную ставить тег {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'] ;
$words= explode(" ",$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'] . "&news_page=" . $pages . "\">" . $lang['news_next'] . "</a>";
}
}
if( $news_page > 1 ) {
$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'] . "&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);