X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Навигация по страницам в полной новости. DLE, нужна помощь.
nick889
nick889
Topic Starter сообщение 20.7.2011, 13:14; Ответить: nick889
Сообщение #1


Приветствую. Появилась такая проблема - когда создаю несколько страниц в полной новости, разделяя {pagebreak} - ом , сверху просто появляются ссылки вида "Предыдущая страница| Следующая страница".
Как сделать эту навигацию, как навигацию по страницам коротких новостей, т.е чтоб были цифры?
Заранее спасибо.


--------------------
Связь со мной - 5142004 Продажа макетов
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
HappyPark
HappyPark
сообщение 20.7.2011, 13:36; Ответить: HappyPark
Сообщение #2


\test1.ru\www\language\Russian\website.lng
'news_next' => "Следующая страница",
'news_prev' => "Предыдущая страница",

Меняем под себя.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
nick889
nick889
Topic Starter сообщение 20.7.2011, 14:37; Ответить: nick889
Сообщение #3


(HappyPark @ 20.7.2011, 15:36) *
Меняем под себя.

Спасибо, но это всё равно не то что надо было мне, мне нужно было чтоб автоматом ставило цифры.
Нашел рабочий код, но теперь есть еще одна загвоздка, нужно чтоб при нажатии на цифру станицы, добавлялось "#focus" к url в конце
решение первого вопроса, может кому пригодится:
В 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 . $lan['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);


Сообщение отредактировал nick889 - 20.7.2011, 14:52


--------------------
Связь со мной - 5142004 Продажа макетов
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
HappyPark
HappyPark
сообщение 20.7.2011, 14:56; Ответить: HappyPark
Сообщение #4


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#focus\">$j</a>";
        }
        else
        {
            $pages .= "<a href=\"$PHP_SELF?newsid=".$row['id']."&news_page=$j#focus\">$j</a>";
        }
    }
    else
    {
        $pages .= "<span><b>$j</b></span>";
    }
}

$tpl->set('{pages}', $pages);
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
nick889
nick889
Topic Starter сообщение 20.7.2011, 15:38; Ответить: nick889
Сообщение #5


HappyPark, ещё раз спасибо.Помогло!
Тема более не актуальна.

Оказывается еще не всё.
Путем этого кода идет вывод всех страниц по порядку : Пример : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :16 17 18 19 20 .
Как сделать чтоб было именно как навигация новостей, т.е чтоб после 10 страницы было "..." Пример: 1 2 3 4 5 6 7 8 9 10 ... 20


--------------------
Связь со мной - 5142004 Продажа макетов
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 21.7.2011, 22:39; Ответить: dan1
Сообщение #6


Мб так? Могу ошибаться, т.к. спать хочу.
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#focus\">$j</a>";
        }
        else
        {
            $pages .= "<a href=\"$PHP_SELF?newsid=".$row['id']."&news_page=$j#focus\">$j</a>";
        }
    }
    else
    {
        $pages .= "<span><b>$j</b></span>";
    }
    if($j == 10)
    {
          if($news_page == $j) $pages .= " ... <span><b>$j</b></span>";
          else $pages .= " ... <a href=\"$PHP_SELF?newsid=$anzahl_seiten&news_page=$anzahl_seiten#focus\">$anzahl_seiten</a>";
    break;
    }
}

$tpl->set('{pages}', $pages);


Сообщение отредактировал dan1 - 21.7.2011, 22:40


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
nick889
nick889
Topic Starter сообщение 22.7.2011, 1:15; Ответить: nick889
Сообщение #7


dan1, код немного не рабочий, снизу привел картинку, каие ошибки выдаёт :


--------------------
Связь со мной - 5142004 Продажа макетов
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 22.7.2011, 16:46; Ответить: dan1
Сообщение #8


Ну как Вы сказали, так и сделал, в следующий раз будьте информативней.
Потрудились бы хоть поискать примеры алгоритма пагинации на PHP. За 5 минут в яндексе нашел код.. Несколько небольших исправлений + переделка под DLE (который, можно сказать, совсем незнаю) занимает в целом 10 минут.
$pagedisprange=4;    // По сколько элементов отображать с левой и с правой стороны
$stpage=$news_page-$pagedisprange;
if ($stpage<1) $stpage=1;
$endpage=$news_page+$pagedisprange;
if($endpage>$anzahl_seiten) $endpage=$anzahl_seiten;
if($news_page>1)
{
if ($config['allow_alt_url'] == "yes") $pages .= "<a href=\"".$short_link."page,1,".$row['alt_name'].".html#focus\">1</a> ";
else $pages .= "<a href=\"$PHP_SELF?newsid=".$row['id']."&news_page=1#focus\">1</a> ";
}
if($stpage>1) $pages .= '... ';
for ($i=$stpage;$i<=$endpage;$i++)
{
    if($i==$news_page) $pages .= '<span><b>'.$i.'</span></b> ';
    else
    {
        if($i != 1 && $i != $anzahl_seiten)
        {
            if ($config['allow_alt_url'] == "yes") $pages .= "<a href=\"".$short_link."page,".$i.",".$row['alt_name'].".html#focus\">$i</a> ";
            else $pages .= "<a href=\"$PHP_SELF?newsid=".$row['id']."&news_page=$i#focus\">$i</a> ";
        }
    }
}
if ($endpage<$anzahl_seiten) $pages .= '... '; // если начало конец вывода не последняя страница, то напечатаем три точки
if ($news_page<$anzahl_seiten)
{
if ($config['allow_alt_url'] == "yes") $pages .= "<a href=\"".$short_link."page,$anzahl_seiten,".$row['alt_name'].".html#focus\">$anzahl_seiten</a> ";
else $pages .= "<a href=\"$PHP_SELF?newsid=".$row['id']."&news_page=$anzahl_seiten#focus\">$anzahl_seiten</a> ";
}

$tpl->set('{pages}', $pages);


Если работает — с Вас плюсик facepalm.gif

Сори за оффтоп: юбилейный сотый пост goodpost.gif (я долго этого ждал) smile.gif

Сообщение отредактировал dan1 - 22.7.2011, 16:55


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
nick889
nick889
Topic Starter сообщение 22.7.2011, 18:02; Ответить: nick889
Сообщение #9


dan1, Огромнейший плюс, Вам. Всё заработало как по маслу. Ещё раз спасибо!

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Связь со мной - 5142004 Продажа макетов


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) DLE xProtect
2 xoopw 5986 15.1.2024, 21:06
автор: Diana_Wesley
Открытая тема (нет новых ответов) Обновить сайт на CMS DLE
1 Sawich 1667 2.9.2023, 10:10
автор: WoWeb
Открытая тема (нет новых ответов) Изготовление красивых сайтов на DLE под ключ | Доступные цены
от 2000 руб.
1 Admiral_ukr 1601 20.11.2022, 10:08
автор: Webmaster24
Открытая тема (нет новых ответов) Ищу спеца по DLE вылечить сайт
4 Reactive 2643 22.10.2022, 9:01
автор: Fozik77
Открытая тема (нет новых ответов) требуется перенос с Dle на wordpres
нужен человек для переноса движка
5 Юрий82 1948 30.7.2022, 18:02
автор: Klerik84


 



RSS Текстовая версия Сейчас: 24.4.2024, 20:06
Дизайн