Wunschliste / Merkzettel immer auf Öffentlich schalten?

babulsa

Aktives Mitglied
3. Juli 2014
5
0
Guten Tag liebe Forummitglieder,

ich habe ein Anliegen bzgl. des Wunschzettels und bräuchte da Hilfe.

Die von JTL Shop 3 erstellten Wunschzettel, egal ob nach anklicken des "in den Wunschzettel"-Buttons oder beim anlegen eines neuen Wunschzettels unter "mein Konto" sind immer auf privat eingestellt.

Mein Anliegen ist es, dass der Wunschzettel immer auf Öffentlich gesetzt ist, ohne dass man extra die dazu angeführten Links auf den Seiten "mein konto" bzw. "mein Wunschzettel" klicken muss. (Das ist für mich sehr wichtig!)

Nun habe ich die Php-datein durchforstet und in "Wunschliste.php" bin ich auf einige Codeschnippsel gestoßen,
z.B.
Code:
// Falls Wunschliste vielleicht vorhanden aber nicht öffentlich
if(verifyGPCDataInteger("error") == 1)
{
    if(strlen($cURLID) > 0)
    {
        $oWunschliste = $GLOBALS['DB']->executeQuery("SELECT kWunschliste, nOeffentlich
                                                        FROM twunschliste
                                                        WHERE cURLID='" . $cURLID . "'", 1);

        if($oWunschliste->kWunschliste > 0 && $oWunschliste->nOeffentlich > 0)
        {
            $smarty->assign("cFehler", sprintf($GLOBALS['oSprache']->gibWert('nowlidWishlist', 'messages'), $cURLID));
        }
        else
            $smarty->assign("cFehler", sprintf($GLOBALS['oSprache']->gibWert('nowlidWishlist', 'messages'), $cURLID));
    }
    else
        $smarty->assign("cFehler", sprintf($GLOBALS['oSprache']->gibWert('nowlidWishlist', 'messages'), $cURLID));
}


oder
Code:
// Kampagne Öffentlicher Wunschzettel
if(isset($CWunschliste->kWunschliste) && $CWunschliste->kWunschliste > 0)
{
    $oKampagne = new Kampagne(KAMPAGNE_INTERN_OEFFENTL_WUNSCHZETTEL);

    if(isset($oKampagne->kKampagne) && isset($oKampagne->cWert) && strtolower($oKampagne->cWert) == strtolower(verifyGPDataString($oKampagne->cParameter)))
    {
        $oKampagnenVorgang = new stdClass();
        $oKampagnenVorgang->kKampagne         = $oKampagne->kKampagne;
        $oKampagnenVorgang->kKampagneDef     = KAMPAGNE_DEF_HIT;
        $oKampagnenVorgang->kKey             = $_SESSION['oBesucher']->kBesucher;
        $oKampagnenVorgang->fWert             = 1.0;
        $oKampagnenVorgang->cParamWert         = $oKampagne->cWert;
        $oKampagnenVorgang->dErstellt        = "now()";

        $GLOBALS['DB']->insertRow("tkampagnevorgang", $oKampagnenVorgang);

        // Kampagnenbesucher in die Session
        $_SESSION['Kampagnenbesucher'] = new stdClass();
        $_SESSION['Kampagnenbesucher'] = $oKampagne;
    }
}


(Die beiden Codes sind hier komplett unverändert vom der orginalen wunschliste.php-datei dargestellt.)

Wenn ich dort Änderungen vornehme, komme ich nicht zum gewünschten Ergebnis.
Nun wollte ich wissen, welche Datei ich ändern muss, bzw. welche Codeabschnitte und wie, damit ich auf das gewünschte Ergebnis komme.

Bitte um Hilfe!!
 

babulsa

Aktives Mitglied
3. Juli 2014
5
0
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

(Der Wunschzettel soll immer auf öffentlich geschaltet sein, damit ich die Funktion "Wunschzettel an Freunde senden" (via Email) immer nutzen kann)
 

RAP4 Deutschland

Aktives Mitglied
13. Juni 2013
143
0
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

Also ich bin mir nicht sicher ob du mit diesen beiden Dateien da weiter kommtst. Aber eigentlich musst du ja nur in der Datenbank etwas verändern.
In der Tabelle twunschliste
findest du hier die Zeile "nOeffentlich" darüber könntest du das Steuern. Entweder verändert du die Datei die den Wunschzettelspeichert oder du machst dir ein Plugin dafür das die Wunschzettel immer öffentlich gesetzt werden. Aber die Codeschnipsel von oben lesen nur die Daten aus aber legen diese nicht in der Datenbank ab.
Auf jeden Fall ist der Weg zu deinem Ziel der einfachste wenn due mit nOeffentlich arbeitest in der DB.
 

babulsa

Aktives Mitglied
3. Juli 2014
5
0
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

Erst einmal vielen Dank RAP4 Deutschland :)

Ich habe jetzt mal nachgeschaut mit der Suchfunktion und habe unter update\219\update1.sql die Zeile mit `twunschliste` und `nOeffentlich`gefunden, nehme mal jetzt an das du diese DB meintest.(fals nicht bitte ich um Dateiangabe bzw. Pfadangabe zur Datei)

