Fork me on GitHub






Smarty, conditions et compagnies..
Régulier
Inscrit: 09/06/2006 18:51
Messages: 484
Bonjour, (ou bonsoir.. enfin vu l'heure ^^)

En me penchant sur les variables smarty dans les thèmes, j'ai appris qu'on pouvait mettre des conditions dans du html.. Youpi, ça pourrait bien m'arranger..

Toutefois, tout n'est encore pas très clair pour moi :p

J'ai une petite question, est il possible de faire des "calculs simple" avec ces variables ou pour cela il faut absolument passer par php?

Un exemple (celui qui m'intéresse ^^)

Est ce que je pourrais comparé le moment présent ($smarty.now) avec une autre variable de temps (par exemple $story.posttime dans le module news)sur laquelle je ferais une opération?

<{if $story.posttime 17280 $smarty.now }> blabla <{/if}>


je sais qu'on peut tout à fait faire des comparaisons (< > == etc) mais des opérations?

D'après quelques tests je dirais que c'est faisable (par exemple en écrivant <{$smarty.now}> et <{$smarty.now+5}> j'ai bien les deux timestamp qui s'écrivent avec 5s de différence..

Mais avec la condition écrite au dessus ça ne fonctionne pas (du au fait que $story.posttime est formaté je suppose.. )
J'ai essayé $story.posttimestamp vu quelque part sur le forum, mais elle ne retourne rien (pas d'erreur, juste rien.... contrairement à $story.posttime qui me retourne une date type jj/mm/yy hh:mm)

Je viens donc vers vous pour voir si quelqu'un peut m'expliquer vite fait comment créer (ou trouver) une variable smarty qui me permettrait de vérifier la date du topic et d'y ajouter un délai ...

Merci d'avance
Lou

Posté le : 05/06/2011 01:52
Partager Twitter Partagez cette article sur GG+
Re: Smarty, conditions et compagnies..
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2554
Bonjour
---------------
Je ne suis pas sur qu'on puisse faire ça dans smarty.
Un piste peut être : ajouter un plugin smarty.

Tu trouveras plus d'info ===> ICI

JJDAI

Posté le : 05/06/2011 10:52

Ne pas perdre patience, même si cela semble impossible, c'est déjà de la patience.
Origami
Conseil des Sages
Sur gitHub
Partager Twitter Partagez cette article sur GG+
Re: Smarty, conditions et compagnies..
Régulier
Inscrit: 09/06/2006 18:51
Messages: 484
Merci JJDai, je vais me pencher sur les plugin smarty..

Bonne journée


Posté le : 05/06/2011 11:43
Partager Twitter Partagez cette article sur GG+
Re: Smarty, conditions et compagnies..
Régulier
Inscrit: 09/06/2006 18:51
Messages: 484
J'avance, visiblement on peut le faire avec smarty^^

J'ai défini une nouvelle variable pour smarty
Dans article.php j'ai rajouté cette ligne

$story['postdelai'] = $article->published()+48*60*60;


et en testant dans news_item.html j'arrive à appliquer ma condition comme cela
<{if $story.postdelaiplus<$smarty.now}>blabla<{else}>blabla<{/if]>


finalement c'est moins compliqué que je ne le pensais, du moins pour cette partie.
Reste qu'à l'appliquer aux autres templates du module.
________________________________________________

TOUTEFOIS, j'ai encore besoin d'aide.
Je dois trouver comment faire pour que les posts n'apparaissent sur le profil de leurs auteurs que passé ce délai de 48h...

Je ne sais pas du tout où est gerée cette page. Dans le core? (puisque c'est pour la partie user)Dans une partie du module? (puisqu'il y a bien une partie "posts de l'auteur" pour chaque module) Dans le module Profil? ou Yogurt ? (selon lequel j'utilise)

Merci encore pour votre aide
Lou

Posté le : 07/06/2011 11:54
Partager Twitter Partagez cette article sur GG+
Re: Smarty, conditions et compagnies..
Régulier
Inscrit: 09/06/2006 18:51
Messages: 484
Finalement j'ai trouvé toute seule, je passe en résolu!


Posté le : 07/06/2011 18:24
Partager Twitter Partagez cette article sur GG+
Re: Smarty, conditions et compagnies..
Team FrXoops
Inscrit: 24/11/2008 00:42
De Argenteuil
Messages: 987
Bonsoir,

Citation :
Lou86 a écrit :
Finalement j'ai trouvé toute seule, je passe en résolu!
Citation :
TOUTEFOIS, j'ai encore besoin d'aide.
Je dois trouver comment faire pour que les posts n'apparaissent sur le profil de leurs auteurs que passé ce délai de 48h...

Je ne sais pas du tout où est gerée cette page. Dans le core? (puisque c'est pour la partie user)Dans une partie du module? (puisqu'il y a bien une partie "posts de l'auteur" pour chaque module) Dans le module Profil? ou Yogurt ? (selon lequel j'utilise)


Comment as tu procédé?
Merci pour le partage

Posté le : 08/06/2011 22:21
Partager Twitter Partagez cette article sur GG+
Re: Smarty, conditions et compagnies..
Régulier
Inscrit: 09/06/2006 18:51
Messages: 484
Bonjour,

encore un com que j'ai raté noyée que je suis dans mes lignes de code désolée ^^

Donc pour l'affichage des posts sur le profil, pour news c'est dans modules/news/search.inc.php

Il suffit de modifier la requête sql à la ligne 50
$sql "SELECT storyid, topicid, uid, title, created FROM ".$xoopsDB->prefix("stories")." WHERE (published>0 AND published<=".time()."  AND (expired = 0 OR expired > ".time().') ';


en y ajoutant ce que tu veux ^^

Pour mon affichage après 48h j'ai rajouté un
AND (created delai)<".time()."
(delai étant un champs que j'ai créé sur cette table dans lequel j'ai mis 172800, ce qui représente 48h en secondes ^^)

Mais tu peux imaginer n'importe quoi.. N'afficher que les posts de certaines catégories, que ceux auxquels il y a eu des réponses, que ceux qui sont approuvés etc..

Espérant t'avoir éclairé ^^

Posté le : 25/06/2011 21:18
Partager Twitter Partagez cette article sur GG+
Re: Smarty, conditions et compagnies..
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Merci pour le partage

Posté le : 25/06/2011 21:44

La connaissance s'accroît quand on la partage ...
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

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