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



 

Здравствуйте, гость ( Вход | Регистрация )

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


Участник
***

Группа: User
Сообщений: 195
Регистрация: 9.8.2009
Поблагодарили: 23 раза
Репутация:   10  


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


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


Бывалый
****

Группа: User
Сообщений: 256
Регистрация: 10.3.2010
Из: Москвы
Поблагодарили: 56 раз
Репутация:   19  


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

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


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


Участник
***

Группа: User
Сообщений: 195
Регистрация: 9.8.2009
Поблагодарили: 23 раза
Репутация:   10  


(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


Бывалый
****

Группа: User
Сообщений: 256
Регистрация: 10.3.2010
Из: Москвы
Поблагодарили: 56 раз
Репутация:   19  


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


Участник
***

Группа: User
Сообщений: 195
Регистрация: 9.8.2009
Поблагодарили: 23 раза
Репутация:   10  


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


Участник
***

Группа: User
Сообщений: 195
Регистрация: 12.8.2010
Из: Тагила
Поблагодарили: 74 раза
Репутация:   25  


Мб так? Могу ошибаться, т.к. спать хочу.
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


Участник
***

Группа: User
Сообщений: 195
Регистрация: 9.8.2009
Поблагодарили: 23 раза
Репутация:   10  


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


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


Участник
***

Группа: User
Сообщений: 195
Регистрация: 12.8.2010
Из: Тагила
Поблагодарили: 74 раза
Репутация:   25  


Ну как Вы сказали, так и сделал, в следующий раз будьте информативней.
Потрудились бы хоть поискать примеры алгоритма пагинации на 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


Участник
***

Группа: User
Сообщений: 195
Регистрация: 9.8.2009
Поблагодарили: 23 раза
Репутация:   10  


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


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Новости mail.ru появятся в "рекомендациях" Вконтакте?
16 eduarddis 2436 Вчера, 15:55
автор: Pingunio
Горячая тема (нет новых ответов) Регистрация Вашего сайта (профиля,DLE сайты,подписи на форумах,постинг Тиц 10> , ПР 1>)
277 kaartes 102469 7.12.2017, 9:55
автор: Tootkin
Горячая тема (нет новых ответов) Крупные новостные (СМИ) площадки, Яндекс Новости, Google News, анонсы, хорошая посещаемость.
37 NastyaLanPR 14125 7.12.2017, 9:46
автор: NastyaLanPR
Горячая тема (нет новых ответов) Услуги по CMS Wordpress, DLE, Joomla!. Правки, ремонт, настройка.
Редактирование и правки. Низкие цены.
142 contex1 64955 5.12.2017, 12:13
автор: contex1
Открытая тема (нет новых ответов) Требуется так сказать оптимизация шаблона DLE
5 Deadman_n 386 2.12.2017, 13:24
автор: Deadman_n


 



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