Ergebnis 1 bis 11 von 11

Thema: $this->raw['sku'] aktualisieren?

  1. #1
    Contao-Nutzer Avatar von bastler
    Registriert seit
    15.10.2010.
    Beiträge
    52

    Standard $this->raw['sku'] aktualisieren?

    Hallo Leutz,

    kurze Einleitung:

    Habe mir ein Attribute angelegt (sku_hersteller).Dieses lasse ich mir per
    HTML-Code:
    $this->raw['sku_hersteller'];
    im Produktreader anzeigen. Da ich mit diesem Wert weiterarbeiten möcht kann ich nicht
    HTML-Code:
    $this->sku_hersteller;
    verwenden da in diesem Fall ja ein DIV drumgebaut wird.
    Ach folgende Lösung führte nich zum Erfolg:
    HTML-Code:
    $tagsAsArray = explode('>', $this->sku_hersteller);
    $tagsAsArray2 = explode('<', $tagsAsArray[1]);
    $hersku = $tagsAsArray2[0];
    
    if ($hersku == '2'):
    echo "Hersteller  ist 2";
    endif:
    //Die if-Schleife ist nur als Beispiel zu sehen
    Nun meine Frage:Wie schaffe ich es das dieser Wert auch aktualisiert wird? Denn wenn ich das
    DIV drumbauen lasse wird es ja aktualisiert.

    Besten Dank Basti

  2. #2
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard AW: $this->raw['sku'] aktualisieren?

    Dein Problem ist, dass das RAW-Objekt nicht mit im Ajax-Request drin ist.
    Wenn du es so verwenden möchtest, musst du wohl selbst einen Ajax-Request absetzen.

    Mal ein paar Hintergrundfragen:
    Wozu machst du das?
    Ist es ein Attribut, das durch den Kunden wählbar ist?
    Wie willst du das ganze weiter verarbeiten, das dich das DIV stört?
    Kannst du dir den Wert nicht einfacher mit JS dort rausholen?

    Gruß Kirsten

    Gesendet von meinem Nexus 7 mit Tapatalk 2
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  3. #3
    Contao-Nutzer Avatar von bastler
    Registriert seit
    15.10.2010.
    Beiträge
    52

    Standard

    Zitat Zitat von KATgirl Beitrag anzeigen
    Wenn du es so verwenden möchtest, musst du wohl selbst einen Ajax-Request absetzen.
    Wie mache ich das? Binhalt nicht ganz so fit in JS bzw AJAX!

    Zitat Zitat von KATgirl Beitrag anzeigen
    Mal ein paar Hintergrundfragen:
    Wozu machst du das?
    Wie willst du das ganze weiter verarbeiten, das dich das DIV stört?
    Ich habe eine Datenbanktabelle von einem Kunden bekommen in der die Hersteller-sku einem pdf-Dokument auf der Herstellerseite zugeordenet ist. Mit Hilfe einer DB-Abfrage soll dann der dazugehörige Link generiert werden. Dieser
    Link repektive der Dateiname des pdf-Dokumentes ändert sich ab und zu und ist auch bei den Varianten unterschiedlich.
    Da ich meinem Kunden nicht zumuten möchte alle Varianten mit der DB-Tabelle zu vergelichen dachte ich mir das über
    die Hersteller-sku und eier einfachen DB-Abfrage im Readertemplate zu realisieren
    Zitat Zitat von KATgirl Beitrag anzeigen
    Ist es ein Attribut, das durch den Kunden wählbar ist?
    Nein!

    Zitat Zitat von KATgirl Beitrag anzeigen
    Kannst du dir den Wert nicht einfacher mit JS dort rausholen?
    Wie schon oben erwähnt bin ich in JS nich allzu bewandert.Kannst Du ir da einen Tip geben wie und wo ich ansetzen muß?

    Gruß Basti

  4. #4
    Contao-Nutzer Avatar von steff74
    Registriert seit
    01.09.2009.
    Ort
    weinviertel, österreich
    Beiträge
    86

    Standard

    was spricht gegen eine datenbankabfrage in der art "SELECT pdf FROM table WHERE sku_hersteller = $this->raw['sku_hersteller']" ?

  5. #5
    Contao-Nutzer Avatar von bastler
    Registriert seit
    15.10.2010.
    Beiträge
    52

    Standard

    @steff74 die Variable $this->raw['sku_hersteller'] wird nicht aktualisiert wenn ich eine andere Variante wähle.

    Das ist das ganze Problem. Es sei denn Du kannst mir einen Weg aufzeigen wie ich das bewrkstellige.

    basti

  6. #6
    Contao-Nutzer Avatar von steff74
    Registriert seit
    01.09.2009.
    Ort
    weinviertel, österreich
    Beiträge
    86

    Standard

    ok, jetzt versteh ich.
    gibts einen link?

  7. #7
    Contao-Nutzer Avatar von bastler
    Registriert seit
    15.10.2010.
    Beiträge
    52

    Standard

    @ Steff74 Nee einen Link gibt es nicht da lokal auf meinem Rechner. Aber die AJAX-Sache die KATgirl angesprochen hat
    würde mich interessieren. Wie kann ich das machen (bin absoluter noob in Sachen JS).

    basti

  8. #8
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von bastler Beitrag anzeigen
    Aber die AJAX-Sache die KATgirl angesprochen hat
    würde mich interessieren.
    Ich habe gerade mal geschaut, vielleicht brauchst du aber auch keinen eigenen Ajax-Request absetzen, sondern kannst dich an den bestehenden per Hook ansetzen.

    Generell funktioniert das so:
    - du veränderst ein Attribut (dieses wird per JS beobachtet)
    - dann wird ein Request an den Server übermittelt, der dann die Daten neu berechnet und wieder zurück schickt.
    - diese werden dann ausgetauscht und angezeigt

    Wenn du einen langsamen Server hast siehst du auch die Lightbox mit der "Uhr"

    Wie du mit Ajax arbeitest, wird hier ganz gut beschrieben:
    http://www.w3schools.com/ajax/default.asp

    Jetzt zum Hook:
    Schau dir mal den Hook
    $GLOBALS['ISO_HOOKS']['generateAjaxProduct']
    an. Hier kannst du die Attribute noch mal ändern, bevor der Ajax-Output kommt.
    Diesen findest du in der Klasse IsotopeProduct ab Zeile 940. Dann kannst du das ganze per PHP auf dem Server machen und musst nicht dazu noch JS-Code in die Seite bauen.

    Gruß Kirsten
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  9. #9
    Contao-Nutzer Avatar von bastler
    Registriert seit
    15.10.2010.
    Beiträge
    52

    Standard

    Hallo Kirsten,

    danke für deine ausführliche Antwort. Aber wie soll ich die Attribute in diesem Hook ändern?
    Ist mir nicht ganz klar.

    Zum Zweiten kann in der Klasse IsotopeProduct ab Zeile 940 ändern was ich will, es tut sich aber
    nichts im FE-Readertemplate das div wird immernoch erstellt.

    Habe ich da was übersehen oder sehe ich den Wald vor lauter Bäumen nicht?

    Basti

  10. #10
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard AW: $this->raw['sku'] aktualisieren?

    Du sollst nix da Ändern, sondern da steht der Hook. :banghead:

    Fang erstmal an dir ein eigenes Modul zu erstellen. Registriere denn Hook in der Konfig von deinem Modul. Deine Klasse liest dann die Werte in der Funktion ein, diese kannst du dann manipulieren. Hier würde ich den entsprechenden Wert per RegEx filtern und ersetzen. Dann die veränderten Werte wieder zurück geben.

    Hoffe das war jetzt verständlich
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  11. #11
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard $this->raw['sku'] aktualisieren?

    @bastler: wenn du eine Ajax-Aktualisierung willst, brauchst du das DIV.
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •