m_ziesing
I'm new here

AJAX-Funktionalität

Hallo zusammen,

wie lässt sich denn eine Funktionalität wie z.B. die der "mehr"-Schaltfläche hier im

Forum am besten umsetzen?

Und kann ich einer Filterfunktion mehrere Attribute mit variablen Werten zuweisen?

In dem Beispiel-Projekt "FIRSTools Internet" wurde für jede Produkt-Kategorie

eine extra Unterseite angelegt. Lässt sich soetwas nicht sauberer/schöner lösen?

Viele Grüße

Marco

0 Kudos
6 Replies
feddersen
Community Manager

Welche FirstSpirit-Version setzen Sie ein? Das aktuelle Demo-Projekt ist "Mithras Energy".

Was verstehen Sie unter einer "Filterfunktion"? Für Abfragen in Datenbanken können Sie mehrere Parameter definieren.

Eines der Paradigmen von FirstSpirit ist die Vorgenerierung der Seiten/Inhalte. Für jede Produktkategorie eine eigene Seitenreferenz zu haben ist da der "saubere" Weg. Ob Sie dies auch für die Ansicht des Produktes brauchen, hängt von den Anforderungen hab. Sie kommen mit einer Detail-Seite aus, sofern sie keine Paging-Funktionalität (vor/zurück) innerhalb der Produktkategorie brauchen.

Solche Ajax-Funktionalitäten können Sie abbilden, indem Sie z.B. eine statische Map mit den möglichen Werten befüllen und sich die gewünschte Submenge per Request-Parameter zurückliefern lassen. Bei größeren Datenmengen empfiehlt sich die Verwendung unseres Integration-Modules, um die Abfragen zur Laufzeit auf der Webseite durchzuführen.

0 Kudos
rbitdd
Returning Responder

FirstTools ist das Demo-Projekt in 4.1.

Wenn ich bei dem Datenbank-Beispiel bleiben darf:

Wenn das generieren von Übersichtsseiten je Kategorie zu "unsauber" ist, wobei ich mal davon ausgehe, das "unsauber" hier "unflexibel" heißt, da für jede Kategorie eine eigene Seite angelegt werden müsste, was spricht denn dagegen, den Datenbankinhalt in eine XML-Datei zu generieren und einen Absatz mit AJAX-Funktion zu erstellen, der entsprechendes XML (mit Zwischenschaltung einer PHP-Seite, welche den "Filter" anhand von Übergabeparamter übernehmen könnte) auswertet und dann nur den "gefilterten" Content in gewünschter Menge (Datensatz 1-x) darstellt.

Anders gesagt:

Datenbankabfragen z.b. nach Kategorien sortiert in ein XML schreiben

z.B.

<mydatas>

  <mycategory name="kategorieA">

    <mycategoryitem id="meineID1">

       <headline />

       <text />

        ...

    </mycategoryitem>

    <mycategoryitem id="meineID2">

       <headline />

       <text />

        ...

    </mycategoryitem>

  </mycategory>

  <mycategory name="kategorieB">

  </mycategory>

  <mycategory name="kategorieC">

  </mycategory>

</mydatas>

(vllt. geht ja etwas wie "select * from kategory", über welches man eine for-Schleife laufen lassen könnte, damit die Dynamik hoch bleibt. Müsste man allerdings ausprobieren, ob das geht. Aber ich denke schon! Smiley Wink)

Und dann halt per AJAX gewünschte Kategorie(n) an PHP übergeben und per simpleXML oder ähnlichem das XML auslesen, Daten zurück an Client und darstellen.

Das wäre eine Möglichkeit. Mir fallen da gerade noch andere ein, aber ich denke, das hier wäre die empfehlenswerteste.

0 Kudos

PHP ist in dieser Umgebung nicht verfügbar. Das wäre dann ein ziemlich großes XML-Dokument das übertragen werden muss und der Browser des Nutzers parsen darf.

'Eines der Paradigmen von FirstSpirit ist die Vorgenerierung der Seiten/Inhalte.'

Das habe ich nun leider auch schon bemerkt. So langsam aber sicher kommt dieses statische Vorgehen auch bei mir an.

Aber wie ist denn dann z.B. der "mehr"-Button in der Listenansicht dieses Forums realisiert?

