psArticleRequest: kann Anfragen nicht löschen

Hallo zusammen,
habe eine Frage zu psarticlerequest 3.1.0 auf Oxid 6.1.5
An was kann das liegen das die “Eintrag löschen” Sternchen nicht angezeigt werden.
Grüße

Was genau meinst du?

Ja genau dieses Modul,
aber aus irgendeinem grund fehlt das löschen sternchen ???

[{/block}]

in Zeile 164 ist m.A. falsch. Das müsste hinter in Zeile 165.
Untzersuche auch mal den Quelltext (Debugger) an der “gekringelten Stelle”. Vielleicht wird da ein Fehler ausgegeben, den man im Backend nicht sieht.

… hinter < /td >

Das Modul würde ich gerne anwenden - ist aber aktuell nicht lauffähig unter CE 6.2.3
Es erscheint zwar der Reiter, aber nach dem Absenden erscheint die “Wartungsseite”.
Wäre nett, wenn ihr helfen könntet.

Dann bau es um.

Wenn ich mich im programmieren so gut auskennen würde wie viele hier im Forum…dann würde ich es gerne ändern und hier zur Verfügung stellen. Aber…leider…muss ich auf eure Hilfe hoffen. Ich bin schon komplett gescheitert…

Für 6.2x müssen Erweiterungen von email.php angepasst werden. Das hatte ich schon mal erörtert. Die im verlinkten Beitrag beschriebenen Anpassungen sind gleich zum Problem hier, d.h.auf 3 Zeilen und eine Methode getRenderer(); beschränkt.

Ok, vielen Dank für die Antwort.