Könntest du mir einen Tip geben wie ich das Ändern sollte um zum gewünschten Ergebnis zu kommen.
Vielen Dank im voraus.
 

RAP4 Deutschland

Aktives Mitglied
13. Juni 2013
143
0
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

Das ist die richtige DB. da ich nun nicht weiß ob jeder wunschzettel immer öffentlich sein soll oder nur wenn man einen Anlegen möchte gibt es hier nun mehrere
Möglichkeiten. Wenn alle Wunschzettel immer öffentlich sein sollen, dann würde ich mir ein Plugin machen das twunschliste ausliest und prüft ob der Wunschzettel öffentlich ist oder nicht, wenn er nicht öffentlich ist, dann lass PHP ein DB Update in dieser Zeile machen und den Wunschzettel öffentlich machen.

Wenn du nur möchtest das der Wunschzettel beim Anlegen öffentlicht ist würde ich versuchen mit php ein DB Update zu machen und ihn evtl. nachträglich auf öffentlich zu machen.

Aber es gibt bestimmt noch viel mehr Möglichkeiten dazu. Das war nun nur mal so ein spontaner Gedanke von mir.
 

MBesancon

Administrator
Mitarbeiter
1. Oktober 2010
2.049
184
Erkelenz
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

Niemand sollte manuell in die Datenbank eingreifen. Das Rap4Deutschland hier derartige Tipps gibt ist unverantwortlich! Oder kannst du garantieren das hierdurch keine Folgeprobleme entstehen? Bitte unterlasse es in Zukunft solche Tipps zu geben. Bei einem Benutzer der in solchen Sachen unbedarft ist kann das hier schnell zu einem Super-GAU führen. Ich kann hier nochmals nur empfehlen keine Änderungen direkt an der DB oder an Core-Dateien (auch wenn dies hier nicht der Fall ist) vorzunehmen!
 

babulsa

Aktives Mitglied
3. Juli 2014
5
0
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

Lieber MBesancon,
ich habe noch keine Änderungen an den Datenbanken vorgenommen und habe es denke auch nach dieser Aussage nicht vor, jedoch brauche ich die Funktion, dass die Wunschzettel ständig öffentlich sind, oder, dass ich die Wunschliste an Freunde via Email verschicken kann ohne dass der Wunschzettel öffentlich sein muss.

Brauche bitte einen Rat. Danke im voraus.
 

casim

Sehr aktives Mitglied
26. Juni 2012
5.934
9
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

Das Rap4Deutschland hier derartige Tipps gibt ist unverantwortlich!

Vor allem wenn er in anderen Beiträgen lapidar erklärt, dass er weder für Support noch für Probleme zur Verfügung steht und man seine "Plugins" so nehmen muss wie sie sind und wenn was knallt man eben Pech hat.

Aber Marcel .. solche Tipps sind doch geil ... euer Support langweilt sich doch eh zu Tode und dann kommen solche halbgaren Tipps doch gerade recht, wenn danach der Shop nicht mehr läuft oder aber das nächste Shop-Update gegen die Wand läuft, weil außerhalb jeglicher Spezifikation an der Shop-DB rum geschraubt wurde.
 

RAP4 Deutschland

Aktives Mitglied
13. Juni 2013
143
0
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

OK wenn man hier nichts in der Datenbank verändern soll dann wüsste ich jetzt nur noch eins wie du das hinbekommen kannst.
Weiß aber natürlich nicht ob dein PHP dafür ausreicht, aber du könntest natürlich auch einfach die Variable in Smarty mit PHP so verändern das diese immer
anzeigt das der Wunschzettel öffentlich sein soll.

Sonst wüste ich jetzt auch nichts anderes.
 

babulsa

Aktives Mitglied
3. Juli 2014
5
0
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

Also das mit den verändern der DB hätte ich hinbekommen, bei Smarty Programmierungen mit PHP bin ich nicht so gut.
Gibt es nicht ein Plugin oder ähnliches schon für den JTL Shop 3 ? Oder RAP4 Deutschland bietest du so ein Plugin auf deiner Seite (RAP4 Deutschland Plugins für den JTL Shop3) an ?
 

RAP4 Deutschland

Aktives Mitglied
13. Juni 2013
143
0
AW: Wunschliste / Merkzettel immer auf Öffentlich schalten?

Ich hab noch nie was mit der Wunschliste gemacht da die eher unwichtig für mich ist.
Kenne auch kein Plugin was das machen könnte. Aber du könntest ja mal ag websolution oder so jemanden Fragen ob er dir sowas programmiert.
 

zzzZZZzzz

Gut bekanntes Mitglied
21. Januar 2022
135
12
Ich buddle mal diesen Thread aus, da er bei der Suche zu diesem Thema stets der erste Treffer war.

Ich habe es umgesetzt. In der / shop-jtl-live/includes/src/Catalog/Wishlist/Wishlist.php schaut die Funktion save nun so aus:
https://pastebin.com/saAVeqpL