We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 9661
    • 24 Posts
    Как сделать ПОСТРАНИЧНЫЙ вывод списка юзеров (&usersList),
    например, по 10 на страницу,
    если юзеров очень много....

    надеюсь на получение ответа smiley)
      • 29487
      • 385 Posts
      В файле webloginpe.class.php после строчки
      array_multisort($arrayMap, $listSortOrder, $typeFlag, $CompleteUserList);
      вставьте:
      #################### PAGINTATION ####################
      $count_per_page=10;
      $tplLinkNext = '<a href="[+link+]">>></a>'; $tplLinkPrev = '<a href="[+link+]"><<</a>';
      $tplLinkNav = '<div class="wlpePages">[+linkprev+] [+pages+] [+linknext+]</div>';
      $user_pagecount=ceil(count($CompleteUserList)/$count_per_page);
      if ($user_pagecount > 1){
      	$user_currentpage = isset($_GET["page"]) ? intval($_GET["page"]): 1;
      	if ($user_currentpage > $user_pagecount || $user_currentpage < 1) { $user_currentpage = 1; }
      	$char = ($modx->config['friendly_urls'] == 0) ? "&" : "?";
      	$url = $modx->makeurl($modx->documentObject["id"],'',$char.'page=');
      	$prevpage = $user_currentpage-1;	$nextpage = $user_currentpage+1;
      	$linkprev = ($prevpage>0) ? str_replace("[+link+]",$url.$prevpage,$tplLinkPrev) : '';
      	$linknext = ($nextpage>$user_pagecount) ? '' : str_replace("[+link+]",$url.$nextpage,$tplLinkNext);
      	$user_template = str_replace("[+linkprev+]",$linkprev,$tplLinkNav);
      	$user_template = str_replace("[+linknext+]",$linknext,$user_template);
      	$pages='';
      	for ($i=1;$i<=$user_pagecount;$i++){
      		$pages .= ($i==$user_currentpage) ? $i : '<a href="'.$url.$i.'">'.$i.'</a>';
      		$pages .= ($i==$user_pagecount) ? '' : ' | ';
      	}
      	$user_template=str_replace("[+pages+]",$pages,$user_template);
      	$CompleteUserList=array_slice($CompleteUserList,$count_per_page*$user_currentpage-$count_per_page,$count_per_page);
      	$listOuterTemplate=$listOuterTemplate.$user_template;
      }
      #####################################################
      
        • 9661
        • 24 Posts
        Temus, спасибо за участие smiley
        нашла, сделала....но
        1-й раз показывает корректно - 10 (или сколько заказала) на лист со ссылками перехода 1|2>>
        кликаю на страницу 2 - ПУСТО
        делаю ВТОРИЧНЫЙ вызов (он у меня по кнопке) - и ТОЛЬКО ПРИ ЭТОМ появляется 2-я страница со ссылками типа <<1|2
        ----------------------------
        далее
        если вывожу по другому фильтру с количеством юзеров > 10,
        показывает ТОЛЬКО страницу ПОД ТЕМ НОМЕРОМ, с которого ушла по ПРЕДЫДУЩЕМУ вызову sad
        т.е. ушла со 2-й - показывает 2-ю, ушла с 1-й - показывает 1-ю.......

        =========================================================
        разруливаю вызовы по вставке в сниппет WebLoginPe
        .......
        switch ($service)
        {
        ........
        case ’reklamapay’:
        if (in_array(’editprofile’, $disableServices)){return;}
        $usersList=$sp."оплатившие рекламу:default:default:sortdate:DESC:payment";
        $manageUsersPage = $wlpe->ViewAllUsers($displayManageTpl, $displayManageOuterTpl, $usersList);
        return $manageUsersPage;
        break;
        .........
        =========================================================
        ты же умный, Temus smiley - покумекай ещё, пжалста smiley
          • 29487
          • 385 Posts
          Вызов сниппета некэшированный? [!WebLoginPE... !]
            • 9661
            • 24 Posts
            был НЕкешированный [!...!], попробовала кэшированный [[...]]
            осталось без изменений
            даже сделала сайт>>>обновить сайт
              • 29487
              • 385 Posts
              Вызов и должен быть НЕкэшируемым, всё правильно было. Думаю проблема в том, что вызов по кнопке, а у меня-то просто вывод на странице.
              Добавьте в строчку с $url ещё параметр service:
              $url = $modx->makeurl($modx->documentObject["id"],'',$char.'service=reklamapay&page=');
              
                • 9661
                • 24 Posts
                спасибо Temus smiley
                всё было бы прекрасно, если бы была ОДНА кнопка, но у меня "таких" кнопок штук 6 sad
                ..................
                <button type="submit" class="formButton" value="case1" name="service" >....</button>
                <button type="submit" class="formButton" value="case2" name="service" >....</button>
                <button type="submit" class="formButton" value="case3" name="service" >....</button>
                ..................
                одна кнопка с добавлением в &url
                $url = $modx->makeurl($modx->documentObject["id"],’’,$char.’service=case1&amp;page=’);
                всё делает тип-топ и всё нормально работают другие кнопки, если у них юзеров < заявленных (это понятно)
                по идее мне нужно значение из case (case1,case2...)
                .......
                switch ($service)
                {
                ........
                case ’case1’:
                ........
                case ’case2’:
                ........
                case ’case3’:
                ........
                передать в webloginpe.class.php и вставить его в &url ??
                -----------------------------------------------------------------------
                эх, знаний не хватает sad .....но я учусь smiley))
                  • 29487
                  • 385 Posts
                  тогда так передавайте значение:
                  $service = isset($_REQUEST["service"]) ? htmlentities(strip_tags($_REQUEST["service"])): "";
                  $url = $modx->makeurl($modx->documentObject["id"],'',$char.'service='.$service.'&page=');
                  
                    • 9661
                    • 24 Posts
                    Бурные и продолжительные апплодисменты !!!!
                    Все встают smiley))
                    С П А С И Б О !!!! Огромное