d.h.

  1. oben einfügen: use OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateRendererBridgeInterface;
  2. nach class Email extends Email_parent…den Code private function getRenderer() einfügen?
  3. nachfolgend den Code ändern von: $this->setBody($oSmarty->fetch($this->_sArticleRequestCustomerTemplate));
    auf: $this->setBody($renderer->renderTemplate($oSmarty->fetch($this ->_sArticleRequestCustomerTemplate))?

Es grenzt an Silbertablett: Aus dem Beitrag wäre noch folgendes zu entnehmen: $smarty = $this->_getSmarty(); ersetzen durch…$renderer = $this->getRenderer();

und damit das auch gleich geklärt ist: Ja in beiden Funktionen, die Mails versenden!!!

Vielen Dank für die Antwort. Irgendwie will es trotzdem nicht so ganz bei mir. Leider - wie bereits geschrieben - fehlen mir Programmierkenntnisse. Es wurde mir ja schon ganz toll geholfen aber irgendwo ist noch ein Fehler enthalten, den ich leider nicht erkennen kann. Ich gehe die nächsten Tage nochmals in Ruhe darüber.

Dazu benötigt man keine Programmierkenntnisse.Es ist mit Anleitung wie ein Rezept befolgen. Letzter Akt hierzu: EMail.php

Der Link funktioniert leider nicht. Ich würde gerne vergleichen, wo ich genau den Fehler gemacht habe…
Vielen Dank!

Doch, der Link funktioniert. Eine rar-Datei zum Download
<?php
/**

namespace ProudCommerce\ArticleRequest\Core;

use OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateRendererBridgeInterface;

use OxidEsales\Eshop\Application\Model\Article;
use OxidEsales\Eshop\Core\Registry;

class Email extends Email_parent
{
/**
* Email template notification info
*
* @var string
*/
protected $_sArticleRequestNotificationTemplate = ‘email/ps_article_request_notification.tpl’;

/**
 * Email template request info
 * @var string
 */
protected $_sArticleRequestCustomerTemplate = 'email/ps_article_request_customer_email.tpl';

/**
 * Send notification to user who subscribes for article request
 *
 * @param $aParams
 * @param $oArticleRequest
 * @return mixed
 */

private function getRenderer()
{
    $bridge = $this->getContainer()->get(TemplateRendererBridgeInterface::class);
    $bridge->setEngine($this->_getSmarty());

    return $bridge->getTemplateRenderer();
}

public function sendArticleRequestNotification($aParams, $oArticleRequest)
{
    $this->_clearMailer();
    $oShop = $this->_getShop();

    //set mail params (from, fromName, smtp)
    $this->_setMailParams($oShop);

    $iRequestLang = $oArticleRequest->psarticlerequest__oxlang->value;

    /** @var Article $oArticle */
    $oArticle = oxNew(Article::class);
    $oArticle->loadInLang($iRequestLang, $aParams['aid']);
    $oLang = Registry::getLang();

    // create messages
    $renderer = $this->getRenderer();

	
    $this->setViewData("product", $oArticle);

    // Process view data array through oxOutput processor
    $this->_processViewArray();
    $mailContent = $renderer->renderTemplate($this->_sArticleRequestNotificationTemplate, $this->getViewData());

    $this->setRecipient($aParams['email'], $aParams['email']);
    $this->setSubject($oLang->translateString('PS_ARTICLEREQUEST_SEND_SUBJECT', $iRequestLang) . " " . $oArticle->oxarticles__oxtitle->value);
    $this->setBody($mailContent);

    return $this->send();
}

/**
 * Send request information with new stock to user
 *
 * @param $sRecipient
 * @param $oArticleRequest
 * @param null $sBody
 * @param null $sReturnMailBody
 * @return mixed
 */
public function sendArticleRequestToCustomer($sRecipient, $oArticleRequest, $sBody = null, $sReturnMailBody = null)
{
    $myConfig = $this->getConfig();
    $this->_clearMailer();

    $iRequestLang = $oArticleRequest->psarticlerequest__oxlang->value;
    $oShop = $this->_getShop($iRequestLang);

    //set mail params (from, fromName, smtp)
    $this->_setMailParams($oShop);

    //create messages
    $oLang = Registry::getLang();
    $renderer = $this->getRenderer();
    $this->setViewData("shopTemplateDir", $myConfig->getTemplateDir(false));
    $oArticle = $oArticleRequest->getArticle();
    $this->setViewData("product", $oArticle);
    $this->setViewData("oArticleRequest", $oArticleRequest);

    // Process view data array through oxOutput processor
    $this->_processViewArray();

    $aStore['INCLUDE_ANY'] = $oSmarty->security_settings['INCLUDE_ANY'];
    //V send email in order language
    $iOldTplLang = $oLang->getTplLanguage();
    $iOldBaseLang = $oLang->getTplLanguage();
    $oLang->setTplLanguage($iRequestLang);
    $oLang->setBaseLanguage($iRequestLang);

    $oSmarty->security_settings['INCLUDE_ANY'] = true;
    // force non admin to get correct paths (tpl, img)
    $myConfig->setAdminMode(false);
	
    $this->setBody($renderer->renderTemplate($this->_sArticleRequestCustomerTemplate, $this->getViewData()));

    $myConfig->setAdminMode(true);
    $oLang->setTplLanguage($iOldTplLang);
    $oLang->setBaseLanguage($iOldBaseLang);
    // set it back
    $oSmarty->security_settings['INCLUDE_ANY'] = $aStore['INCLUDE_ANY'];

    $this->setRecipient($sRecipient, $sRecipient);
    $this->setSubject($oLang->translateString('PS_ARTICLEREQUEST_SEND_SUBJECT_AV', $iRequestLang) . " " . $oArticle->oxarticles__oxtitle->value);

    $this->addAddress($sRecipient, $sRecipient);
    $this->setReplyTo($oShop->oxshops__oxorderemail->value, $oShop->oxshops__oxname->getRawValue());

    if ($sReturnMailBody) {
        return $this->getBody();
    } else {
        return $this->send();
    }
}

}

Ok. Komischwerweise funktioniert nun der Link. Warum auch immer.
Aber, ich habe nun den Fehler bei mir gefunden. Stimmt alles überein mit Deinem Code. Ausser, die Erweiterung $this->getViewData(). Diese hatte ich nicht in den beiden Zeilen. Hatte ich auch nie gefunden in den ganzen Beiträgen bzw. übersehen (?).

Nun funktioniert alles!

Danke @rubbercut

Nein, dieser Inhalt ist, wie beschrieben, ohne Änderung einfach zu übernehmen (…). Beim Kopieren und Verändern muss man halt genau hinschauen.

So lernt man dazu. Danke nochmals.