2017-01-19 2 views
0

Je travaille avec WHMCS et je remarque que les vues de liste ne fonctionnent pas bien. C'est parce que dans les vues de la liste des clients, j'ai des milliers d'enregistrements à afficher et le DataTables plante. Existe-t-il un moyen de paginer depuis le serveur? J'apprécierai n'importe quelle idée.whmcs pagination côté serveur

Répondre

0

Voici une idée: nous allons dire que vous consultez la page de la liste des domaines, vous pouvez utiliser crochet ClientAreaPage pour créer une variable pour charger une « paginée » copie de domaines:

add_hook('ClientAreaPage', 1, function($vars) 
{ 
    $myVars = array(); 
    if (App::getCurrentFilename() == 'clientarea' && isset($_GET['action']) && $_GET['action'] == 'domains') { 
     $domains2 = array(); 
     foreach($vars['domains'] as $k => $domain) { 
      if ($k < 3) {//your code to handle pagination 
       $domains2[] = $domain; 
      } 

     } 
     $myVars['domains2'] = $domains2; 
     $myVars['currentpage'] = 1; 
    } 

    return $myVars; 


}); 

En clientareadomains.tpl (fichier modèle), vous devez changer de domaine $ à domains2 $:

{foreach key=num item=domain from=$domains2} 

Bien sûr, ce n'est pas simple tâche, vous devez gérer le crochet dans la pagination et les fichiers TPL.

Espérons que ça aide.