[Reglé]Un texte d'intro en haut de page des différentes catégories

Bonsoir, je voudrais savoir comment je peux ajouter un texte d'intro à mes catégories en haut de page, avant les articles, par exemple pour une catégorie "vidéo" on pourrait avoir une intro du style : "Bonjour, vous êtes dans la catégorie vidéo, ici vous trouverez ..."

Vous voyez ce que je veux dire ?
«1

Réponses

  • La seule solution que tu as pour l'instant c'est coder ça en dur dans ton template
  • Ca je m'en doutais, mais comme les pages de catégories sont créées dynamiquement, il n'y a pas un fichier par page dans lequel je pourrais rajouter mon intro, donc il faut coder ça en php, de manière dynamique aussi, mais je n'y connais rien en php, alors si quelqu'un pouvait m'en dire un peu plus, au moins des pistes que je poursuivrai par moi même (c'est toujours plus interressant de comprendre ce que l'on fait, et de le faire soi même ;)), merci.
  • De même intéressais :)
  • Un petit up, personne ne peut me donner une piste sur laquelle me lancer ?
  • il va falloir que tu te lances sur cette piste :

    si la catégorie s'appelle bidule alors
    phrase d'accueil = machin
    si la catégorie s'appelle chose alors
    phrase d'accueil = truc
    etc...

    et après on fait afficher la phrase d'accuiel où l'on veut.
  • Ok, je vois ce que tu veux dire, merci Skyline :)
  • stoopxstoopx Member
    novembre 2006 modifié
    Je n'ai pas encore eu le temps de tester concrètement, mais j'y ai beaucoup réfléchi, et j'ai imaginé une autre méthode, certainement la plus simple et rapide à mettre en place à mes yeux (si elle marche ;)) et sans alourdir le code du fichier template avec plusieurs intros insérées directement dedans :

    J'ai pensé a mettre dans un bloc <p> une instruction php include avec comme nom de fichier 'categorie'.xml, en gros selon la catégorie dans laquelle on se trouve, la variable 'categorie' change et appelle un fichier xml (créé et uploadé à la main) portant le nom exact de cette catégorie et qui contient un texte en rapport avec cette catégorie.

    C'est purement théorique, n'y connaissant quasiment rien en php et n'ayant pas encore eu le temps de tester, je ne sais pas si c'est possible, mais si c'est le cas, je pense que ça reste le plus simple.
    Après, pour aller un peu plus loin, je pense qu'il ne doit pas être trop compliqué en se basant sur la création des articles de rajouter dans l'admin la possibilité de créer ces fichiers xml en ligne :D

    Vous en pensez quoi ?
  • stoopx a écrit:
    J'ai pensé a mettre dans un bloc <p> une instruction php include avec comme nom de fichier 'categorie'.xml, en gros selon la catégorie dans laquelle on se trouve, la variable 'categorie' change et appelle un fichier xml (créé et uploadé à la main) portant le nom exact de cette catégorie et qui contient un texte en rapport avec cette catégorie.
    C'est facilement réalisable en plus ;
    Après, pour aller un peu plus loin, je pense qu'il ne doit pas être trop compliqué en se basant sur la création des articles de rajouter dans l'admin la possibilité de créer ces fichiers xml en ligne :D
    C'est aussi réalisable mais faudrai coder un petit peu.
  • Cool, si j'ai bien compris, ma théorie s'avère juste, je suis content, me reste plus qu'à trouver un moment pour essayer ;)

    Au final, la prog c'est que de la logique, le truc chiant c'est qu'il faut trouver le temps pour apprendre le language quoi.
  • stoopxstoopx Member
    novembre 2006 modifié
    Bon après quelques vaines galères, je vous lance un appel au secour, c'est effectivement simple sur le plan théorique, mais je suis une bille en syntaxe, et malgré divers essais, je n'y arrive pas.

    en gros je dois insérer dans le bloc "content" ceci :

    <p><?php include '$categorie.txt' ?></p>

    Je suppose que la syntaxe est mauvaise au niveau de l'appel de la variable, je suppose que le fait d'être entre guillemets fait que php ne le perçoit plus comme du code php, j'ai essayé d'autres choses comme :

    <p><?php include $categorie.'.txt' ?></p>

    Ca ne marche toujours pas, comme je l'ai dit je suis une bille en php, donc si quelqu'un qui touche sa bille (lui ;)) passe par là et peut m'éclairer rapidement, je lui serais grandement reconnaissant.

    Je pense aussi qu'il doit y avoir un soucis au niveau du rep dans lequel on place le fichier à appeller, je me suis dit le plus simple c'est de mettre dans le dossier pluxml0.3.1 puisque comme on est sur la page index.php qui s'y trouve il va aller chercher dans le même rep, mais quand on clique sur une categorie, on dirait qu'on est plus dans le rep pluxml0.3.1 alors du coup je suis un peu perdu parce que ce n'est pas un dossier réel qui est affiché dans la barre d'adresse donc je sèche.
  • <p><?php include($categorie.'.txt'); ?></p>
    
  • Rha j'étais pas loin, me manquait juste les parenthèses, merci skyline, je teste ça cet aprem.
    Sinon, si je ne met pas de chemin, il va bien aller chercher le fichier dans le même dossier que le fichier index.php, c'est à dire le dossier "pluxml0.3.1" ?
  • À noter, tu as plusieurs méthodes :
    <p><?php include($categorie.'.txt'); ?></p>
    
    <p><?php include("$categorie.txt"); ?></p>
    
    <p><?php include($categorie, '.txt'); ?></p>
    
    Personnellement, je préfère la dernière, vu que c'est la syntaxe Python :)
  • stoopx a écrit:
    Rha j'étais pas loin, me manquait juste les parenthèses, merci skyline, je teste ça cet aprem.
    Sinon, si je ne met pas de chemin, il va bien aller chercher le fichier dans le même dossier que le fichier index.php, c'est à dire le dossier "pluxml0.3.1" ?
    Non il ira cherche dans le dossier qui contient le fichier qui inclut.
  • stoopxstoopx Member
    novembre 2006 modifié
    le fichier template.php n'est pas inclut dans le fichier index.php ? Parce que si c'est le cas, il ira donc chercher dans le dossier qui contient index.php, donc dans le dossier plusml0.3.1 (par défaut).

    Bon je teste, je pense que je serais tout de suite fixé ;)
  • Bon, alors je viens de tester et j'ai un soucis, déjà j'ai regardé le fichier index.php et j'ai vu que le fichier template.php y est bien inclus, donc ma portion de code fera une fois en ligne partie intégrante de la page index.php en gros, donc c'est bien dans le même dossier que le fichier index.php qu'il faut mettre mon fichier txt, mais ça marche pas, au cas où j'ai testé aussi de le mettre dans le dossier de skin mais pareil, alors j'ai des messages d'erreurs qui s'affichent :

    Warning: main(.txt) [function.main]: failed to open stream: No such file or directory in /mnt/135/sdb/0/c/MONSITE/pluxml0.3.1/pluxml/templates/SKIN/template.php on line 35

    Warning: main() [function.include]: Failed opening '.txt' for inclusion (include_path='/mnt/135/sdb/0/c/MONSITE/include:.:/usr/php4/lib/php') in /mnt/135/sdb/0/c/MONSITE/pluxml0.3.1/pluxml/templates/SKIN/template.php on line 35

    Euh autant avant je captais le plan théorique, autant là je comprends rien au message, j'ai donc besoin de vous :D

    Au passage, j'ai testé les différentes possibilité de diti, et la dernière ne fonctionne pas du tout, le site ne s'affiche même pas, j'ai une page blanche avec un message d'erreur.

    Merci d'avance.
  • C'est que tu n'as pas définie la variable $categorie.
  • Ben, je pensais qu'elle l'était déjà, sinon comment fait pluxml pour n'afficher que les articles d'une catégorie quand on clique sur celle-ci dans le menu, c'est bien grâce à la variable $categorie non ?

    Je comprend plus rien, ça avait pourtant l'air simple sur le papier lol

    Sinon comment je fais pour la définir ?
  • Up, je sais que Skyline est très occuppé en ce moment, mais quelqu'un d'autre saurait-il me conseiller ?
  • En fait j'ai besoin de savoir comment récupérer dynamiquement, le nom de la catégorie dans laquelle on se trouve, je pensais qu'il suffisait d'utiliser la variable $categorie mais apparemment non, j'ai essayé de fouiller les fichiers de pluxml, mais ma connaissance de php étant très limitée, je dois admettre que j'ai du mal à comprendre comment ça fonctionne, donc si quelqu'un avait la gentillesse de me filer un coup de main ce serait vraiment sympa, surtout que d'après les réponses que j'ai eu, ça n'a pas l'air d'être vraiment compliqué pour quelqu'un qui s'y connait.

    Merci d'avance.
  • Personne pour me filer un coup de main ?

    Je pensais que c'était quelque chose de simple pourtant, dans le doute et surtout dans l'espoir que quelqu'un me file un petit coup de main, je vais reformuler mon problème.

    J'aimerais savoir comment je peux afficher dynamiquement le nom de la catégorie dans laquelle on se trouve, par exemple j'aimerais que quand je clique sur CATEGORIE A dans mon menu s'affiche CATEGORIE A en haut de page, au dessus des articles de cette catégorie.

    Mon but n'est pas réellement d'afficher le nom de la catégorie, je le formule juste comme ça pour que ce soit plus compréhensible, en réalité ce que je veux savoir c'est comment définir une variable "categorie" avec le nom de la catégorie dans laquelle on se trouve, et ce dans le but (qui est le but premier de ce post) de pouvoir inclure dans mon template un fichier externe portant le nom de la catégorie dans laquelle on se trouve, en passant par un include php avec ma variable "categorie" comme nom de fichier, ce qui me permettra par la suite, d'inclure un texte de présentation de mes catégories en uploadant simplement un fichier texte portant le nom de celles-ci.

    Je crois que j'ai bien fait de reformuler en simplifiant lol ça me parait difficilement compréhensible comme ça :)

    Skyline, j'ai bien essayé en copiant une portion du code contenu dans le functions.php au niveau du case categorie, mais je n'y arrive pas, je sais que tu es très occuppé, mais je pense que ça doit être un jeu d'enfant pour toi, alors si tu as un peu de temps, je t'en serais très très reconnaissant, sinon et de toutes façons, je vais continuer à chercher, et à espérer que quelqu'un qui passerait par ce topic peu fréquenté ma foi me file un petit coup de main.
  • Bon si j'ai bien compris après 4 messages sans réponses, il faut que je me démerde tout seul, ok, tampis je vais continuer de chercher tout seul.

    Il n'y a aucune obligation à aider quelqu'un, c'est clair, mais sachez que c'est quand même frustrant de ne voir aucune réponse à une question qui d'après ce que j'ai compris est assez simple pour quelqu'un qui connait le php et encore plus pour quelqu'un qui connait le php et le code de pluxml, alors que d'autres sujets qui requièrent des modifs de malade trouvent une réponse immédiatement.
    Je ne suis pas jaloux, ni en colère lol, c'est juste que j'aurais aimé avoir une réponse, même un "désolé on ne peut pas t'aider", alors que là rien, ça donne vraiment l'impression que les gens n'en ont rien à foutre de ta gueule et ça sur un forum (je parle en connaissance de cause, j'en ai administré un pendant quelques temps) c'est jamais très bon pour l'ambiance.

    Bref c'est sans rancune, je continuerais quand même à participer au forum, à demander de l'aide quand j'en aurai besoin et aider ceux qui en ont besoin, si je peux (remarque, en me démerdant tout seul, au moins j'apprendrais des choses en php ce qui me permettra d'être utile aux autres lol)

    Si je trouve je vous tiendrais au courant, ça pourrait ptet être utile à d'autres ;)
  • Nous sommes bénévoles ici, nous n'avons aucun devoir de résultat et pas besoin d'être critiqué sur notre façon d'aider les gens.

    ps : $categorie = $pluxml->cat_used[$pluxml->a_article];
  • stoopx a écrit:
    Il n'y a aucune obligation à aider quelqu'un, c'est clair, ...
    Bref c'est sans rancune ...
    Je suis d'accord avec toi, pas d'obligation de résultat, ce n'était pas une critique, je donnais simplement mon sentiment, quoi qu'il en soit, merci pour ta réponse, et désolé si tu as mal pris mon message, ce n'était pas le but, pluxml est un super projet et si j'en ai un jour l'occasion, je n'hésiterais pas à y contribuer, bon ce sera pas pour de l'aide en php lol mais on sait jamais, si je vois que je peux être utile, je n'hésiterai pas.
  • J'ai testé, ça marche ! merci Skyline, malheureusement, un soucis en découle, en effet, si malgré mes maigres connaissances en php j'ai bien compris, tu récupères la catégorie à laquelle appartient le premier article de la page c'est ça ?

    Le problème, il est sur la page d'accueil, dans le mode où ce n'est pas une catégorie, parce que du coup la variable prend la valeur de la catégorie du premier article de la page et ça c'est un problème, par exemple, comme je veux m'en servir pour afficher un texte d'intro à la catégorie, un jour je me retrouverais avec la présentation de la catégorie A en page d'accueil, et le jour suivant avec celui de la catégorie B (si j'ai posté un article dans la cat C), dans l'idéal il faudrait que la variable puisse prendre une valeur correspondant a "accueil", mais si ce n'est pas possible, est-ce qu'il y a un moyen pour que ce texte d'intro ne soit pas affiché sur la page d'accueil seulement ?
  • Je comprends le problème que tu rencontres, pour le contourner il faut mettre des conditions
    ex :

    if($pluxml->mode == 'cat'){
    $categorie = $pluxml->uCats.....
    }
    if($pluxml->mode == 'home'){
    $categorie = 'presentation'
    }
  • stoopxstoopx Member
    décembre 2006 modifié
    J'y avais pensé, et effectivement, je pense que c'est possible comme ça, c'est à dire en insérant une condition par catégorie, et en n'affichant rien ou autre chose en else, pour la page d'accueil, mais du coup, mon idée de départ perd beacoup de son utilité, puisqu'à chaque ajout d'une nouvelle catégorie, je me trouverais dans l'obligation de modifier le code, donc autant faire un include direct du fichier texte, tu vois ce que je veux dire ?

    La bonne solution serait (mais je ne sais pas si c'est possible) de définir une condition qui :

    _si on est sur la page d'accueil, affichera soit rien, soit quelque chose de défini (un texte d'accueil par exemple)
    _et sinon, affichera (en include toujours) le fichier portant comme nom, le contenu de la variable "categorie"


    Le plus simple serait de pouvoir récupérer dans la variable "categorie", la chaine "accueil" par exemple quand on est sur la page d'accueil, là je n'aurais rien à modifier par rapport au code précédent.

    Merci d'avoir répondu en tous cas, ça fait plaisir.
    Très occuppé ces jours-ci, je n'ai pas eu le temps de venir jetter un oeil, et là je viens et hop une réponse :D

    Edit: oups, je viens de me rendre compte en relisant ton message, que tu répondais peut-être déjà aux questions que je viens de poser lol, j'avais pas bien lu à cause du texte redevenu tout petit sur le forum (je suis sur ie6 au boulot, si ça peut t'aider à corriger le soucis).

    Je regarderais plus en détail le bout de code que tu m'a filé à la maison, là j'ai plus le temps, mais si jamais tu passes par là et que tu peut me l'expliquer vite fait, ça m'aiderait, parce qu'à première vue, je comprend pas tout.
    Merci encore et bon courage pour le développement de pluxml, ça doit être passionnant, mais très prise de tête par moment à mon avis :)
  • stoopx a écrit:
    Edit: oups, je viens de me rendre compte en relisant ton message, que tu répondais peut-être déjà aux questions que je viens de poser lol, j'avais pas bien lu à cause du texte redevenu tout petit sur le forum (je suis sur ie6 au boulot, si ça peut t'aider à corriger le soucis).
    Hello, je pensais être le seul dans ce cas car je suis aussi sous IE6 et je vois de la même façon que toi (c'est à dire tout petit, minus...) :(

    Bon, Skyline ? j'ai intercepté ta feuille de style "Oxygen.css" et c'est vrai qu'il y a un malaise dans cette balise:
    * HTML .pun {FONT-SIZE: 68.75%}
    
    Il vaut mieux l'exprimer en "em" comme ceci pour la compréhension sous ce satanée IE :o
    * HTML .pun {FONT-SIZE: 1em;}
    
    Mais bon ! c'est toi le chef ;)
  • Salut, je n'ai pas vraiment compris la portion de code que Skyline m'a mis, quelqu'un pourrait m'expliquer un peu ?
  • Le principal problème est que tu ne connais pas du tout php parce que le bout de code présenté est enfantin. Je n'ai malheureusement pas le temps en ce moment de te faire l'explication de ce code ou de te le rédiger entièrement.
Connectez-vous ou Inscrivez-vous pour répondre.