Hallo,
Redakteure können beim Bearbeiten eines Dokumentes eine ID eingeben, um eine entsprechende externe Seite aufrufen lassen zu können (hier die ID eines Preisteils, Datenfeld we:input "preisteilid", z.B. "133").
Wie bekomme ich jetzt umgekehrt via PHP anhand des Datenfeldes "preisteilid" die ID des Dokuments heraus, das für "preisteilid" als Inhalt die "133" hat?
Alle Code-Beispiele, die ich bisher gefunden habe, gehen von einer vorhandenen ID des Dokumentes aus, aber die suche ich ja gerade anhand des Inhaltes eines anderen Dokumentenfeldes.
Hat jemand eine Idee?
Herzlichen Dank,
Matthias
Wie finde ich die ID eines Dokuments anhand eines anderen Datenfeldes?
Re: Wie finde ich die ID eines Dokuments anhand eines anderen Datenfeldes?
Das ist ein etwas ungewöhnlicher Ansatz.
Du suchst also die Rückrichtung. Das geht idr. über eine listview, denn natürlich kann es ja auch mehr als ein Dokument geben in dem das drin steht.
So müßte das eigentlich passen. Hab es aber nicht getestet.
Du suchst also die Rückrichtung. Das geht idr. über eine listview, denn natürlich kann es ja auch mehr als ein Dokument geben in dem das drin steht.
Code: Alles auswählen
<we:field name="preisteilid" to="global"/>
<we:condition name="searchPreis">
<we:conditionAdd field="preisteilid" value="\$preisteilid" compare="="/>
</we:condition>
<we:listview type="document" condition="searchPreis">
</we:listview>
webEdition-Kern-Entwickler
Re: Wie finde ich die ID eines Dokuments anhand eines anderen Datenfeldes?
Danke für die schnelle Antwort.
Das Datenfeld "preisteilid" sollte eigentlich immer eindeutig sein. Aber ich werde Deinen Ansatz einmal testen, danke!
Das Datenfeld "preisteilid" sollte eigentlich immer eindeutig sein. Aber ich werde Deinen Ansatz einmal testen, danke!
Re: Wie finde ich die ID eines Dokuments anhand eines anderen Datenfeldes?
Eine reine PHP-Abfrage über die Datenbank gibt es dafür aber nicht?
So etwas wie?
echo f("SELECT ID FROM " . CONTENT_TABLE . " WHERE preisteilid=14");
So etwas wie?
echo f("SELECT ID FROM " . CONTENT_TABLE . " WHERE preisteilid=14");
Re: Wie finde ich die ID eines Dokuments anhand eines anderen Datenfeldes?
Zum einen würde ich dir empfehlen die Eingabe nicht per ID zu machen, sondern auf ein href o.ä. zu gehen. Das ist dann auch etwas komfortabler für den Bearbeiter.
Natürlich kannst du auch die DB direkt befragen, dann bist du nur nicht mehr wirklich updatesicher, denn die Datenstrukturen da können sich durchaus mal ändern. Generell ist die Suche, ohne weitere Einschränkungen nach einem Datenfeld nicht sehr effizient.
Natürlich kannst du auch die DB direkt befragen, dann bist du nur nicht mehr wirklich updatesicher, denn die Datenstrukturen da können sich durchaus mal ändern. Generell ist die Suche, ohne weitere Einschränkungen nach einem Datenfeld nicht sehr effizient.
webEdition-Kern-Entwickler
Re: Wie finde ich die ID eines Dokuments anhand eines anderen Datenfeldes?
Vielen Dank. Leider kann ich nicht ganz nachvollziehen, was Du mit der Eingabe per "href" und der Vereinfachung für den Bearbeiter meinst. Die Zahl ist hier Teil des Pfades zur externen Seite. Einfach als die Zahl hier einzugeben, geht es eigentlich nicht.
Ich brauche auch nur die ID bzw. den Pfad eines Dokuments, das einen bestimmten Wert im Datenfeld "preisteilid" hat, da es sich um eine Verlinkung aus einem extrenen Script heraus handelt, das lässt sich aktuell anders leider nicht regeln.
Insgesamt geht es hier um eine Verbindung mit einer vollkommen unabhängigen externen Software, so dass wir leider an die technischen Gegebenheiten gebunden sind. Deshalb auch der rückwärtige Weg über die Datenfelder.
Trotzdem vielen Dank für die schnellen Antworten!
Ich brauche auch nur die ID bzw. den Pfad eines Dokuments, das einen bestimmten Wert im Datenfeld "preisteilid" hat, da es sich um eine Verlinkung aus einem extrenen Script heraus handelt, das lässt sich aktuell anders leider nicht regeln.
Insgesamt geht es hier um eine Verbindung mit einer vollkommen unabhängigen externen Software, so dass wir leider an die technischen Gegebenheiten gebunden sind. Deshalb auch der rückwärtige Weg über die Datenfelder.
Trotzdem vielen Dank für die schnellen Antworten!
Re: Wie finde ich die ID eines Dokuments anhand eines anderen Datenfeldes?
Ok, verstehe.Vielen Dank. Leider kann ich nicht ganz nachvollziehen, was Du mit der Eingabe per "href" und der Vereinfachung für den Bearbeiter meinst. Die Zahl ist hier Teil des Pfades zur externen Seite. Einfach als die Zahl hier einzugeben, geht es eigentlich nicht.
Wenn es PHP sein soll/muß, kannst du es so raussuchen:
Code: Alles auswählen
$myID=1234;
$data=getHash('SELECT f.Path,c.DID FROM '.CONTENT_TABLE.' c JOIN '.FILE_TABLE.' f ON f.ID=c.DID WHERE c.DocumentTable="tblFIle" AND c.nHash=md5("preisteilid") AND c.Dat="'.$myID.'" LIMIT 1');
webEdition-Kern-Entwickler
Re: Wie finde ich die ID eines Dokuments anhand eines anderen Datenfeldes?
Wow, kein Wunder, dass ich hier an meine Grenzen stosse. Werde versuchen , dass an die WE-Version des Kunden anzupassen.
Herzlichen Dank erstmal!
Herzlichen Dank erstmal!
Re: Wie finde ich die ID eines Dokuments anhand eines anderen Datenfeldes?
deshalb ist ja auch die reine WE-Lösung zu bevorzugen, auch wenn diese etwas mehr Overhead hat. Der Kode von mir funktioniert auch erst ab WE 8, davor braucht man noch ein JOIN mehr.
webEdition-Kern-Entwickler
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast