Tags in eigener Komponente nutzen

  • Ich habe das, lange her, mal mit dieser Anleitung und jeder Menge Trial&Error hinbekommen, irgendwie.

    https://docs.joomla.org/J3.x:Using_Tags_in_an_Extension


    Danach fühlte ich mich aber von der Einleitung "is designed to be easy to integrate into other extensions" etwas verarscht ;-)

  • Danke erstmal für eure Hinweise.

    Die Komponente ist nach Joomla Standart programmiert (für 3.x). Ich hab jetzt mal alles soweit wie ich gekommen bin eingebaut/angepasst. Was sich mir noch nicht ganz erschließt: wie registriere ich meine eigene Komponente in der Tabelle #__content_types? Und hab ich jetzt noch was übersehen?


    Die Eingabe des Tags ist bereits möglich nur gespeichert wird es nicht.


    ich habe jetzt folgendes eingebaut:


    models > forms > event.xml

    Code
    <field 
                name="tags" 
                type="tag" 
                label="JTAG" 
                description="JTAG_DESC"
                multiple="true"
            />


    views > event > view.html.php

    models > event.php

  • Ich würde gern das Thema noch mal hoch holen.


    Ich hab mir die Sache mit den Tags noch mal in Ruhe angeschaut, werd aber nicht ganz schlau draus. In der #__content_types ist die Erweiterung eingetragen. in den #__ucm Tabellen nicht. Trage ich jetzt aber ein Tag händisch in der Datenbank ein, wird es auch korrekt angezeigt.


    Ich hab das Tutorial auf https://blog.astrid-guenther.de/joomla-tags verwendet, aber bislang ohne erfolg. Felder und Co. werden angezeigt nur werden die Tags nicht gespeichert. Hatte schon überlegt das händisch zu machen, ist aber wahrscheinlich keine sinnvolle Lösung.


    Kann mir jemand auf die Sprünge helfen bezüglich der #__ucm Tabellen, für was sind die eigentlich da, was machen die Joomla?


    Mirko

  • für was sind die eigentlich da

    So gedacht: UCM-Systeme (Unified Component Model) sind eigentlich dafür da, Daten mehrerer, ähnlich aufgebauter Komponenten zusammengeführt zu verwalten bzw. abzufragen (Tags, bis Joomla 3 Versionshistorie, keine Ahnung). (UCM war allerdings nur ein kurzer Jubel-Wind im Netz, nicht nur in Joomla.)


    Speicherst jetzt also einen Tag in einer Kategorie, wird in der ucm_content ebenfalls ein Eintrag angelegt, der zahlreiche Daten wie Titel, Beschreibung, Bilder ... der Kategorie doppelt speichert. Sie liegen ja eh schon in der category-Tabelle. Deswegen "doppelt". Ein Tag im Beitrag ebenso usw.


    Das kann natürlich in wohldurchdachter und wohlgetesteter Form Vorteile haben, wenn man sich im Frontend bspw. Tag-Seiten anschaut, weil nicht aus mehreren Datenbank-Tabellen abgefragt werden muss.

    Leider ist die Tag-UCM-Umsetzung in Joomla aber nicht wohldurchdacht und leider bei einem Stand "obskur" stehengeblieben, weil die damaligen Entwickler ausgestiegen sind.


    Letztlich bin ich in eigenen Plugins, Overrides etc. nie drumrum gekommen trotzdem weitere DB-Abfragen machen zu müssen oder um Ecken gehen zu müssen, weil das Joomla-UCM-System sehr starr an die com_content-Tabelle orientiert aufgebaut wurde. Und schon da kommt es zu Haken und Ösen, weil eine Kategorie ein Bild eben anders speichert (zusammen mit den "params") als ein Beitrag (im DB-Feld "images") usw. usf.


    Die Versions-Historie wurde in Joomla 4 schon entkoppelt vom UCM. Andere Versuche wurden aber bisher abgelehnt/erst mal verworfen: https://github.com/joomla/joomla-cms/pull/24551


    Zu dem Speicherproblem: Hast du deine Mapping-Tabelle bzw. das Feld field_mapping noch mal auf Herz und Nieren geprüft? Ich meine mich zu erinnern, dass das bei mir mal ein Problem war. Weiß aber nicht mehr, ob das unterschiedliche SQL-Feldtypen bei mir waren oder ... oder überhaupt was mit deinem Problem zu tun haben könnte.

  • Also doch die Abfragen mehr oder weniger händisch bauen.

    Wäre wohl meine Wahl. Vorher würde ich persönlich halt alle meine bisherigen "Krücken" durchschauen, weil so grundlgende Kleinkram-Sachen wie das tags-Formularfeld mit Suchfunktion usw. auf der anderen Seite wieder Zeit sparen.


    Schwerschwerschwer zu entscheiden ;-)

  • Ich hab das Tutorial auf https://blog.astrid-guenther.de/joomla-tags verwendet, aber bislang ohne Erfolg. Felder und Co. werden angezeigt nur werden die Tags nicht gespeichert. Hatte schon überlegt das händisch zu machen, ist aber wahrscheinlich keine sinnvolle Lösung.

    Ich habe es gerade getestet. Bei mir werden die Schlagworte gespeichert. Wird dir in deiner Version eine Fehlermeldung angezeigt?