Forum CMS Made Simple FR

Version complète : [Résolu]Gérer les articles en front - mes articles dans ma zone membre
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: -1.11.7
#~ Url du site :
#~ Hébergeur / Soft : ovh
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.7
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.4
#~ FileManager: 1.4.3
#~ MenuManager: 1.8.5
#~ CGExtensions: 1.37.2
#~ ModuleManager: 1.5.5
#~ News: 2.12.12
#~ Search: 1.7.8
#~ ThemeManager: 1.1.8
#~ TinyMCE: 2.9.12
#~ FrontEndUsers: 1.21.18
#~ CustomContent: 1.9
#~ SelfRegistration: 1.8.1
#~ CGJobMgr: 1.2.14
#~ NMS: 2.7.4
#~ Gallery: 1.6.1
#~ JQueryTools: 1.2.5
#~ HostedVideoAlbums: 2.4.4
#~ CGEcommerceBase: 1.4.3
#~ CGPaymentGatewayBase: 1.2.2
#~ CGSimpleSmarty: 1.7
#~ Orders: 1.15.2
#~ PaypalGateway: 2.3.11
#~ Products: 2.19.6
#~ Cart: 1.10
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ max_upload_size: 55000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.3.8-pl0-gentoo
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 2048
#~ E_DEPRECATED: 8192
#~ memory_limit: 128M
#~ max_execution_time: 30
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 8M
#~ upload_max_filesize: 55M
#~ session_save_path: /tmp (1777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: cgi-fcgi
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.0.44
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour

je voudrais afficher les articles qu'un membre aurait posté dans "sa" zone membre !
existe t'il un tag qui le farait (c'est le module {news} )
Je suis sur le même sujet tiens... Smile

tu cherche quoi pfécisement ? les articles en mode edition ou en mode lecture seule ?

je suis en train de regarder ces jours ci. Sitôt que j'ai la réponse je viens te filer l'info.

Si tu trouve : préviens moi :lol:
bonjour,
zone membres, donc FEU.
Côté FEU, un groupe par membre, côté News une catégorie par membre
Un utilisateur poste un article dans sa catégorie, ensuite, s'il est connecté, tu affiches la categorie de l'utilisateur FEU.
Si nom de catégorie News = nom groupe FEU, c'est encore mieux.
Avec customContent, tu devrais t'en sortir facilement.
o_O' aussi complexe ? il me semble sans me tromper de beaucoup que tu peux avec CgBlog filtrer les articles d'un auteur. En tout cas c'est ma piste actuellement
c'est bien possible, je n'utilise pas CGBlog. Il a quelque chose qui ne me plait pas dans sa gestion des catégories, mais je ne sais plus quoi Big Grin (ha! oui, il ne gère pas les sous-catégories, il me semble, non?)
je confirme Smile

mais il a beaucoup plus d'option tout de même

Citation :(optional) author="" - Applicable uniquement à l'action=default (summary - sommaire), ce paramètre permet de limiter les résultats aux auteurs FEU (Non expirés) spécifiés. Par exemple : author="user1@domaine.com,user2@domaine.com".

{CGBlog author='blabla@blabla.com'} et hop ! tu as la liste Smile
Citation :(optional) action="default" - Outrepasse l'action par défaut. Les valeurs possibles sont :
[...]
"myarticles" - pour afficher un rapport des articles soumis par l'utilisateur actuellement identifié (FEU).

et re hop ! tu as ta propre liste
merci pour ces réponces,
mais je vais gérer des petites annonces et le plus simple était de le faire avec news, cgblog ne gère pas les sous catégories.

Sinon il n'y a pas plus simple !?
l'id de l'auteur est bien enregistrée avec l'article...

peut'être créer un gabarit spécial qui permettra d'afficher les articles de l'utilisateur,

je cherche d'en un premier temps à faire l'affichage des articles posté en front par un utilisateur enregistré (FEU)
question inverse : ne peux tu pas créer tes categories :

catA
catA|sousCat1
catA|sousCat2
catA|sousCat3
catA|sousCat3|soussousCat
catB
catB|sousCat1
catB|sousCat2

