JEM und contact_details - subQuery oder ..?

  • hallo,

    in #__contact_details halte (u.a.) ich eine Referentenliste, die ich #__jem_events zuordne.

    Dazu habe ich zum einen eine Relationstabelle

    event.id | contact.id


    zusätzlich speichere ich Kontakt-Ids im jem_events Feld custom3 in der Form

    12 55 7

    (hier also drei Referenten, und die 'folgerichtig' (in der Rel.-tab habe ich noch keine Folge/Ordnungsspalte)).


    aus der

    plugins/search/jem/jem.php

    bekomme ich nun nicht alle Referenten angezeigt, sondern **nur einen**. Da müsste "irgendwie" ein subselect rein?


    ich habe bisher nur anhand der Relationstabelle versucht Kontakt(e) rauszuziehen, noch nicht per custom3-Feld.


    in der jem.php dazu

    ca.

    z130

    $wheres2[] = 'LOWER(con.name) LIKE '.$word;

    z150

    $wheres2[] = 'LOWER(con.name) LIKE '.$word;

    z200

    $query->select('CONCAT(con.name," (",SUBSTRING(a.dates, 1, 4),"): ", a.title) AS title, a.meta_description, a.meta_keywords, a.created AS created');

    z220

    $query->join('LEFT', '#__jem_add_event_x_contact AS xc ON a.id = xc.eveid');

    $query->join('LEFT', '#__contact_details AS con ON xc.contid = con.id');


    die J!-Suche scheint ja als Ergebnis nur title auszugeben? Deshalb musste ich den per CONCAT erweitert.


    Wie könnte man hier am Besten alle Referenten zu einem Event in der J!-Suche rausziehen?

    Format soll "nat." sein: Referent(en) (Jahr): Thema/Titel


    Ob man evtl. praktischer nur das Feld custom3 aus der #__jem_events nutzen sollte??


    Dazu fehlen mir momentan noch "Select-Eingebungen" ... custom3 oder Rel.-Tabelle :/


    lG. R.

    (letztes J!, ich glaube 3.22 und akt. JEM)

  • die J!-Suche scheint ja als Ergebnis nur title auszugeben?

    Nein. Du kannst im Plugin 6 Objekteigenschaften belegen.

    title

    text

    browsernav

    created

    section

    href


    die im Standard-Output von com_search verwendet werden.


    Ich hab's nicht ausprobiert, aber vermutlich könntest du sogar weitere Eigenschaften im Plugin erfinden, die du dann in einem Override der Suche verwendest.

    Ob man evtl. praktischer nur das Feld custom3 aus der #__jem_events nutzen sollte??

    Mir würde das auf Grund des Formats (mehrere Zahlen mit Leerzeichen dazwischen) widerstreben.


    Werden mir die Queries zu umständlich/unübersichtlich/undurschaubar, mache ich einfach die Abfrage wie vom Plugin vorgesehen. Ich habe dann ein Array $results und schicke einfach weitere Abfragen ab, z.B. in einer foreach-Schleife, um weitere Daten in $results zu ergänzen.


    Da muss man halt abwägen, was was die Mühe wert ist.


    Mehr kann ich aber zum Thema auch nicht beitragen.

  • hi & danke!


    habe jetzt eine Hybridlösung gemacht:

    Die Suche von Referenten über eine "Kreuztabelle" (jem_add_event_x_contact), das Einbindung & Darstellung aber nach JEM's custom3-Feld.

    nutzt für Personen die Kontaktliste (Referenten), dazu in events das Feld custom3, um deren IDs in Folge einzutragen.


    Fürs backend habe ich noch als override die Sprach-Strings angepasst:

    COM_JEM_EVENT_CUSTOM_FIELD3="Referenten (Kontakt-IDs, Leer-Trenner)" ...


    Das reicht für mich so.


    die eine PlugIn-Datei jem.php habe ich angehängt


    Grüße, r