FriendsOfREDAXO / newsmanager

Einfacher REDAXO 5 Newsmanager
MIT License
37 stars 8 forks source link

News ID wird in der Kommentarfunktion nicht übergeben #36

Closed spiritandsoul closed 5 years ago

spiritandsoul commented 5 years ago

Hey Jungs,

leider hab ich mit der Kommentarfunktion ein Problemchen. Value gibt die News ID nicht an. Kommentar wird zwar gespeichert, kann ohne ID aber nicht an der entsprechenden Stelle ausgegeben werden.

`<?php $newsmanager = new NewsManagerWithComments(); $news_id = $newsmanager->getNewsIdParameter();

if ($news_id > -1) {

// Details vom News-Artikel
$article_post    =  $newsmanager->getArticleById($news_id);
$meta_title    =  $article_post->getTitleTag($this->getValue('article_id'));
$meta_description  =  $article_post->getDescriptionTag();
$meta_canonical   =  $article_post->getCanonicalUrlTag($this->getValue('article_id'));

$meta_image = $article_post->getImages($this->getValue('article_id')); // $article_post->getHrefLangTag ($article_post->getId());

} else {

// Artikel-Listenansicht

$meta_title = rexx::getTitle(); $meta_description = rexx::getDescription(); $meta_canonical = rexx::getCanonicalUrl(); $meta_image = rex_media::get($this->getValue('art_file')); if($this->getValue("art_file") != "") $meta_image = $this->getValue("art_file");

} ?>`

und

`<?php
// Ausgabe der Newsartikel

   if ($news_id) {
        // Artikel-Ansicht 

echo $newsmanager->printSingleView($article_post); echo $newsmanager->getCommentList($article_post->getPid()); echo $newsmanager->getCommentForm($article_post->getPid());

?>` Ist da irgendwas falsch dran? Eigentlich ist es von der Anleitung kopiert.

Hat jemand ne Idee dazu?

LG Christian :-)

georgkaser commented 5 years ago

Servus, ganz hab ich's nicht verstanden was nicht funktioniert ;)

Also mir fällt nur auf, dass bei der Ausgabe eine schließende Klammer fehlt (beim if). Mach die mal zu, vielleicht klappts dann.

spiritandsoul commented 5 years ago

Verstehe, Github hat eine reinkopierte Zeile nicht mit übernommen. <form method="post" onsubmit="return post();"><input type="hidden" id="reArticleId" value=""> Da wo die News ID angezeigt werden soll bleibt es leer... Hier noch das Template dazu: <form method="post" action="" onsubmit="return post();"> <input type="hidden" id="reArticleId" value="<?=$article_id?>">

An der Klammer liegt es nicht.

georgkaser commented 5 years ago

Hmm, ich seh da keinen Fehler. Wie gibst du denn die Listenansicht aus? Von da kommt ja die NewsID.

Ich hab das bei mir so gemacht: Alles in einem Template (also Listen - und Single Ansicht) - zuerst hol ich die NewsID (so wie du):

$news_id = $newsmanager->getNewsIdParameter(); 

Ausgabe erfolgt dann so:

if ($news_id) {

    echo '      '. $newsmanager->printSingleView($article_post);
    echo '      '. $newsmanager->getCommentList($article_post->getPid());
    echo '      '. $newsmanager->getCommentForm($article_post->getPid());

} else { // Listenansicht

    echo '      '. $newsmanager->printListView($this->getValue('article_id'), 10);

} 
spiritandsoul commented 5 years ago

Schau mal bei dir aus dem Quellcode vom aktuellen Artikel: <form method="post" action="" onsubmit="return post();"> <input type="hidden" id="reArticleId" value="13">

und bei mir:

<form method="post" action="" onsubmit="return post();"> <input type="hidden" id="reArticleId" value="">

Hier die Ausgabe:

   if ($news_id) {
        // Artikel-Ansicht 

echo $newsmanager->printSingleView($article_post); echo $newsmanager->getCommentList($article_post->getPid()); echo $newsmanager->getCommentForm($article_post->getPid());

    } else {

        // Listenansicht

echo $newsmanager->printListView($this->getValue('article_id'), 10);

    }
georgkaser commented 5 years ago

Was gibt denn $article_post->getPid() aus?

spiritandsoul commented 5 years ago

$article_post->getPid() dadurch wird die ID angeben. Im Template zum kommentieren siehe hier: <form method="post" action="" onsubmit="return post();"> <input type="hidden" id="reArticleId" value="<?=$article_id?>">

<?=$article_id?> wird nicht aus gegeben und mit dem Kommentar nicht gespeichert. So kann der Kommentar nicht beim Artikel angezeigt werden weil ihm die zugehörige ID fehlt.....

Einfacher kann ich es nicht mehr beschreiben... unbenannt12

georgkaser commented 5 years ago

Ja, sorry, ich kanns nicht nachvollziehen. Ich möchte nur rausfinden wo die ID verloren geht. Hast du das Template zum Kommentieren selbst erstellt (ich meine weil bei dir value="<?=$article_id?>" drin steht)? Das macht doch die Funktion getCommentForm() - du musst das nicht selbst machen. Zur Not kannst du mir Zugang zu deinem Projekt geben, dann schau ich mirs an.

spiritandsoul commented 5 years ago

das ist das Orginal aus der article-commentform-view.php: `

<textarea id="comment" required placeholder="Ihr Kommentar"></textarea>
<br>
<input type="text" id="username" required placeholder="Name">
<br>
<input type="email" id="email" required pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" placeholder="E-Mail">
<br>
<input type="submit" value="Post Comment">`

so ist meine:

<div class="row"><form method="post" action="" onsubmit="return post();"><input type="hidden" id="reArticleId" value="<?=$article_id?>"><div class="small-12 columns"><textarea id="comment" required placeholder="Dein Kommentar"></textarea></div><div class="small-12 medium-6 large-6 columns"><input type="text" id="username" required placeholder="Name"></div><div class="small-12 medium-6 large-6 columns"><input type="email" id="email" required pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" placeholder="E-Mail"></div><div class="small-12 columns"><input class="button" type="submit" value="Kommentieren"></div></form></div>

Beides geht nicht bei mir.

georgkaser commented 5 years ago

Phu, keine Anhung warum bei dir die Funktion nicht geht. Müsste ich debuggen.

spiritandsoul commented 5 years ago

Habe gerade eine frische Installation gemacht und den newsmanager nochmal neu gezogen. Leider hab ich auch da den gleichen Fehler.

georgkaser commented 5 years ago

Ja, ich denke auch nicht dass es am Addon liegt - bei mir funktionierts ja und bei anderen auch. Vielleicht versuchst du rauszufinden, ab wo die ID verloren geht (ich geb das einfach immer als echo aus - auch in den Addon Klassen). Dann wissen wir vielleicht mehr. Wenn du's nicht rausfindest, dann helfe ich dir gerne beim Debuggen, sag mir Bescheid.

spiritandsoul commented 5 years ago

Hey Georg, eigentlich wollte ich dir jetzt schreiben das ich noch nie gedebuggt hab und Hilfe brauche. Habe aber eben den Fehler gefunden.

In der article-commentform-view.php getauscht: <?=$article_id?> gegen <?=$articleId?>

So geht es jetzt bei mir! :-)

Vielen Dank für deine Unterstützung!

georgkaser commented 5 years ago

Komisch ;) Na, hauptsache es klappt jetzt.