Fork me on GitHub






pour inverser les archives des news
Admin Frxoops
Inscrit: 04/02/2003 06:41
Messages: 924
Si vous allez dans les archives de vos news et que vous cliquez sur un mois, il se passe que c'est les mois qui apparaissent avant le mois demandé en archive. Et quand votre site tourne depuis un bout de temps cela risque de faire long.
Pour inverser j'ai juste réecrit le mtemplate new_archive.html:
<table width="100%" cellspacing="0" cellpadding="4" style="border: #cccccc 1px solid">
  <
tr>
     <
td>
<{if 
$show_articles == true}>

<
table width="100%" cellspacing="0" cellpadding="4" style="border: #e0e0e0 1px solid;" align="center">
 <
tr class="info">
   <
td style="border-right: #e0e0e0 1px solid; border-bottom: #e0e0e0 1px solid;"><b><{$lang_articles}></b></td><td align="center" style="border-right: #e0e0e0 1px solid; border-bottom: #e0e0e0 1px solid;"><b><{$lang_actions}></b></td><td align="center" style="border-right: #e0e0e0 1px solid; border-bottom: #e0e0e0 1px solid;"><b><{$lang_views}></b></td><td align="center" style="border-bottom: #e0e0e0 1px solid;"><b><{$lang_date}></b></td>
 </
tr>

  <{foreach 
item=story from=$stories}>

  <
tr>
    <
td align="left" style="border-right: #e0e0e0 1px dashed; border-bottom: #e0e0e0 1px dashed;"><{$story.title}></td><td align="center" style="border-right: #e0e0e0 1px dashed; border-bottom: #e0e0e0 1px dashed;"><a href="<{$story.print_link}>"><img src="images/print.gif" alt="<{$lang_printer}>" /></a> <a target="_top" href="<{$story.mail_link}>" /><img src="images/friend.gif" alt="<{$lang_sendstory}>" /></a></td><td align="center" style="border-right: #e0e0e0 1px dashed; border-bottom: #e0e0e0 1px dashed;"><{$story.counter}></td><td align="center" style="border-bottom: #e0e0e0 1px dashed;"><{$story.date}></td>
  </
tr>

  <{/foreach}>
  <
tr>
    <
td colspan="4"><{$lang_storytotal}></td>
</
tr>
</
table>

<{/if}>


<
table width="95%" cellspacing="0" cellpadding="0">
  <
tr>
    <
td style="border-bottom: #cccccc 1px dashed;"><b><span style="font-size: 17px;"><{$lang_newsarchives}></span></b></td>
  </
tr>
  <
tr>
    <
td>&nbsp;</td>
  </
tr>

<{foreach 
item=year from=$years}>
<{foreach 
item=month from=$year.months}>

  <
tr>
    <
td> <img src="images/size.gif" alt="" /> <a href="./archive.php?year=<{$year.number}>&month=<{$month.number}>"><{$month.string}> <{$year.number}></td>
  </
tr>

<{/foreach}>
<{/foreach}>

</
table>
</
td></tr></table>


en espérant que cela foncitonne pour tous

PS: Merci à Suede sur WRI pour ce conseil

Posté le : 22/11/2005 09:05

