Как Увеличить Число Страниц Joomla Для Sape

avatar

На то вы и вэбмастер, чтобы думать.
(с) Вадим Ласто

Как известно в Sape для продажи контекстных ссылок принимают только страницы до третьего уровня включительно, а вот что же делать с неудобной навигацией CMS Joomla?

Как Увеличить Число Страниц Joomla Для Sape

По умолчанию Joomla отображает в постраничной навигации 10 страниц и плюс ссылки В начало, Предыдущая, Следующая, В конец. Для увеличения страниц второго и третьего уровня необходимо максимизировать доступность с главной для всех возможных страниц. Как известно третий уровень самый дешевый и раскупаемый оптимизаторами.

Для этого необходимо отредактировать файл /includes/pageNavigation.php и найти строку: $displayed_pages = 10;

Число 10 заменяем на нужное.

Вообще, красиво будет, если сделать: $displayed_pages = $this->total;

ИМХО, совсем лишние при этой модификации ссылки Туда-Сюда и Начало-Конец, убрать совсем. Для этого нужно найти строки и удалить:

$txt .= ‘<a href=»‘. sefRelToAbs( «$link&limitstart=0″ ) .'» class=»pagenav» title=»‘. _PN_START .'»>’. _PN_LT . _PN_LT . $pnSpace . _PN_START .'</a> ‘;
$txt .= ‘<a href=»‘. sefRelToAbs( «$link&limitstart=$page» ) .'» class=»pagenav» title=»‘. _PN_PREVIOUS .'»>’. _PN_LT . $pnSpace . _PN_PREVIOUS .'</a> ‘;

$txt .= ‘<span class=»pagenav»>’. _PN_LT . _PN_LT . $pnSpace . _PN_START .'</span> ‘;
$txt .= ‘<span class=»pagenav»>’. _PN_LT . $pnSpace . _PN_PREVIOUS .'</span> ‘;

$txt .= ‘<a href=»‘. sefRelToAbs( $link .’&limitstart=’. $page ) .’ » class=»pagenav» title=»‘. _PN_NEXT .'»>’. _PN_NEXT . $pnSpace . _PN_RT .'</a> ‘;
$txt .= ‘<a href=»‘. sefRelToAbs( $link .’&limitstart=’. $end_page ) .’ » class=»pagenav» title=»‘. _PN_END .'»>’. _PN_END . $pnSpace . _PN_RT . _PN_RT .'</a>’;

$txt .= ‘<span class=»pagenav»>’. _PN_NEXT . $pnSpace . _PN_RT .'</span> ‘;
$txt .= ‘<span class=»pagenav»>’. _PN_END . $pnSpace . _PN_RT . _PN_RT .'</span>’;

Для ленивых выкладываю измененный файл pageNavigation.php, положить в папку /includes/, заменив оригинальный: http://rapidshare.com/files/97799886/pageNavigation.zip

Про контекстные ссылки мы уже писали.




.

