28-01-2014, 22:29 Посмотрели: 3127 Добавил: Alex V

Как через PAGEBREAK сделать постраничную навигацию в полной новости?


Иногда бывают такие длинные и большие посты на сайте, что их просто нецелесообразно размещать на одной странице, ведь пользователю будет не очень удобно скроллить такую новость да и искать через время где ты остановился тоже очень сложно. А если у вас пост состоит из множество картинок, как например у меня на одном сайте более 100 картинок на пост, то для пользователя это просто катастрофа, хотя можно и запустить слайды в автоматическом режиме, но все же это не выход и до сех пор не все пользователи знают об этом простом способе.

Именно по этому я и начал использовать стандартный тег:

{PAGEBREАK}

Или как мы уже привыкли его визуально видеть под значком: pagebreak

Это очень полезный тег, который помогает разбить одну новость на несколько частей, я обычно разбиваю на 3-4 страницы и пользователи очень довольны и мне как владельцу сайта выгодно это действие, ведь то ли сейчас сразу на одной странице загрузится сразу 100 картинок или же 25, думаю разница очевидна и нагрузка снижается значительно (если конечно эти картинки у вас на сервере/хостинге)

Кстати! У вас может не работать тег pagebreak, если в шаблоне отсутствует код навигации.


Для тех у кого тег не работает публикую код, который должен быть в файле fullstory.tpl

	<div class="maincont">
			{full-story}
		</div>
		[pages]<div class="storenumber">{pages}</div>[/pages]


Обратите и проверьте прямо сейчас, если у вас этот код после full-story. И меня на днях спрашивали, что делать, чтобы не копировали твой текст на чужие сайты, вот статья - защита текста от копирования и получение обратной ссылки на автор ресурса. Почитайте обязательно, особенно если у вас воруют тексты.

А теперь вернемся к теме статьи и разберемся как сделать из навигации "Вперед - Назад" такую, как на скриншоте в самом вверху поста.

Как через PAGEBREAK сделать постраничную навигацию в полной новости?

1. Заходим и ищем в файле /engine/modules/show.full.php код:

$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>";
    }

    $linkpage['j'] = $pages;
    $linkpage = array_values($linkpage);}

    $linkpage =  implode(" ",$linkpage);
    $tpl->set( '{pages}', $prevpage . $linkpage . $nextpage );    
    $linkpage = "";
    unset( $linkpage );


Все, теперь у Вас должна быть такая навигация в полной новости:

Как через PAGEBREAK сделать постраничную навигацию в полной новости?

Рубрика записи: Хаки

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Юзер панель
Я тебя не знаю!
Зарегистрируйся, либо

войди под своим логином!

Fuck, я забыл свой пароль!

Восстановить данные =0
Новое на сайте
Известная социальная сеть Instagram приступила к тестированию новой...
Недавно, в приложения для Android и iOS социальной сети Twitter была...
Недавно, в Google "Мой бизнес" разработчики добавили новейший способ, как...
Недавно стало известно о том, что соцсеть Facebook по упоминанию в русских...
Недавно, представитель корпорации Google, Джон Мюллер (John Mueller)...
Голосуем

Ваша любимая CMS?


DataLife Engine
WordPress
Joomla
Drupal
LiveStreet
UCOZ
Самопис
Php+Includ
Статика