Vanilla 1.1.2 Forum von Lussumo. Weitere Informationen: Dokumentation, Community.

    • CommentAuthorkatong666
    • CommentTime08.02.2010
     permalink
    Hi zusammen,

    ich muss basierend auf einer alten Datenbank eine neue Seite aufsetzen, in der ich Werte aus der bestehenden DB auslesen. Die DB wurde seinerzeits von "hand" angelegt und läuft also parallel zu den ModxTabellen.

    Wenn ich ein snippet anlege und eine DB Abfrage wie folgt schreibe:

    $prod_id = '1';
    $queryProdukt=$modx->db->select('*','produkte','id=' . $prod_id);
    $anProdukt = $modx->db->getRow($queryProdukt);


    funktioniert die ausgabe über Echo wunderbar.

    Jetzt habe ich den Produkten über TV die "alten" Produkt IDs zugewiesen und möchte wie folgt die abfrage schreiben:

    $prod_id = '[*id_produkte_tv*]';
    $queryProdukt=$modx->db->select('*','produkt_facts','produkt_id=' . $prod_id);
    $anProdukt = $modx->db->getRow($queryProdukt);


    Das funktioniert jetzt wiederrum nicht. Eine Testausgabe von [*id_produkte_tv*]' innerhalb eines Echobefehls zeigt mir den richtigen Wert an, aber bei der DB Abfrage bekomme ich nur Parse fehler!

    jmd eine Idee?
    • CommentAuthorBruno
    • CommentTime08.02.2010
     permalink
    Eine Testausgabe von [*id_produkte_tv*]' innerhalb eines Echobefehls zeigt mir den richtigen Wert an, aber bei der DB Abfrage bekomme ich nur Parse fehler!


    klar, der modx-parser kann ja auch was mit [*id_produkte_tv*] anfangen. Eine produkt_id mit [*id_produkte_tv*] wirds wohl aber nicht geben und vermutlich wird hier von mysql auch kein string, sondern ein integer-wert erwartet.

    probier das mal:
    $tvs=$modx->getTemplateVarOutput('id_produkte_tv');
    $rs=$modx->db->select('*','produkt_facts','produkt_id=' . $tvs['id_produkte_tv']);
    $anProdukt = $modx->db->getRow($rs);
    • CommentAuthorkatong666
    • CommentTime08.02.2010
     permalink
    Hi, ich hab es jetzt auch anderes hinbekommen.. bei der snippetabfrage schick ich einfach die "Produkt ID" als var mit

    [!snippet? &prodID=`[*id_produkte_tv*]`!] ...

    im snippet wird dann $prodID auch richtig als integer erkannt.

    Deine Lösung teste ich aber auch gleich mal.

    Besten Dank