Комментарии (29) к материалу "Как Увеличить Число Страниц Joomla Для Sape"

  1. avatarЮрий (04.06.2008 22:52) (Ответить)

    Странно, $displayed_pages = 10; заменил на $displayed_pages = $this->total; А выводится как и раньше по 50. Почему по 50 а не по 10 тоже непонятно. Подскажите пожалуйста как это исправить. Может где-то в админке у меня 50 указано. Сам не нашел. Версия джумлы 1.0.15

  2. avatarАндрей Лапенко (05.06.2008 00:01) (Ответить)

    Завтра файлик найду и скажу как там и что.

  3. avatarЮрий (05.06.2008 00:08) (Ответить)

    Ok, спасибо за беспокойство.

  4. avatarЮрий (05.06.2008 19:31) (Ответить)

    нашел там строчку
    $limits[] = mosHTML::makeOption( «50» );
    заменил ее на
    $limits[] = mosHTML::makeOption( «500» );

    а строку
    for ($i=5; $i <= 30; $i+=5) {
    на
    for ($i=100; $i <= 300; $i+=100) {

    теперь уже лучше, в выпадающем списке на сайте теперь 100, 200, 300 и 500 объектов для отображения можно выбрать. Но когда только открываешь страницу (еще не выбрав количество для отображения) их опять 50.
    Может быть 50 указано в каком-то другом файле, не в pageNavigation.php

  5. avatarЮрий (05.06.2008 20:19) (Ответить)

    в файле administrator/components/com_config/admin.config.php в коде

    $listLimit = array(
    mosHTML::makeOption( 5, 5 ),
    mosHTML::makeOption( 10, 10 ),
    mosHTML::makeOption( 15, 15 ),
    mosHTML::makeOption( 20, 20 ),
    mosHTML::makeOption( 25, 25 ),
    mosHTML::makeOption( 30, 30 ),
    mosHTML::makeOption( 50, 50 ),
    );
    добавил строки

    mosHTML::makeOption( 100, 100 ),
    mosHTML::makeOption( 200, 200 ),

    Получил, тем самым, возможность из админки ставить ограничение выставляемое по умолчинию 100 и 200. Выставляю его, но это не работает. Опять 50. Когда ставлю 10, 15, 25 или любое другое (это все в админке), тоже не работает. Всегда 50.

  6. avatarАндрей Лапенко (05.06.2008 21:32) (Ответить)

    Даже не знаю я только, что посмотрел с двух сайтов файл pageNavigation.php там прописано:
    /*$displayed_pages = 100; */
    $displayed_pages = $this->total;

    Дело в том что я нашел эту конструкцию только в function writePagesLinks

  7. avatarЮрий (05.06.2008 21:57) (Ответить)

    в настройках mainmenu там где:
    Показывать по
    можно выбрать от 5 до 50. И когда я там меняю то все работает. Можно ли сделать так чтобы там можно было выбрать до 500 или 1000?
    В каком файле Joomla это прописывается?

  8. avatarЮрий (07.06.2008 20:06) (Ответить)

    Проблему решил! :razz:

  9. avatarСергей (22.06.2008 17:17) (Ответить)

    Хорошая инфа. Щас попробую.

  10. avatarseomaniac (11.07.2008 17:53) (Ответить)

    Юра, так расскажи нубам, как решить, так и не нашел…буду благодарен

  11. avatarЮрий (13.07.2008 09:04) (Ответить)

    В моем случае нужно было увеличить количество страниц третьего уровня. Главная страница у меня содержала список категорий, а категории по Х00 статей, и нужно было чтобы они выводились все.

    Полностью решить проблему при помощи корректировки кода мне так и не удалось. Поэтому сделал следующее:

    Как уже было указано выше редактируем /includes/pageNavigation.php

    $limits[] = mosHTML::makeOption( «50» );

    меняем на

    $limits[] = mosHTML::makeOption( «500» );

    а строку
    for ($i=5; $i <= 30; $i+=5) {
    на
    for ($i=100; $i <= 300; $i+=100) {

    теперь в выпадающем списке на сайте у нас появилась возможнось выбрать 100, 200, 300 и 500

    НО! Но открыв страницу (еще не выбрав количество для отображения) пунктов только 50.
    Чтобы решить это сделал так:

    1) открываем нужную страницу (ту где нужно сделать чтобы выводились все статьи)
    2) в выпадающем списке выбараем сколько обьектов отображать (500 или другое значение, главное чтобы при этом отобразились все)
    3) копируем куда-нибудь ссылку из адресной строки браузера
    4) создаем в джумле новый раздел и пишем там названия своих категорий
    5) делаем эти названия гиперссылками. а ссылки ставим на те страницы, которые уже отображают нужное нам количество статей (т.е ставим ту самую ссылку которую мыкопировали в пункте 3).
    6) связываем этот наш раздел с пунктом меню, а этот пункт меню ставим на первое место (ненужный старый скрываем) Джумла считает главной страницей ту ссылка на которую идет первой в меню mainmenu.
    Все!!!
    Надеюсь этот способ кому-то поможет.

  12. avatarseomaniac (13.07.2008 11:45) (Ответить)

    Спасибо. Но это гемор, если много разделов, категорий. Зато получил мощный поджопник, чтобы самому залезть в код.
    открываем /administrator/components/com_menus/content_section (или category, кому что нужно)
    лезем в content_section.xml, находим

    5

    10

    15

    20

    25

    30

    50

    меняем на нужные (100 или 300 или 500)
    и теперь из админки выбираем нужное значение.
    Вуаля….и и все ваши материалы на одной странице.

  13. avatarseomaniac (13.07.2008 11:50) (Ответить)

    p.s. как-то код в комментах немного не правильно отобразился

  14. avatarЮрий (14.07.2008 09:27) (Ответить)

    seomaniac, спасибо! Теперь буду знать. На счет гемора ты прав, я тогда здорово попарился (разделов и категорий было много).

  15. avatargamer (19.07.2008 23:40) (Ответить)

    Не очень понял, что в Joomla у вас теперь выводится по 300 ссылок на страницы в навигации (внизу страницы)? А это не слишком уж ужасно выглядит? :) отя если ГС по продажу ссылок то конечно пофиг… Но вроде как сапа с внутренних страниц кушает не более чем 150 ссылок.

  16. avatarАндрей Лапенко (20.07.2008 12:38) (Ответить)

    Все выглядит красиво, если вам знаком CSS. :cool:

  17. avatarBlogera (07.08.2008 12:27) (Ответить)

    Joomla — это одна большая проблема, плюс ко всему еще и тормознутая…имхо.. :grin:

    Blogera, последняя запись..Коэффициент преобразования посетителей в подписчиков

  18. avatarZEOS (13.10.2008 16:11) (Ответить)

    Подскажите пожалуйста как можно проделать тоже самое но в версии 1.5.X

    Заранее спасибо за помощь!

  19. avataralex5165 (08.06.2009 13:50) (Ответить)

    а с вордпресом такое проделать можно?

  20. avatarАртем (14.07.2009 20:39) (Ответить)

    Поставил себе версию jomla 1.5.12.
    Как в этой версии можно выполнить аналогичную операцию?

  21. avatarMaxim (30.07.2009 07:33) (Ответить)

    Точно так же изменил pagenavigation.php в joomla 1.5 и всё заработало.

  22. avatarСтудент (07.09.2009 22:38) (Ответить)

    Насколько я помню в меню категорий можно редактировать кол-во отображаемых ссылок на статьи, зачем тогда копаться в коде?

  23. avatarТурист (13.09.2009 16:47) (Ответить)

    Выложеный файл не скачивается….

  24. avatarF^[a].t (29.10.2009 11:37) (Ответить)

    для 1.5x
    libraries\joomla\html\pagination.php
    измени:
    $displayedPages = x;
    *(x = любое число)

  25. avatarпрохожий (07.09.2010 17:36) (Ответить)

    Joomla 1.5 прекрасная система:
    geology.by/biogrphy.html
    какой это будет уровень страниц? Третий?
    По-моему красиво. Да и на первой странице у этих парней ссылок навалом на внутренние страницы.

  26. avatarЧувак (11.02.2011 20:41) (Ответить)

    Всё это конечно здорово, но sape почему то остался равнодушен ко всем этим изменениям.

  27. avatarmaxi (25.06.2011 09:03) (Ответить)

    Зачем лезть в код если все делается в настройках а админке? И это увеличивает страниц не более чем на 5%. Плюс получаешь сайт не дружелюбный к пользователям.

  28. avatarAvtoproekt (27.12.2011 15:15) (Ответить)

    Спасибо, помогло!

  29. avatarEmsot (29.01.2015 13:30) (Ответить)

    Мне помогло на Джумле 2.5.8

    путь /sevaqua.com/www/libraries/joomla/html файл parameter.php

    $limits[] = JHtml::_(‘select.option’, ’50’, JText::_(‘J50’));
    $limits[] = JHtml::_(‘select.option’, ‘100’, JText::_(‘J100’));
    $limits[] = JHtml::_(‘select.option’, ‘0’, JText::_(‘JALL’));

    поставил значение 500
    $limits[] = JHtml::_(‘select.option’, ’50’, JText::_(‘J50’));
    $limits[] = JHtml::_(‘select.option’, ‘500’, JText::_(‘J500’));
    $limits[] = JHtml::_(‘select.option’, ‘0’, JText::_(‘JALL’));

    теперь показывает 500 строк! очень удобно, при рассылке сообщений!
    Кто пользуется, тот поймёт =)

Leave a comment


Я не рассылаю спам! *

Top