Joomla 1.5 Как изменить вид навигации: << Первая < Предыдущая 1 2 3 Следующая > Последняя >>

Тема в разделе "Навигационная структура сайта", создана пользователем StarMan, 20.11.2008.

  1. Offline

    StarMan Недавно здесь

    Регистрация:
    15.03.2008
    Сообщения:
    61
    Симпатии:
    0
    Пол:
    Мужской
    Кто подскажет как в Joomle 1.5 изменить навигацию?
     
  2.  
  3. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    Re: << Первая < Предыдущая 1 2 3 Следующая > Последняя >>

    Перепрограммировать?
    (какой вопрос, такой ответ...)
     
  4. Offline

    StarMan Недавно здесь

    Регистрация:
    15.03.2008
    Сообщения:
    61
    Симпатии:
    0
    Пол:
    Мужской
    sectus, Да? А я думал надо волшебной палочкой взмахнуть...
     
  5. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    Может скажешь что именно хотел изменить? А там видно будет...
     
  6. Offline

    StarMan Недавно здесь

    Регистрация:
    15.03.2008
    Сообщения:
    61
    Симпатии:
    0
    Пол:
    Мужской
    << Первая < Предыдущая 1 2 3 Следующая > Последняя >>
    Поменять на
    « Первая < 1 2 3 4 5 > Последняя »
    Ну вот примерно так.
     
  7. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    В файле языка посмотреть: language/en-GB/en-GB.ini
    Также можно перегружать методы в шаблоне, например: templates/beez/html/pagination.php
     
  8. tigra-uki
    Offline

    tigra-uki Пользователь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    Сори за повторение, но т.е. как я поняла предать навигации такой вид: _ 1 2 3 4 5 _ не получится?
    Просто вот вопрос оказался актуальным и для меня. А что именно менять или добавить в pagination.php кто-нить подскажет? :) плиз

    Тут еще такая проблема возникает в 1.5.7
    когда разбиваешь материал постранично вверху под заголовком материала появляется следующее:

    Индекс материала - ляляля (название категории надо понимать)
    Page # - ссылка на 2 страницу (как я поняла)
    Все страницы - ссылка (делает все одной страницей)
    Страница 1 из 2

    Как это убрать?

    P.S. я вижу что эта тема обсуждалась и раньше ...но ответов я не нашла...
     
    Последнее редактирование: 25.11.2008
  9. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    Ведь раньше как было: был шаблон, а чтобы что-то остальное поменять (ну вот хотя бы пагинацию) надо лезть в код и править. Теперь есть возможность перезагрузки методов объектов. Функции можно подменять некоторых классов можно подменять на свои. : )
    Конечно, это усложняет жизнь, но зато дает возможность создавать очень гибкие шаблоны.
    Посмотри как устроен html/pagination.php в разных шаблонах, может станет понятнее. А можно понравившийся вывод к своему шаблону приделать, просто скопировав этот файл.
     
    tigra-uki нравится это.
  10. tigra-uki
    Offline

    tigra-uki Пользователь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    sectus, спасибо...буду разбираться :)))
     
  11. tigra-uki
    Offline

    tigra-uki Пользователь

    Регистрация:
    10.06.2007
    Сообщения:
    45
    Симпатии:
    0
    Пол:
    Женский
    с этим справилась - убрала. Но честно говоря немного не таким способом, а пришлось залезть
    в \plugins\content\pagebreak.php

    Но поскольку совсем не знаю php ОЧЕНЬ прошу совета что необходимо дописать в pagebreak.php (???) или еще-куда либо чтобы вид навигации все же был следующим:

    < Предыдущая 1 2 3 Следующая >

    После моих модификаций (то что удалось убрать) он выглядит так:
     

    Вложения:

  12. Offline

    D1ver Недавно здесь

    Регистрация:
    05.12.2008
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    Собственно, проблема в переписывании переменных от 1.0 и 1.5, которую я пока не могу решить. Вот примеры (из модуля-мамбота разрыва новости):

    J1.0
    Код (PHP):
    1. function writePagesLinks( $link ) {
    2.         $txt = '';
    3.  
    4.         $displayed_pages = 10;
    5.         $total_pages = $this->limit ? ceil( $this->total / $this->limit ) : 0;
    6.         $this_page = $this->limit ? ceil( ($this->limitstart+1) / $this->limit ) : 1;
    7.         $start_loop = (floor(($this_page-1)/$displayed_pages))*$displayed_pages+1;
    8.         if ($start_loop + $displayed_pages - 1 < $total_pages) {
    9.             $stop_loop = $start_loop + $displayed_pages - 1;
    10.         } else {
    11.             $stop_loop = $total_pages;
    12.         }
    13.  
    14.         $link .= '&amp;limit='. $this->limit;
    15.  
    16.         if (!defined( '_PN_LT' ) || !defined( '_PN_RT' ) ) {
    17.             DEFINE('_PN_LT','&lt;');
    18.             DEFINE('_PN_RT','&gt;');
    19.         }
    20.  
    21.         $pnSpace = '';
    22.         if (_PN_LT || _PN_RT) $pnSpace = "&nbsp;";
    23.  
    24.         if ($this_page > 1) {
    25.             $page = ($this_page - 2) * $this->limit;
    26.             $txt .= '<a href="'. sefRelToAbs( "$link&amp;limitstart=0" ) .'" class="pagenav" title="'. _PN_START .'">'. _PN_LT . _PN_LT . $pnSpace . _PN_START .'</a> ';
    27.             $txt .= '<a href="'. sefRelToAbs( "$link&amp;limitstart=$page" ) .'" class="pagenav" title="'. _PN_PREVIOUS .'">'. _PN_LT . $pnSpace . _PN_PREVIOUS .'</a> ';
    28.         } else {
    29.             $txt .= '<span class="pagenav">'. _PN_LT . _PN_LT . $pnSpace . _PN_START .'</span> ';
    30.             $txt .= '<span class="pagenav">'. _PN_LT . $pnSpace . _PN_PREVIOUS .'</span> ';
    31.         }
    32.  
    33.         for ($i=$start_loop; $i <= $stop_loop; $i++) {
    34.             $page = ($i - 1) * $this->limit;
    35.             if ($i == $this_page) {
    36.                 $txt .= '<span class="pagenav">'. $i .'</span> ';
    37.             } else {
    38.                 $txt .= '<a href="'. sefRelToAbs( $link .'&amp;limitstart='. $page ) .'" class="pagenav"><strong>'. $i .'</strong></a> ';
    39.             }
    40.         }
    41.  
    42.         if ($this_page < $total_pages) {
    43.             $page = $this_page * $this->limit;
    44.             $end_page = ($total_pages-1) * $this->limit;
    45.             $txt .= '<a href="'. sefRelToAbs( $link .'&amp;limitstart='. $page ) .' " class="pagenav" title="'. _PN_NEXT .'">'. _PN_NEXT . $pnSpace . _PN_RT .'</a> ';
    46.             $txt .= '<a href="'. sefRelToAbs( $link .'&amp;limitstart='. $end_page ) .' " class="pagenav" title="'. _PN_END .'">'. _PN_END . $pnSpace . _PN_RT . _PN_RT .'</a>';
    47.         } else {
    48.             $txt .= '<span class="pagenav">'. _PN_NEXT . $pnSpace . _PN_RT .'</span> ';
    49.             $txt .= '<span class="pagenav">'. _PN_END . $pnSpace . _PN_RT . _PN_RT .'</span>';
    50.         }
    51.         return $txt;
    52.     }


    J1.5:
    Код (PHP):
    1. function plgContentCreateNavigation( &$row, $page, $n )
    2. {
    3.     $pnSpace = "";
    4.     if (JText::_( '&lt' ) || JText::_( '&gt' )) $pnSpace = " ";
    5.  
    6.     if ( $page < $n-1 )
    7.     {
    8.         $page_next = $page + 1;
    9.  
    10.         $link_next = JRoute::_( '&limitstart='. ( $page_next ) );
    11.         // Next >>
    12.         $next = '<a href="'. $link_next .'">' . JText::_( 'Next' ) . $pnSpace . JText::_( '&gt' ) . JText::_( '&gt' ) .'</a>';
    13.     }
    14.     else
    15.     {
    16.         $next = JText::_( 'Next' );
    17.     }
    18.  
    19.     if ( $page > 0 )
    20.     {
    21.         $page_prev = $page - 1 == 0 ? "" : $page - 1;
    22.  
    23.         $link_prev = JRoute::_(  '&limitstart='. ( $page_prev) );
    24.         // << Prev
    25.         $prev = '<a href="'. $link_prev .'">'. JText::_( '&lt' ) . JText::_( '&lt' ) . $pnSpace . JText::_( 'Prev' ) .'</a>';
    26.     }
    27.     else
    28.     {
    29.         $prev = JText::_( 'Prev' );
    30.     }
    31.  
    32.     $row->text .= '<div>' . $prev . ' - ' . $next .'</div>';
    33. }



    Вот кусок из 1.0, который нужно переписать на 1.5 (т.е., что бы вид был при разрыве новости в J1.5 не таким: "Предыдущая - Следующая", а таким: "Страницы: 1 2 3 4 5":

    Код (PHP):
    1. function writePagesLinks( $link ) {
    2.         $txt = '';
    3.  
    4.         $displayed_pages = 10;
    5.         $total_pages = $this->limit ? ceil( $this->total / $this->limit ) : 0;
    6.         $this_page = $this->limit ? ceil( ($this->limitstart+1) / $this->limit ) : 1;
    7.         $start_loop = (floor(($this_page-1)/$displayed_pages))*$displayed_pages+1;
    8.         if ($start_loop + $displayed_pages - 1 < $total_pages) {
    9.             $stop_loop = $start_loop + $displayed_pages - 1;
    10.         } else {
    11.             $stop_loop = $total_pages;
    12.         }
    13.  
    14.         $link .= '&amp;limit='. $this->limit;
    15.  
    16.         if (!defined( '_PN_LT' ) || !defined( '_PN_RT' ) ) {
    17.             DEFINE('_PN_LT','&lt;');
    18.             DEFINE('_PN_RT','&gt;');
    19.         }
    20.  
    21.         for ($i=$start_loop; $i <= $stop_loop; $i++) {
    22.             $page = ($i - 1) * $this->limit;
    23.             if ($i == $this_page) {
    24.                 $txt .= '<span class="pagenav">'. $i .'</span> ';
    25.             } else {
    26.                 $txt .= '<a href="'. sefRelToAbs( $link .'&amp;limitstart='. $page ) .'" class="pagenav"><strong>'. $i .'</strong></a> ';
    27.             }
     
  13. Offline

    D1ver Недавно здесь

    Регистрация:
    05.12.2008
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    Хоть наведите на путь истинный )
     
  14. Offline

    D1ver Недавно здесь

    Регистрация:
    05.12.2008
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    Решил... не сложно, как оказалось.
     
  15. Offline

    maxvolume Недавно здесь

    Регистрация:
    28.11.2009
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    подскажите как все таки сделали. если не сложно код и куда его ставить отпишите здесь.
    спасибо!
     
  16. Offline

    vokson Недавно здесь

    Регистрация:
    05.01.2010
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    В файле /plugins/content/pagebreak.php в функции plgContentCreateNavigation после

    else
    {
    $prev = JText::_( 'Prev' );
    }

    убрать все и добавить эти строки

    $row->text .= '<div>' . $prev . ' - ';
    for ($z=0;$z<$n;$z++) {
    $link = JRoute::_( '&limitstart='. ($z) );
    $pos_text = '';
    if (($z<$page && $z>($page-4)) || ($z>$page && $z<($page+4))) {
    $pos_text = '<a href="'. $link .'">'. ($z+1) .' </a>';}
    if ($z == $page) $pos_text = $z+1;
    $row->text .= $pos_text.' ';
    }
    $row->text .= '- '.$next .'</div>';
     
  17. Offline

    rabbit Недавно здесь

    Регистрация:
    15.05.2009
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Добрый день! У меня есть 2 вопроса по Joomla 1.5.10.

    1. В директории components/com_content/views/category/tmpl есть файлs шаблона блога категории blog.php, blog.xml, blog_links.php и blog_item.php. Я скопировал эти файлы с другим именем и переделал шаблон под себя.
    Все работает нормально, кроме пагинации. Строка навигации не выводится, а вместо нее выводятся ссылки из "Еще статьи". В настройках у меня количество ссылок - 4, а выводит целых 15. Лишь после того как появится 15 ссылок, появляется и навигация по категории. Если поставить количество ссылок в 0, то вообще ни чего не выводит.
    Код, который отвечает за вывод pagination я не изменял. В чем может быть проблема?

    2. Второй вопрос касается шаблона блога категории, который идет стандартный с joomla (файлы blog.php, blog.xml, blog_links.php и blog_item.php). Здесь результаты разбиения на страницы выводятся нормально, только не совсем корректно.
    Выводится у меня по 10 статей на страницу. Если статей в категории больше чем 100, то в pagination выводится ссылки только на 10 страниц, а чтобы попасть на страницы с остальными статьями нужно нажать на кнопку далее, после чего в pagination выводятся ссылки с 10 по 20 и так далее.
    Мне нужно чтобы ссылки выводились относительно той страницы, на которой находится пользователь. Например, он находится на 10 странице, то надо чтоб выводились до 10-й штук 4 ссылок и после нее штук 5.
    Как это сделать? Или это только у меня такие проблемы?

    Спасибо
     
  18. Offline

    ireg Недавно здесь

    Регистрация:
    18.07.2010
    Сообщения:
    114
    Симпатии:
    4
    Пол:
    Мужской
    Можно ли изменить слова "Следующая" и "Предыдущая" на свои картинки? В php, к сожалению, не разбираюсь. Спасибо
     
  19. Offline

    smol1988 Недавно здесь

    Регистрация:
    07.04.2011
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Мужской
    Не знаю как на счет картинок но вот нашел где редактируется эти ссылки /plugins/content/pagenavigation.php

    в строке <th class="pagenav_prev"> ( предыдущая) и <th class="pagenav_next"> (следующая) . Эти строки (предыдущая, следующая) расположены в статьях.
     
  20. Offline

    Fatima430 Недавно здесь => Cпециалист <=

    Регистрация:
    18.07.2009
    Сообщения:
    363
    Симпатии:
    38
    Пол:
    Женский
    вот это убирается снятием галки в настройках плагина разрыва страницы.(не показывать таблицу и что -то похожее)
    не помню как в древних версиях но в новых так
     

Поделиться этой страницей

Загрузка...