In meiner lokalen Testumgebung kann ich es nicht reproduzieren. Ich teste es noch online gegen...
Auch online sehe ich keine Probleme: http://dev.premium-contao-themes.com/catalog-297.html
Ankündigung
Einklappen
Keine Ankündigung bisher.
4.9 Merkliste Hinzufügen funktioniert nicht, wenn "replaceInsertTags" im Template
Einklappen
X
-
Zitat von Tim Beitrag anzeigenInkludiere mal einen anderen Content zur Prüfung ob es allgemein an der replaceInsertTags Methode liegt.
Ich verwende in den inkludierten CEs auch keine Inserttags oder ähnliches, was im Cache gespeichert werden würde.
Einen Kommentar schreiben:
-
Inkludiere mal einen anderen Content zur Prüfung ob es allgemein an der replaceInsertTags Methode liegt.
Einen Kommentar schreiben:
-
Ich füge über den Inserttag ein Customelement ein das sozusagen als Stopper in der Produktliste fungiert. Das Customelement hat nichts mit dem CC oder der Merkliste zu tun. Somit kann der Kunde an fünfter Stelle im Listenmodul einen Stopper für eine andere Aktion anzeigen lassen.
Das Element liegt in sofern nicht in der Merkliste, das es nicht über das Listenmodul mit dem Merklisten Filter angezeigt wird, es nicht über das inserttag "customcatalognotelist::total" ausgegeben wird und wenn man auf die Item-Detailseite geht, dort der state wieder auf "Merkliste hinzufügen" steht.
Wenn ich den Inserttag im fehlerhaften CC Listenmodul entferne, dann wird der State sozusagen wieder zurückgesetzt und der Merklisten Button ist mit allen anderen Listen/Detailseiten/Inserttags gesynced.
Code für das CE:
Code:<div class="imagebox--wrapper"> <wbr/> <?php foreach($this->group('content') as $i => $fields): ?> <section class="flex-wrapper <?php echo $this->field('background#'.$i)->value(); ?> iconbox--content <?php if (!$this->field('img#'.$i)->value()): ?>img-icon <?php endif; ?> <?php echo $this->class; ?> <?php echo $this->field('style')->value(); ?> block" <?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>> <div class="<?php if ($this->field('img#'.$i)->value()): ?>one_half <?php endif; ?>imgicon--wrapper p-40 p-30-m p-30-t bg-darkgray invert"> <?php echo $this->field('icon#'.$i)->html(); ?> <div class="iconbox--headline color-white"> <h4 class="mb-10"><?php echo $this->field('headline#'.$i)->value(); ?></h4> </div> <div class="iconbox--text mb-30"><?php echo $this->field('text#'.$i)->html(); ?></div> <div class="iconbox--link link--button of-visible"> <?php if ($this->field('link')->option('linkText')): ?> <?php echo $this->field('link#'.$i)->html(); ?> <?php endif; ?> </div> </div> <?php if ($this->field('img#'.$i)->value()): ?> <div class="one_half"> <div class="imagebox--image h-100"> <?php echo $this->field('img#'.$i)->html(); ?> </div> </div> <?php endif; ?> </section> <wbr/> <?php endforeach; ?> </div>
Code:<?php if(!$this->empty): ?> <?php if ($GLOBALS['TL_LANGUAGE'] == 'de') { $HTMLcontent = $this->replaceInsertTags('{{insert_content::108275}}', false); } else { $HTMLcontent = $this->replaceInsertTags('{{insert_content::108517}}', false); }; $einklinker = explode("<wbr/>",$HTMLcontent); $objLength = count($einklinker); $einklinker = array_slice($einklinker, 1, $objLength-2); $length = count($einklinker); $randomArticle = random_int(0, $length-1); $i = 0; //<script>console.log(`<?php print_r($HTMLcontent); `)</script> ?> <?php foreach($this->entries as $entry): ?> <div class="block entry product--wrapper one_half mb-20" <?php echo $this->cssID; ?>> <span class="span-expand"> <a href="<?php echo $entry->links('detail')->url; ?>"></a> </span> <div class="product--notelist notelist offsetleft"> <?php echo $entry->field('notelist')->html("customelement_attr_notelist"); ?> </div> <div class="product--image"> <?php //<img src="echo $entry->field('img')->generate(); " alt=""> ?> <?php // echo $entry->field('img')->generate(); $image_path = $entry->field('img')->generate(); $image = \Picture::create($image_path, 9)->getTemplateData(); // 1 ist die ID der Bildgröße, einfach durch Deine ID ersetzen $this->insert('picture_default', $image); ?> </div> <div class="product--content"> <?php if ($entry->field('overline')->value()): ?> <div class="product--overline"> <?php echo $entry->field('overline')->value(); ?> </div> <?php endif; ?> <h2 class="product--headline"><?php echo strip_tags($entry->field('name')->value(), "<strong>"); ?></h2> <div class="product--teaser"> <?php echo $entry->field('teaser')->value(); ?> </div> <div class="product--link link--button button--gray button--text--regular"> <p class="link"><a href="<?php echo $entry->links('detail')->url; ?>">{{iflng::de}}Produkt ansehen{{iflng::en}}Product Details{{iflng}}</a></p> </div> </div> </div> <?php if($i === 3): echo $einklinker[$randomArticle]; endif; $i++; ?> <?php endforeach; ?> <?php else: ?> <p class="info empty">Keine Produkte gefunden</p> <?php endif;?>
Einen Kommentar schreiben:
-
Was genau fügst du denn via Inserttag ein? Liegt die Merkliste in dem CE, das via Inserttag eingefügt wird?
Beim Hinzufügen lädt die Seite neu und der Status wird auf Entfernen gesetzt. Inwiefern liegt das Element dann nicht in der Merkliste? Wie äußert sich das bzw. woher weisst du das?
Einen Kommentar schreiben:
-
Zitat von Tim Beitrag anzeigenWichtig: Seite darf nicht im Seitencache liegen!
Falls man Merkliste-Inhalte bzw. Inhalte die irgendwie mit Sessiondaten laufen, über Inserttags holt, sollte man den Inserttag auf nocache fahren. https://github.com/contao/core-bundl...oller.php#L761
Code:$HTMLcontent = $this->replaceInsertTags('{{insert_content::108275}}', false);
Einen Kommentar schreiben:
-
Wichtig: Seite darf nicht im Seitencache liegen!
Falls man Merkliste-Inhalte bzw. Inhalte die irgendwie mit Sessiondaten laufen, über Inserttags holt, sollte man den Inserttag auf nocache fahren. https://github.com/contao/core-bundl...oller.php#L761
Einen Kommentar schreiben:
-
filipt hat ein Thema erstellt 4.9 Merkliste Hinzufügen funktioniert nicht, wenn "replaceInsertTags" im Template.4.9 Merkliste Hinzufügen funktioniert nicht, wenn "replaceInsertTags" im Template
Hallo!
Ich habe für einen Kunden ein schnelles Feature hinzugefügt, bei dem ich im Listen-Template "unsauber" einfach über einen Inserttag ein anderes Inhaltselement mir ziehe und das über PHP dann "zerstückle". Das Inhaltselement ist ein CE.
Alleine wenn die folgende Zeile über dem foreach Loop im Template steht, funktioniert die Merkliste nicht mehr. Das heißt, wenn man auf "Merkliste hinzufügen" klickt, dann lädt die Seite neu, das Element "scheint" auf der Merkliste zu stehen, weil dann stattdessen "Merkliste entfernen" angezeigt wird, aber es ist nicht wirklich auf der Merkliste. Sofern man stattdessen über die Readerseite das Item auf die Merkliste hinzufügt funktioniert es normal. Wenn ich die folgende Zeile aus dem Listen-Template entferne, funktioniert die Merkliste ebenfalls normal.
Code:$HTMLcontent = $this->replaceInsertTags('{{insert_content::108275}}');
Hat jemand eine Idee woran das liegen könnte? Ich kann bei bedarf auch den Code vom CE hier reinkopieren.
VG, FilipStichworte: -
Einen Kommentar schreiben: