Récupérer la liste des dernières pages mises à jour
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
Est il possible de reprend le code des articles pour faire celà ?
Merci.
Édité par forum6691 Le 24/01/2011 à 21h42
Testeur V5
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
Testeur V5
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
Je suis capable de reprendre un code existant pour le modifier un petit peu
Testeur V5
Visiteur
Boosteur Inactif
j'avais bricolé un petit truc pas trop loin de sa, il faudra faitre le template par contre

Code PHP :
<?php // modifier la valeur $idcat_trie = macat!! $idcat_trie = '1' ; // 1 est un exemple !! function menu_toppages_toppages($position, $block) { global $Sql; $tpl = new Template('menus/toppages/toppages.tpl'); import('core/menu_service'); MenuService::assign_positions_conditions($tpl, $block); $w = 1; $resultw = $Sql->query_while("SELECT id, hits, title, encoded_title , id_cat FROM " . PREFIX . "pages WHERE id_cat = $idcat_trie ORDER BY hits DESC " . $Sql->limit(0, 3), __LINE__, __FILE__); while ($roww = $Sql->fetch_assoc($resultw)) { $tpl->assign_block_vars('top_pages', array( 'ID' => $w, 'LINK' => url('pages/pages.php?title=' . $roww['encoded_title']), 'TITLE' => $roww['title'], 'VIEW' => $roww['hits'] )); $w++; } $Sql->query_close($resultw); return $tpl->parse(TEMPLATE_STRING_MODE); } ?>
c'est pas parfait, y a des reliquats des précédentes version, mais sa te donne une petite base pour ce que tu veut
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
Testeur V5
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
Bon j'ai commencé à regarder mais j'ai plusieurs questions:
dans la déclaration de fonction function menu_toppages_toppages($position, $block)
$position et $block à quoi servent ils ? sont ils des paramètres en entrée ? Sont ils modifiés par la fonction ?
On ne semble pas les utiliser dans le corps de la fonction.
L'instruction $tpl = new Template('menus/toppages/toppages.tpl');
crée t'elle un nouveau fichier Toppages.tpl ou alaors ce fichier existe t'il déja dans le répertoire.
Dans la doc de phpboost, on dit ceci concernant les instances:
La classe templates est déjà instanciée dans l'environnement de PHPBoost. L'objet associé est la variable $Template.
Vous n'avez donc pas à l'instancier en principe.
Alors pourquoi cette instance ?
Sinon j'ai l'erreur SQL suivante
Erreur fatale : invalid while request
SELECT id, hits, title, encoded_title, id_cat
FROM phpboost_pages WHERE id_cat =
ORDER BY hits DESC
LIMIT 0, 3
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY hits DESC
LIMIT 0, 3' at line 3
Ma requête est la suivante et semble pourtant OK
Code PHP :
$resultw = $Sql->query_while("SELECT id, hits, title, encoded_title, id_cat FROM " . PREFIX . "pages WHERE id_cat = $idcat_trie ORDER BY hits DESC" . $Sql->limit(0, 5), __LINE__, __FILE__);
Voila, à part ça tout va bien.
Si peux me conseiller ?
Édité par forum6691 Le 13/02/2011 à 21h05
Testeur V5
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Les paramètres entrés dans la méthode sont utilisés par le système de menu, tu le vois d'ailleurs dans MenuService::assign_positions_conditions($tpl, $block);
Tu vas instancier la classe Template pour utiliser le tpl donné en paramètre (que tu aura créé auparavant) pour utiliser le système de tpl (c'est plus propre que de mettre de générer ton code html avec php)
Pour ta requête il faut que tu créer une variable idcat_trie et lui donner une valeur.
Édité par ReidLos Le 13/02/2011 à 21h39
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
ISi j'ai bien compris , il faut donc je fasse un fichier template dans le répertoire et que je fasse une nouvelle instance dessus ?
Testeur V5
Visiteur
Boosteur Inactif
plutot que faire un trie par hits, modifie a id.
en partant du principe que tu veut un classement par création. c'est plus correct.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie