Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: Where Bedingung beim dynamischen Auswahlfeld

Where Bedingung beim dynamischen Auswahlfeld 22 Mai 2015 02:28 #2840

  • Eugen
  • Eugens Avatar
  • OFFLINE
  • Beiträge: 3
Hallo liebe SEBLOD® Freunde,

Erstmal, ein riesen Dankeschön für dieses großartige Forum, einige Beiträge haben mir schon ziemlich gut geholfen (Daumen hoch).

Ich bin seit einer Weile dabei mich in SEBLOD® einzuarbeiten und nun an ein Problem gestoßen wo eine kleine Hilfestellung von erfahrenen SEBLOD® Spezialisten ganz willkommen wäre.

Kurze Erläuterung: Registrierte und eingeloggte User können beliebig viele Projekte und Teilprojekte anlegen. Bei Anlage eines Teilprojektes zu einem Projekt, sollen die User mittels dynamischen Auswahlfeldes nur ihre eigenen Projekte sehen und selektieren können. D.h. die Where Bedingung muss userspezifisch ausgelegt sein.
Bisher habe ich leider immer nur Fixwerte in Tutorials und Dokus gesehen, was natürlich funktioniert. Gibt es aber eine Möglichkeit wie man z.B. die ermittelte ID des gerade eingeloggten Users in die Where Bedingung einbauen kann?

Mein Lösungsgedanke sieht in etwa so aus, jedoch habe ich noch keine Idee wie und an welche Stelle ich dies am besten einbauen soll, oder ob ich mir hierfür sogar ein eigenen Feldtypen basteln muss:

$user = JFactory::getUser();

if (!$user->guest) {
$user_id = $user->get('id');
}
SELECT ktext FROM #__projekt WHERE user_id = $user_id;

Bin euch für jeden Rat und Denkansatz dankbar.

Gruß Eugen
Anhang:
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Where Bedingung beim dynamischen Auswahlfeld 24 Mai 2015 09:56 #2843

  • time4mambo
  • time4mambos Avatar
  • OFFLINE
  • Mal gucken ob was passiert...
  • Beiträge: 913
  • Dank erhalten: 177
Sei Willkommen im Forum! :)
Du musst die SQL-Anweisung lediglich in der gewünschten Joomla-PHP-Syntax einbauen, dann kannst du natürlich auch dynamische Werte übergeben. Ich selber bin viel zu lange draussen aus der PHP-Programmierung, wie ich leider zugeben muss, um das mal eben aus dem Ärmel zu schütteln, aber in etwa so:
{
		$db		= JFactory::getDbo();
		$query	= $db->getQuery(true);
		$query->clear();
		$query->select('COUNT(id)');
		$query->from('#__mythings');
		$db->setQuery($query);
		$things = $db->loadResult();
		return $things;
	}

Das ist nun eine simple Zählabfrage. Eine Bedingung kannst du so übergeben:
$query->where('cat.id=my.category_id');
Einbauen würde ich persönlich das beispielsweise in einem Template-Override. Wo man es noch einbauen kann, da musst warten, bis einer der Programmierspezialisten hier vorbeischaut ;)
Aber als erster Gedanke hilft es dir vielleicht weiter.


Axel
Das SEBLOD®-Handbuch auf Amazon
Tutorials zu Joomla und MS-Office: www.time4joomla.de
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Where Bedingung beim dynamischen Auswahlfeld 25 Mai 2015 00:55 #2848

  • Eugen
  • Eugens Avatar
  • OFFLINE
  • Beiträge: 3
Hallo Axel,

danke für den Ratschlag, werde mal ausprobieren ob ich die Syntax noch irgendwie richtig zusammen bekomme. Ansonsten durchforste ich noch weiter das Internet nach nützlichen Informationen.

Grüße Eugen
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Where Bedingung beim dynamischen Auswahlfeld 25 Mai 2015 11:24 #2850

  • time4mambo
  • time4mambos Avatar
  • OFFLINE
  • Mal gucken ob was passiert...
  • Beiträge: 913
  • Dank erhalten: 177
Die Syntax ist schon richtig - du musst das nun lediglich auf deine Bedürfnisse anpassen.


Axel
Das SEBLOD®-Handbuch auf Amazon
Tutorials zu Joomla und MS-Office: www.time4joomla.de
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Where Bedingung beim dynamischen Auswahlfeld 27 Mai 2015 10:14 #2864

  • Eugen
  • Eugens Avatar
  • OFFLINE
  • Beiträge: 3
Ich habe mal wieder zu kompliziert gedacht.

Für alle die es auch interessiert, die Lösung schaut so aus:

SELECT ktext FROM #__projekt WHERE user_id = $user->id;

Gruß Eugen
Der Administrator hat öffentliche Schreibrechte deaktiviert.
nach oben