Where Bedingung beim dynamischen Auswahlfeld

Mehr
22 Mai 2015 02:28 #2840 von Eugen
Eugen erstellte das Thema Where Bedingung beim dynamischen Auswahlfeld
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:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
24 Mai 2015 09:56 #2843 von time4mambo
time4mambo antwortete auf das Thema: Where Bedingung beim dynamischen Auswahlfeld
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
25 Mai 2015 00:55 #2848 von Eugen
Eugen antwortete auf das Thema: Where Bedingung beim dynamischen Auswahlfeld
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
25 Mai 2015 11:24 #2850 von time4mambo
time4mambo antwortete auf das Thema: Where Bedingung beim dynamischen Auswahlfeld
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
27 Mai 2015 10:14 #2864 von Eugen
Eugen antwortete auf das Thema: Where Bedingung beim dynamischen Auswahlfeld
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum