Neu Exportformat "Keine Preissuchmaschinen" auch keine Lösung!!!

  • Ersteller des Themas Ersteller des Themas Dustin
  • Erstellungsdatum Erstellungsdatum

Dustin

Sehr aktives Mitglied
14. Mai 2008
3.000
53
Enger
Hi all,

für die Klickportale "Google Shopping" etc. wollen wir nicht alle Artikel aus dem Shop exportieren. Das geht natürlich über das Funktionsattribut "Keine Preissuchmaschinen" gut.

Aber wir brauchen 2 Feeds wo trotzdem alle Artikel exportiert werden! Wie löse ich das am besten?

Ich dachte mir das ich einfach ein neues Funktionsattribut anlege "Keine Clickportale" und dann eine If Abfrage im Export mache wenn das gesetzt ist dann nicht exportieren.... würde ansich funktionieren nur habe ich dann das Problem mit Google Shopping da ich in dem JTL Plugin diese IF Abfrage nicht einsetzen kann!

Hatte sonst noch keiner solch ein Problem? Es wäre echt super wenn im JTL Shop sowas etwas flexibler wäre.

LG Dustin
 

Dustin

Sehr aktives Mitglied
14. Mai 2008
3.000
53
Enger
So ich habe jetzt mal folgendes ausprobiert in der class.jtl-shop.exportformat.php leider greift das nicht richtig. bei dem Feed 'Affilinet' werden jetzt 0 Artikel exportiert.

Das ist mein Code:

PHP:
 if($this->getName() === 'affilinet')
        {
        //$join2 = " LEFT JOIN tartikelattribut ON tartikelattribut.kArtikel = tartikel.kArtikel
          //   AND tartikelattribut.cName = '" . FKT_ATTRIBUT_KEINE_PREISSUCHMASCHINEN . "' ";
        //$where .= " tartikelattribut.kArtikelAttribut IS NULL ";
        } else {
        $join2 = " LEFT JOIN tartikelattribut ON tartikelattribut.kArtikel = tartikel.kArtikel
             AND tartikelattribut.cName = '" . FKT_ATTRIBUT_KEINE_PREISSUCHMASCHINEN . "' ";
        $where .= " tartikelattribut.kArtikelAttribut IS NULL ";
        }
        

        return "SELECT " . $select . "
            FROM tartikel
            " . $join2 . "           
            " . $join . "
            LEFT JOIN tartikelsichtbarkeit ON tartikelsichtbarkeit.kArtikel = tartikel.kArtikel
                AND tartikelsichtbarkeit.kKundengruppe = " . $this->getKundengruppe() . "
            WHERE " . $where . "
                AND tartikelsichtbarkeit.kArtikel IS NULL " . $condition . $limit;
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
233
Mach es doch über "Kundengruppen" ... weise den Artikel unterschiedliche Kundengruppe zu und bestimme im Exportformat welche KuGru greifen soll
 

Dustin

Sehr aktives Mitglied
14. Mai 2008
3.000
53
Enger
Hi Gerd,

leider geht das aufgrund der Sonderpreiskalkulation nicht über die Kundengruppen. Den Ansatz hatten wir früher und ist nicht praktikabel.

Hast du noch eine andere Idee?

LG Dustin
 

titaps

Aktives Mitglied
28. März 2018
27
3
Grünstadt
Man kann in der JTL-Shop Klasse 'includes/src/Export/FormatExporter.php' das Quellcode für bestimmte Exportvorlagen so anpassen, dass das Attribut 'keine Preissuchmaschinen' nicht mehr greift:

/** 2022-12-16: Funktionsattribut 'keine Preissuchmaschine' für Exportvorlage 'Facebook Produktkatalog' nicht berücksichtigen*/
if ($this->model->getName() === 'Facebook Produktkatalog') {
return 'SELECT ' . $select . "
FROM tartikel
LEFT JOIN tartikelattribut ON tartikelattribut.kArtikel = tartikel.kArtikel
AND tartikelattribut.cName = '" . \FKT_ATTRIBUT_KEINE_PREISSUCHMASCHINEN . "'
" . $join . '
LEFT JOIN tartikelsichtbarkeit ON tartikelsichtbarkeit.kArtikel = tartikel.kArtikel
AND tartikelsichtbarkeit.kKundengruppe = ' . $this->model->getCustomerGroupID() . '
WHERE tartikelsichtbarkeit.kArtikel IS NULL' . $where . '
AND tartikelsichtbarkeit.kArtikel IS NULL ' . $condition . $limit;
} else {
return 'SELECT ' . $select . "
FROM tartikel
LEFT JOIN tartikelattribut ON tartikelattribut.kArtikel = tartikel.kArtikel
AND tartikelattribut.cName = '" . \FKT_ATTRIBUT_KEINE_PREISSUCHMASCHINEN . "'
" . $join . '
LEFT JOIN tartikelsichtbarkeit ON tartikelsichtbarkeit.kArtikel = tartikel.kArtikel
AND tartikelsichtbarkeit.kKundengruppe = ' . $this->model->getCustomerGroupID() . '
WHERE tartikelattribut.kArtikelAttribut IS NULL' . $where . '
AND tartikelsichtbarkeit.kArtikel IS NULL ' . $condition . $limit;
}
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.692
2.724
Berlin
Firma
css-umsetzung
SO ähnlich habe ich es auch gemacht nur das ich bei dem Namen auf enthält google prüfe.
Das muss aber im Google Plugin und in der Export Datei gemacht werden wenn das Attr. nur bei Google verwendet werden soll.
 

Alexander S.

Aktives Mitglied
9. Juli 2019
1
0
Wenn die Exporte auch über den Export-Manager ohne "keine Preissuchmaschiene" erstellt werden sollen, muss auch die "getExportSQL" in der datei /includes/src/Exportformat,php:z878 angepasst werden:


PHP:
        if ($this->getName() === 'ExportName') {
            return 'SELECT ' . $select . "
            FROM tartikel
            LEFT JOIN tartikelattribut ON tartikelattribut.kArtikel = tartikel.kArtikel
            AND tartikelattribut.cName = '" . \FKT_ATTRIBUT_KEINE_PREISSUCHMASCHINEN . "'
            " . $join . '
            LEFT JOIN tartikelsichtbarkeit ON tartikelsichtbarkeit.kArtikel = tartikel.kArtikel
            AND tartikelsichtbarkeit.kKundengruppe = ' . $this->getKundengruppe() . '
            WHERE tartikelsichtbarkeit.kArtikel IS NULL' . $where . '
            AND tartikelsichtbarkeit.kArtikel IS NULL ' . $condition . $limit;
        } else {
            return 'SELECT ' . $select . "
            FROM tartikel
            LEFT JOIN tartikelattribut ON tartikelattribut.kArtikel = tartikel.kArtikel
                AND tartikelattribut.cName = '" . \FKT_ATTRIBUT_KEINE_PREISSUCHMASCHINEN . "'
            " . $join . '
            LEFT JOIN tartikelsichtbarkeit ON tartikelsichtbarkeit.kArtikel = tartikel.kArtikel
                AND tartikelsichtbarkeit.kKundengruppe = ' . $this->getKundengruppe() . '
            WHERE tartikelattribut.kArtikelAttribut IS NULL' . $where . '
                AND tartikelsichtbarkeit.kArtikel IS NULL ' . $condition . $limit;
        }

Sollte unter 5.1.5 und 5.2.x funktionieren.
 

Ähnliche Themen