1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Нумерация страниц. GumPagination

Discussion in 'Моды - Mods' started by GumSlone, May 12, 2010.

  1. GumSlone Thread starter User


    Offline
    Message Count:
    85
    Likes Received:
    8
    сперва смотрим как оно выгледит: http://susidy.com/browse_videos.php внизу страницы.

    если заинтересовало читаем дальше:

    сперва нужно скачать pager палгин вот здесь: http://pear.php.net/package/Pager

    и залить папку с плагином в корень сайта.

    Пример для browse_videos.php

    после или перед:
    PHP:
    // ASSIGN SMARTY VARIABLES AND DISPLAY VIDEOS PAGE
    вставляем код:
    PHP:
        if($total_videos>0
        { 
            require_once (
    'Pager/Pager.php'); 
            
    $params = array( 
                
    'mode' => 'Sliding''totalItems' => $total_videos'perPage' => $videos_per_page'delta' => 5// for 'Jumping'-style a lower number is better 
                
    'append' => true'separator' => '''expanded' => false
                
    'spacesBeforeSeparator' => 0,  'spacesAfterSeparator'=>1
                
    'prevImg' =>'‹''nextImg'=>'›'
                
    'clearIfVoid' => false'urlVar' => 'p'
                
    //'linkClass' => 'pager_link', 
                
    'curPageLinkClassName' => 'current'
                
    'firstPagePre' => '''firstPagePost' => ''
                
    'lastPagePre' => '''lastPagePost' => ''
                
    'useSessions' => false'closeSession' => false ); 
            
    $pager = & Pager::factory($params); 
            
    $page_data $pager->getPageData(); 
            
    $links $pager->getLinks(); 
             
            
    $smarty->assign('gum_pagination',$links['all']); 
        } 
    сохраняем.

    в templates/browse_video.tpl вставляем внизу там где должна быть пагинация приблизительно перед:
    PHP:
    {include file='footer.tpl'
    вставляем:
    PHP:
    {if $gum_pagination

      <
    div class="gum_pagination" style="text-align: center; padding-bottom: 10px;margin-top:15px;"

      {
    $gum_pagination

      </
    div

    {/if}
    сохраням изменения.

    и на остаток в templates/styles.css в самом низу вставляем:
    PHP:
    /* GUM PAGINATION */ 
    div.gum_pagination 
    color#2B3956; 
    font-familyVerdanaArialSans-Serif
    font-size11px

    div.gum_pagination a 
    text-decorationnone
    color#000000; 
    border1px solid #dddddd; 
    padding2px 3px 2px 3px
    -
    moz-border-radius4px
    -
    webkit-border-radius:4px
    border-radius4px

    div.gum_pagination a:hover 
    text-decorationnone
    color#000000; 
    border1px solid #A7A7A7; 
    background-colorwhite
    padding2px 3px 2px 3px
    -
    moz-border-radius4px
    -
    webkit-border-radius:4px
    border-radius4px

    div.gum_pagination span.current 
    color#ffffff; 
    border1px solid #83A0C1; 
    background-color#83A0C1; 
    padding2px 3px 2px 3px
    -
    moz-border-radius4px
    -
    webkit-border-radius:4px
    border-radius4px
    Готово!
    bombermen and abatu like this.
  2. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Так и должно быть?

    cak..jpg и cak2..jpg

    И папки tests и examples тоже в корень сайта?
  3. GumSlone Thread starter User


    Offline
    Message Count:
    85
    Likes Received:
    8
    нет не должно но может быть, можно место номера вставить текст: первая и последняя страница:
    http://pear.php.net/package/Pager/docs/latest/Pager/Pager.html
    нет не надо, ну если хочешь только для тестов разных вариантов.
  4. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Спасибо, забавно. Потестил на локале, симпатично, жаль не везде пристраивается.

    ppp..jpg ppp3..jpg и другой вариант ppp2..jpg ppp4..jpg

    А SEшные языковые переменные как туда прикрутить?
    Жаль, что в профиль не пристроить. :(

    Надо быть внимательным с настройками, а то вылезают баги, показано на примере блога.
    PHP:
        /**
         * @var integer number of items per page
         * @access private
         */
        
    var $_perPage     20;
    должно совпадать с:
    PHP:
    // MAKE ENTRY PAGES
    $blogentries_per_page 20;
    $page_vars make_page($total_blogentries$blogentries_per_page$p);
    а так же:
    PHP:
    /**
         * @var integer number of page links for each window
         * @access private
         */
        
    var $_delta       5;
    должно совпадать с:
    PHP:
        if($total_blogentries>0)
        {
            require_once (
    'Pager/Pager.php');
            
    $params = array(
                
    'mode' => 'Sliding''totalItems' => $total_blogentries'perPage' => $blogentries_per_page'delta' => 5// for 'Jumping'-style a lower number is better
  5. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Обнаружен баг в блогах.
    Если разместить нумерацию на странице записей дневника юзера, а потом перейти на одну из записей, то снизу (у меня ещё и сверху) появляется единичка в голубом квадратике.
    Как создать условие, что-бы на странице с одной записью не отображалась "новая нумерация"?
  6. GumSlone Thread starter User


    Offline
    Message Count:
    85
    Likes Received:
    8
    вроде так:
    PHP:
      
              $lang_id 
    'айди';
              
    SE_Language::_preload($lang_id); 
              
    SE_Language::load();
              
    $tekst SE_Language::_get($lang_id);
    это не баг,
    вместо:
    PHP:
    if($total_blogentries>0)
    вставь вот это
    PHP:
    if(($total_blogentries/$blogentries_per_page)>1)  
  7. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Поставил это в blog.php
    PHP:
    if(($total_blogentries/$blogentries_per_page)>1)
    вместо
    PHP:
    if($total_blogentries>0)
    "новая нумерация" исчезла и там и там.:(

    Сработало только так
    PHP:
    if($total_blogentries>1)
    Это в каком файле надо прописывать и где именно, я в пхп не очень.
    PHP:
              $lang_id 'айди';
              
    SE_Language::_preload($lang_id); 
              
    SE_Language::load();
              
    $tekst SE_Language::_get($lang_id); 
  8. GumSlone Thread starter User


    Offline
    Message Count:
    85
    Likes Received:
    8
    это не решение, ведь если там 2 записи тогда будет тоже стоять единица.
    я конечно не проверял код но по ходу должно срабатывать:
    PHP:
    if(($total_blogentries/$blogentries_per_page)>1)
    он просто проверяет если больше чем одна страница значит должно показать список страниц, хммм....

    $lang_id = 'айди';
    SE_Language::_preload($lang_id);
    SE_Language::load();
    $tekst = SE_Language::_get($lang_id);

    вставлять например в browse_videos.php или browse_blogs.php
    и потом в то место где ты вставлял стрелки для первой и последней страницы вставь переменную $tekst
  9. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    У меня не сработало.
    Когда я поставил это, то:
    PHP:
    if($total_blogentries>1)
    На странице всех записей юзера нумерация сохранилась (и если там было-бы 2 записи и светилась единичка в голубом квадрате, то это не страшно), зато на странице конкретной записи нумерация исчезла. Ведь на странице с конкретной записью не может быть более чем одна запись. Что мне и требовалось.
    Если сработает, то обеспечится мультиязычность, будет время попробую.
  10. djpower User


    Offline
    Message Count:
    93
    Likes Received:
    8
    как написал GumSlone вставить if(($total_blogentries/$blogentries_per_page)>1) вместо if($total_blogentries>0) все работает, нет никаких ошибок

Share This Page

All rights reserved SocEngine.ru ©