Как Увеличить Число Страниц Joomla Для Sape
На то вы и вэбмастер, чтобы думать.
(с) Вадим Ласто
Как известно в Sape для продажи контекстных ссылок принимают только страницы до третьего уровня включительно, а вот что же делать с неудобной навигацией CMS Joomla?
По умолчанию 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
Про контекстные ссылки мы уже писали.
Странно, $displayed_pages = 10; заменил на $displayed_pages = $this->total; А выводится как и раньше по 50. Почему по 50 а не по 10 тоже непонятно. Подскажите пожалуйста как это исправить. Может где-то в админке у меня 50 указано. Сам не нашел. Версия джумлы 1.0.15
Завтра файлик найду и скажу как там и что.
Ok, спасибо за беспокойство.
нашел там строчку
$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
в файле 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.
Даже не знаю я только, что посмотрел с двух сайтов файл pageNavigation.php там прописано:
/*$displayed_pages = 100; */
$displayed_pages = $this->total;
Дело в том что я нашел эту конструкцию только в function writePagesLinks
в настройках mainmenu там где:
Показывать по
можно выбрать от 5 до 50. И когда я там меняю то все работает. Можно ли сделать так чтобы там можно было выбрать до 500 или 1000?
В каком файле Joomla это прописывается?
Проблему решил! :razz:
Хорошая инфа. Щас попробую.
Юра, так расскажи нубам, как решить, так и не нашел…буду благодарен
В моем случае нужно было увеличить количество страниц третьего уровня. Главная страница у меня содержала список категорий, а категории по Х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.
Все!!!
Надеюсь этот способ кому-то поможет.
Спасибо. Но это гемор, если много разделов, категорий. Зато получил мощный поджопник, чтобы самому залезть в код.
открываем /administrator/components/com_menus/content_section (или category, кому что нужно)
лезем в content_section.xml, находим
5
10
15
20
25
30
50
меняем на нужные (100 или 300 или 500)
и теперь из админки выбираем нужное значение.
Вуаля….и и все ваши материалы на одной странице.
p.s. как-то код в комментах немного не правильно отобразился
seomaniac, спасибо! Теперь буду знать. На счет гемора ты прав, я тогда здорово попарился (разделов и категорий было много).
Не очень понял, что в Joomla у вас теперь выводится по 300 ссылок на страницы в навигации (внизу страницы)? А это не слишком уж ужасно выглядит? :) отя если ГС по продажу ссылок то конечно пофиг… Но вроде как сапа с внутренних страниц кушает не более чем 150 ссылок.
Все выглядит красиво, если вам знаком CSS. :cool:
Joomla — это одна большая проблема, плюс ко всему еще и тормознутая…имхо.. :grin:
Blogera, последняя запись..Коэффициент преобразования посетителей в подписчиков
Подскажите пожалуйста как можно проделать тоже самое но в версии 1.5.X
Заранее спасибо за помощь!
а с вордпресом такое проделать можно?
Поставил себе версию jomla 1.5.12.
Как в этой версии можно выполнить аналогичную операцию?
Точно так же изменил pagenavigation.php в joomla 1.5 и всё заработало.
Насколько я помню в меню категорий можно редактировать кол-во отображаемых ссылок на статьи, зачем тогда копаться в коде?
Выложеный файл не скачивается….
для 1.5x
libraries\joomla\html\pagination.php
измени:
$displayedPages = x;
*(x = любое число)
Joomla 1.5 прекрасная система:
geology.by/biogrphy.html
какой это будет уровень страниц? Третий?
По-моему красиво. Да и на первой странице у этих парней ссылок навалом на внутренние страницы.
Всё это конечно здорово, но sape почему то остался равнодушен ко всем этим изменениям.
Зачем лезть в код если все делается в настройках а админке? И это увеличивает страниц не более чем на 5%. Плюс получаешь сайт не дружелюбный к пользователям.
Спасибо, помогло!
Мне помогло на Джумле 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 строк! очень удобно, при рассылке сообщений!
Кто пользуется, тот поймёт =)