?

ca te permet de te focaliser uniquement sur la partie categorie alors que sinon, partis comme tu as gérer tout un site de petite annonce, je crains que ce ne soit que le début des emmerdes...
eu, je suis un peut fatigué alors je suis pas claire

je gère les annonces dans des rubriques/ss rubrique etc, les utilisatuers enregistré peuvent poster les annonces, ça fonctionne nickel

ce que je cherche à faire c'est d'afficher l'annonce, que pierre a posté, dans sa zone membre !!
Bonjour,
dans le gabarit sommaire d'article tu as la variable $entry['author'].
Dans FEU tu peux récupérer aussi le nom du user (de mémoire, je ne sais pas comment, je te laisse chercher).
A partir de là, c'est facile de filtrer les articles par auteur dans le gabarit de sommaire d'articles.
alors oui... mais attention alors à la volumétrie !

au delà du millier d'article, un épurage dans smarty laissera la charge à Mysql de remonter toute la base !
+1 pour Bess.
Bon je cache pas mon intérêt persistant pour CgBlog plutôt que pour News... mais si tu t'y sens prêts, tu peux envisager également la piste suivante

monter tes propres requêtes SQL personnalisées attaquant les tables de News selon ta propre convenance : par auteur, par ceci ou par cela. Tu pousse les résultats dans smarty

cmsms()->GetSmarty()->assign('myNews', .....);

dans ton gabarit news > summary tu appel à la première ligne ta nouvelle balise utilisateur qui va donc affecter dans $myNews la liste des articles de l'utilisateur courant (par exemple)

du coup il te reste à changer

{foreach $items as $entry}
{/foreach}

par

{foreach $myNews as $entry}
{/foreach}


C'est pas aussi simple que cela dans l'absolu mais c'est une piste que j'ai déjà emprunté pour je-ne-sais plus quel cas de figure et le résultat restait bon.




--------------


Autre idée : copy/past le fichier action.default.php du module news pour créer action.byauthor.php et modifie le PHP pour filtrer par un paramètre supplémentaire : auteur

te reste à appeler ta nouvelle action

{News action='byauthor'}

/!\ en cas de maj du module tu ne perdra certainement pas ton nouveau fichier personnel, mais le code de News risque de changer et ne plus marcher
merci pour toutes ces infos !!!
il faut que je me retrousse les manches et que je m'y mette !
si tu appelles une UDT dans le gabarit, tu retombes dans les mêmes problèmes en cas de volumétrie importante :/
Négatif :

dans ton gabarit général : {News ..... number=0} (ca doit passer normalement)
dans ton gabarit news summary : {monUdt auteur='toto'}

ton code de l'udt se doit de ramener uniquement les articles de toto, sinon ça n'a effectivement aucun intérêt.

Du coup tu remonte zéro article via News et tu remonte X articles via ton UDT, ces X articles sont ensuites utilisés par le template summary de news. Je sais que ça semble bizarre, ça l'est mais j'ai déjà fait la manipulation avec succès.

Mais je préconiserais ma méthode du fichier doublonné si c'est techniquement faisable car ca évite de devoir tout se retaper : jointure SQL & co.
alors finalement j'y suis arrivé assé facilement,
il me faut gérer le fait qu'il peut y avoir de grosse requette (beaucoup d'articles à voir avant affichage)

j'ai garder tout comme c'était, j'ai ajouté

{if $entry->author == $username}
$username = pseudo de l'utilisateur connecté !!! qui est pris en compte lors du poste d'un article !

il me faut maintenant limiter mon {foreach from=$items item=entry}
pour rechercher que les articles qui dépassent la date actuelle et afficher que les 20 derniers articles et voila,

c'est la prochaine étape
pas tout de suite j'ai d'autre problèmes à régler avant sur e-commerce (pb de commande)
le foreach a lieu APRES requêtage SQL

c'est ce que l'on évoquait avec jissey : il faut filter avant Smarty, pas dans smarty car ça ne sert déjà plus à rien.
oui !!!

donc une UDT un peut compliqué et hop !!!

Merci