Quand tu montres la lune du doigt, l'imbécile regarde le doigt.
Infos sur TSO et tutos PC sur Tutoriaux PC
Partager Twitter Partagez cette article sur GG+
Re: pour inverser les archives des news
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Salut !
Suite à ton idée, je viens de modifier aussi ce fichier, mais pour en faire un menu déroulant (code tiré du module 'multimenu') contenant les mois.
Ainsi, si l'on veut changer de mois, lorsque l'on se trouve dans les archives, on a pas besoin de descendre en bas de page après tous les articles (s'il y a des centaines on se retrouve avec le même problème qu'au départ

Voici ce que ça donne
http://xoops.romanais.info/modules/news/archive.php

Et le code utilisé pour modules/news/templates/news_archive.html

<script type="text/javascript">
<!--
function 
Go2(x) {

   
location.href x;
   
document.forms[0].reset();
   
document.forms[0].elements[0].blur();

}
//-->
</script>

<table>
    <th><{$lang_newsarchives}>
    <{if $currentmonth <> ""}>
    - <{$currentmonth}> <{$currentyear}>
    <{/if}>
    </th>
</table>
<table>

<form action="">
<select size="1" name="multimenu_news" onchange="Go2(multimenu_news.options[multimenu_news.options.selectedIndex].value)"><option value="" selected="selected">Cliquez ici</option>
<{foreach item=year from=$years}>
<{foreach item=month from=$year.months}>        
<option value="<{$xoops_url}>/modules/news/archive.php?year=<{$year.number}>&amp;month=<{$month.number}>"><{$month.string}> <{$year.number}></option>
<{/foreach}>
<{/foreach}>
</select>
</form>

</table>

<{if $show_articles == true}>
<table>
<tr>
    <th><{$lang_articles}> - <{$lang_storytotal}></th><th align="center"><{$lang_actions}></th><th align="center"><{$lang_views}></th><th align="center"><{$lang_date}></th>
</tr>
<{foreach item=story from=$stories}>
<tr class="<{cycle values="even,odd"}>">
    <td><{$story.title}></td><td align="center"><a href="<{$story.print_link}>" rel="nofollow"><img src="<{$xoops_url}>/modules/news/images/print.gif" alt="<{$lang_printer}>" /></a> <a href="<{$story.mail_link}>" target="_top" /><img src="<{$xoops_url}>/modules/news/images/friend.gif" alt="<{$lang_sendstory}>" /></td><td align="center"><{$story.counter}></td><td align="center"><{$story.date}></td>
</tr>
<{/foreach}>
</table>
<{/if}>


Lorsque l'on clique sur le bouton archive on arrive sur :

Open in new window

Puis on choisit un mois avec le menu déroulant :

Open in new window

Et on otbient la liste des articles pour ce mois :

Open in new window

A noter le titre encadré en noir qui change en fonction du mois d'archives où l'on se trouve.

Posté le : 22/11/2005 10:52

Edité par blueteen sur 22/11/2005 11:08:50
Edité par blueteen sur 22/11/2005 11:09:26
Edité par blueteen sur 22/11/2005 11:10:42
Partager Twitter Partagez cette article sur GG+
Re: pour inverser les archives des news
Aspirant
Inscrit: 24/07/2005 02:13
Messages: 36
salut

tant que l'on ai sur les archives , est il possible qu'elles ne soient visible que par certains groupes ?

Posté le : 23/11/2005 02:58
Partager Twitter Partagez cette article sur GG+
Re: pour inverser les archives des news
Admin Frxoops
Inscrit: 04/02/2003 06:41
Messages: 924
normalement les droits sur les news font les droits sur les archives. Non?

cool ton menu blueteen va falloir demander à hervé de tout incorporer dans sa prochaine version.

Moi je verrai bien sur xoops france des petits groupes de travail pour chaque module car si il y a juste un reproche à faire à xoops c'est bien les petits plus qui sont disséminés de par et d'autres du site.
Hevré a deja fait fort dans ce sens avec sa version de news qui prend bien en compte l'idée de référencement et de passage des robots des moteurs de recherches, reste plus qu'à intégrer les autres petits plus et proposer le module news-ultime 1.43.

Non?

Posté le : 23/11/2005 14:37

Quand tu montres la lune du doigt, l'imbécile regarde le doigt.
Infos sur TSO et tutos PC sur Tutoriaux PC
Partager Twitter Partagez cette article sur GG+
Re: pour inverser les archives des news
Guest_

Posté le : 23/11/2005 19:38
Partager Twitter Partagez cette article sur GG+
Re: pour inverser les archives des news
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
>fmcradio :
toujours dans la série "je bricole le php comme je peux" :
Voici comment je procède pour bloquer uniquement certaines pages lorsque ce n'est pas prévu par le module, ou lorsque je veux vraiment chipoter avec certains groupes.
Par exemple ici, le cas pas vraiment cohérent, mais assez parlant :

Laisser les membres du groupe 'archives' poster des messages, mais les empécher de voir les archives du module news!

Donc pour les archives des news, dans /modules/news/archive.php
Vers la ligne 86, juste après :

Citation :

$lastyear = 0;
$lastmonth = 0;


j'ajoute le code suivant :

Citation :


//modifié - gère les droits d'accès à la page d'archives des news

$groupes = 0; //initialise la variable qui contiendra les groupes du surfeur
if (is_object($xoopsUser)) //contrôle s’il s’agit d’un membre du site
{
$groupes = $xoopsUser->getGroups(); // récupère les groupes dont le membre fait partie
}
else {
$groupes = array(XOOPS_GROUP_ANONYMOUS); // sinon c’est un anonyme, je le place tout de même dans un tableau pour éviter un WARNING[PHP]
}

if (in_array(4, $groupes)) // je regarde si la valeur du groupe à refuser fait partie du tableau, ici le 4 correspond au groupe 'archives' que j'ai créé pour l'occasion
{
redirect_header(XOOPS_URL.'/modules/news/index.php', 3, _NOPERM); //retour sur la page des news
exit();
}
//fin modification



Dans le cas où l'on veuille interdire l'accès à cette page précise, à plusieurs groupes, voici le code légèrement modifié :

Citation :


if (in_array(3, $groupes) || in_array(4, $groupes)) // bloque l’accès à la page si le surfeur fait partie du groupe 3 (anonyme) OU du groupe 4.
{
redirect_header(XOOPS_URL.'/modules/news/index.php', 3, _NOPERM); //retour sur la page des news, on peut mettre l'adress que l'on souhaite
exit();
}



Un exemple ici pour illustrer :
http://xoops.romanais.info

Vous pouvez poster des messages en anonyme, et voir les archives.
Par contre, si vous vous connectez avec le compte de test :
login : archives
pass : archives
Vous aurez n'aurez plus accès aux archives des news. (mais vous pourrez toujours poster)

Posté le : 24/11/2005 15:23
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

88 Personne(s) en ligne (71 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 88 | Plus ...