Keyword

Afficher pièce jointe K2 dans une newsletter

  • STEPHAN HERBY
  • STEPHAN HERBY's Avatar Topic Author
  • Offline
  • Premium Member
More
12 years 4 weeks ago - 12 years 4 weeks ago #64422 by STEPHAN HERBY
Afficher pièce jointe K2 dans une newsletter was created by STEPHAN HERBY
Bonjour à tous. J'utilise Acymailing pour gérer mes newsletter et K2 pour gérer les articles de mon site qui sont repris dans ms newsletter. j'aimerais avoir la possibilité de faire figurer dans mes newsletter les liens de pièces jointes des articles K2 (onglet "Pièces jointes").

Je me sers du plugin téléchargeable chez Acymailing qui marche très bien pour le "Titre", le "Texte", l'"Image cliquable" et le nom de la "Catégorie". Impeccable aussi la personnalisation de l'affichage de l'item dans la Newsletter.

Pour insérer mon lien de PIèce jointe, Adrien de Acymailing m'a refiler ce bout de code :
$db =& JFactory::getDBO();
$db->setQuery('SELECT * FROM #__k2_attachments WHERE `itemID` = '.$article->id);
$attachments = $db->loadObjectList();

foreach($attachments as $oneAttachment){
echo $oneAttachment->filename;
}
En me précisant que ça doit pouvoir m'aider mais qu'il n'est pas sur de "attachment structure"....
Bon avec ce bout de code et le peu de php que je connais, j'arrive à afficher le nom de la pièce jointe dans ma newsletter, mais ce nom n'est pas cliquable alors que j'aurais aimé pouvoir télécharger directement la pièce jointe en cliquant sur ce nom....

Quelqu'un aurait-il une suggestion à me faire pour avoir le lien avec le nom?
EN vous remerciant tous d'avance...

Please Log in or Create an account to join the conversation.

  • STEPHAN HERBY
  • STEPHAN HERBY's Avatar Topic Author
  • Offline
  • Premium Member
More
12 years 4 weeks ago - 12 years 4 weeks ago #64423 by STEPHAN HERBY
Replied by STEPHAN HERBY on topic Re: Afficher pièce jointe K2 dans une newsletter
OK alors pour l'instant j'ai trouvé ceci :
<?php                $db =& JFactory::getDBO();
                        $db->setQuery('SELECT * FROM #__k2_attachments WHERE `itemID` = '.$article->id);
                        $attachments = $db->loadObjectList();
                        foreach($attachments as $oneAttachment){
                        echo "<a href='http://www.NOMDEDOMAINE.COM/media/k2/attachments/" . $oneAttachment->filename . "'>" . $oneAttachment->title . "</a>";
                        }
                        ?>
Je sais c'est pas taupe mais ... ça marche :-) Si quelqu'un a une meilleure suggestion, je suis bien sur preneur...
De plus, j'aimerais maintenant rajouter un titre audessus de cette ligne du type :
"Pièces à télécharger" mais qui n'apparaisse que si ... il y a une pièce à télécharger. J'ai bien détecté un bout de code qui dit "count" mais je ne sais absolument pas comment m'en servir... Là aussi, je prend toutes vos suggestions. En remerciant les éventuels intervenants par avances...

Please Log in or Create an account to join the conversation.

More
12 years 3 weeks ago - 12 years 3 weeks ago #64424 by witkowski
<?php $db =& JFactory::getDBO();
$db->setQuery('SELECT * FROM #__k2_attachments WHERE `itemID` = '.$article->id);
if (!$db->getNumRows() == 0) {
echo "pièces jointes" ;
}
else {
echo "pas de pièces jointes";
}
$attachments = $db->loadObjectList();
foreach($attachments as $oneAttachment){
echo "<a href='www.NOMDEDOMAINE.COM/media/k2/attachments/" . $oneAttachment->filename . "'>" . $oneAttachment->title . "";
}
?>
if !$db ->getNumRows() veut dire si tu as un numéro de ligne donc que ta requete as au moins un résultat alors on affiches pieces jointes, sinon on affiches pas de pieces jointes.
enfin a toi de voir pour le else...
Pour que ca marches , c est juste après la requete que cela doit etre placé .
autrement tu peut inserer une ligne $num_rows=$db->getNumRows() et te servir de la variable dans une boucle if. et la reutiliser si tu as besoin plus loin

Je ne suis pas non plus un expert en php mais c est une boucle de ce genre que je testerais.

Si j ai au moins un resultat, j affiches mon titre sinon je ne fait rien ( ca je ne sait as quoi mettre pour y arriver c est pour ca que j ai mis else echo pas de pieces jointes.)

joomlatp.com/joomla-database/joomla-database-query.html

pour un exemple concernant getnumrows.

stackoverflow.com. C est le site ou je pose mes questions quand j ai un probleme avec du code. Je ne peut que te le conseiller

EDIT:si cela ne fonctionnes pas essayez if NOT_NULL $db->getNumRows() ......

Please Log in or Create an account to join the conversation.

  • STEPHAN HERBY
  • STEPHAN HERBY's Avatar Topic Author
  • Offline
  • Premium Member
More
12 years 3 weeks ago #64425 by STEPHAN HERBY
Replied by STEPHAN HERBY on topic Re: Afficher pièce jointe K2 dans une newsletter
Bonjour Witkowski,
et merci de tes suggestion, j'essaie tout ça de suite et reviens ici faire un topo :-)
Merci beaucoup en tous cas...

Please Log in or Create an account to join the conversation.

  • STEPHAN HERBY
  • STEPHAN HERBY's Avatar Topic Author
  • Offline
  • Premium Member
More
12 years 2 weeks ago #64426 by STEPHAN HERBY
Replied by STEPHAN HERBY on topic Re: Afficher pièce jointe K2 dans une newsletter
OK de retour sur ce topic...
Alors, merci encore Witkowski pour tes suggestions. Dans l'ensemble ça m'a l'air intéressant, mais je n'ai pas réussi à faire fonctionner le "if"
En fait, il m'affiche toujours le même "Echo" (le premier) et pourtant j'ai essayé de corrigé l'écriture d'après d'autre "if" vu sur d'autre page PHP. J'ai aussi fouiller sur les URL que tu m'as transmises mais toujours rien. Bon mes connaissances et PHP sont plus que rudimentaires c'est le pourquoi du comment... DOnc pour l'instant en stand by jusqu'a suggestion plus précise ? ;)

Please Log in or Create an account to join the conversation.


Powered by Kunena Forum