'Für jede Produktkategorie eine eigene Seitenreferenz zu haben ist da der "saubere" Weg.'

Bei ein paar hundert Kategorieren haben Redakteure ja dann richtig Spaß! ABM FTW? 😕

Also bleibt mir doch eigentlich nur noch die Möglichkeit ein Modul mit direktem Datenbank-Zugriff zu schreiben, oder?

0 Kudos
rbitdd
Returning Responder

Naja, es muss ja nicht unbedingt PHP sein! Smiley Wink

Haben Sie überhaupt keine serverseitige Skriptauswertung zur Verfügung (Perl, ASP, JSP etc.)?

Reine HTML-Seiten?

Also, ich weiß es nicht zu 100%, aber dieses Forum hat, so wie ich das sehe, mit FirstSpirit nur so viel zu tun, als das es in der Struktur als externe URL angegeben wurde. :smileygrin: Ich lasse mich jedoch gerne eines besseren belehren! Smiley Wink (Habe ich nicht irgendwo was von "Jive" gelesen?!? Kommentar von Hr. Höbbel, Status von Hr. Eichten)

0 Kudos

Marco Ziesing schrieb:


Also bleibt mir doch eigentlich nur noch die Möglichkeit ein Modul mit direktem Datenbank-Zugriff zu schreiben, oder?

Oder einfach das bereits fertige Modul Integration benutzen:

http://www.e-spirit.com/odfs42/de/dokumentation/module/integration_1/integration_2.html?community

User: FIRSTDoku

Pass: FSdown_V2

0 Kudos

Marco Ziesing wrote:

PHP ist in dieser Umgebung nicht verfügbar. Das wäre dann ein ziemlich großes XML-Dokument das übertragen werden muss und der Browser des Nutzers parsen darf.

Die serverseitige Technologie können Sie mit FirstSpirit frei wählen, allerdings basieren fast alle unsere Module auf Java, wenn Sie also auch einige unserer Module einsetzen wollen, würde sich eine auf Java basierende Technologie anbieten. Im einfachsten Fall wäre das eine JSP-Seite oder ein Servlet.

Marco Ziesing wrote:

Aber wie ist denn dann z.B. der "mehr"-Button in der Listenansicht dieses Forums realisiert?

Die Community basiert auf Jive SBS, von unserem Partner Jive Software, insofern hilft ihnen das nicht viel weiter, der Mechanismus ist aber der gleiche: Jive stellt eine REST-Schnittstelle zur Verfügung, die per JSON oder XML die notwendigen Informationen zurückliefert. Per Request Parameter können sie definieren, welche Teilnmenge des Gesamtergebnisses sie zurückgeliefert haben wollen. Die gelieferten Informationen werden dann per Javascript in die Seite eingefügt. Wie bereits gesagt, sowas lässt sich auch mit FirstSpirit umsetzen. Bei kleinen Datenmengen über eine vorgenerierte Datenstruktur in der Seite, bei größeren Datenmengen bietet sich die Verwendung unserer Integration-Modules an.

Marco Ziesing wrote:


'Für jede Produktkategorie eine eigene Seitenreferenz zu haben ist da der "saubere" Weg.'

Bei ein paar hundert Kategorieren haben Redakteure ja dann richtig Spaß! ABM FTW? 😕

Die Seiten müssen natürlich nicht zwingend per Hand angelegt werden. Ich gehe davon aus, dass sie ihre Kategorien auch in der Datenbank pflegen. Die notwendigen Seiten (Übersicht der Kategorie, Detailseite) kann man ohne weiteres bei der Freigabe des Datensatzes erstellen, über ein entsprechendes Skript im Arbeitsablauf. So hat der Redakteur keinerlei Mehrarbeit im Vergleich zu einer dynamischen Variante. Sie haben nur den Vorteil, dass es wesentlich besser skaliert und sie die volle Templatefunktionalität von FirstSpirit nutzen können, um die Daten auszugeben.

Der dynamische Zugriff über das Integration-Modul ist natürlich auch möglich, ob der sinnvoller ist, hängt von ihren anderen Anforderungen ab. Ist mit den bisherigen Informationen schlecht zu beurteilen.

0 Kudos