Inhalt auf Homepage per Knopfdruck ein- und ausblenden

vom 19.05.2009, 16:01 Uhr

Habe folgendes Problem: Die News-Seite auf unsere Vereins-Website ist aufgrund der vielen Neuigkeiten leider sehr voll geworden und einige Beiträge sind schon ziemlich alt. Wir wollen sie jedoch nicht löschen, sonder wenn möglich nur ausblenden. Das heißt unten steht dann zum Beispiel "Hier mehr Beiträge" und wenn man da drauf klickt, dann kommen die eben, ohne das eine neue Seite geöffnet werden muss.

Gibt es sowas und wenn ja, wie muss ich das realisieren? Arbeite mit einem CMS, das sollte ja kein Problem darstellen. Habe es jetzt vorübergehend mit einem neuen Menüpunkt gelöst, der "Alte Beiträge" heißt und ein Unterpunkt von News ist, das kann jedoch keine dauerhafte Lösung sein...

» tomtom241 » Beiträge: 220 » Talkpoints: 0,33 » Auszeichnung für 100 Beiträge



Da du sagst, dass du bereits ein Content-Management-System (CMS) benutzt, ist die Lösung wohl auch dort zu finden. Es ist natürlich schwer zu sagen, was du tun musst, wenn du uns nicht sagst, welches CMS du benutzt. Die gesuchte Option wird es wahrscheinlich bei sehr vielen CMS geben. Sag einfach welches du nutzt, dann wird sich sicher schnell eine Antwort finden.

Gruß hacho123

Benutzeravatar

» hacho123 » Beiträge: 144 » Talkpoints: 2,11 » Auszeichnung für 100 Beiträge


hacho123 hat geschrieben:Sag einfach welches du nutzt, dann wird sich sicher schnell eine Antwort finden.

Für unsere HP benutze ich Contenido, ich denke, dass sollte bekannt sein. Normalerweise sind diese Funktionen doch aber unabhängig, oder? Ich gebe doch auch alles als HTML ein, beziehungsweise könnte dies tun. Der einzige Unterschied zum HTML ist doch, dass ich mit einem WYSIWYG-Editor arbeite. Ich möchte ja nicht extra einen neuen Container im Layout einbinden, sondern einfach nur den HTML-Code haben, der mir einen Button oder Text liefert, auf den ich klicken kann und der mir dann das gewünschte einblendet...

Oder stehe ich da gerade vollkommen auf dem Schlauch?

» tomtom241 » Beiträge: 220 » Talkpoints: 0,33 » Auszeichnung für 100 Beiträge



Sowas geht mit Javascript/DOM. Hierbei steigst du quasi auf die XML-Ebene deines HTML-Codes ein. Das ganze Dokument kann wie ein Baum ausgedrückt werden und auf jedes Element in diesem Baum kannst du zugreifen. Dafür kannst du einem Tag eine ID geben.

Das heißt du erstellst einen Platzhalter mit einer bestimmten ID. Das kann, wenn ich mich recht erinnere, ein beliebiger Tag sein, der den Inhalt einrahmen kann, zum Beispiel Fettschrift. Mit dem DOM kannst du dann genau diesen Tag suchen und dort Inhalt hinzufügen.

Es ist leider schon sehr lange her, dass ich mich mit DOM beschäftigt habe, deshalb kann ich dir leider keinen genauen Code liefern. Aber SELFHTML bietet hier auch sehr gute Hilfe.

Auf diese herkömmliche Methode kannst du den Inhalt natürlich nicht dynamisch laden, er ist immer in deinem Code vorhanden. Das könnte in deinem Beispiel noch okay sein, aber besser wäre es natürlich, wenn es nur nach Bedarf geladen wird. Dafür brauchst du dann AJAX. Und hier hören meine Kenntnisse leider auf; es dürfte jedoch nicht viel schwerer sein. Der einzige Unterschied besteht meines Wissens darin, dass du den Inhalt in einer seperaten XML-Datei nachladen kannst. Da du ja nur statische Inhalte hast, musst du hier serverseitig eigentlich nicht viel machen machen.

» Weasel_ » Beiträge: » Talkpoints: Gesperrt »



Erst einmal vielen Dank für deine mühe, doch leider ist mir das Alles, wenn ich es richtig zugebe, etwas zu aufwändig. Ich dachte eben es gibt einen einfachen/ auch ein wenig komplizierten HTML-Code, mit dem sich das regeln ließe.

Wenn dann sollte das schon nur nach Bedarf geladen werden und das erscheint mir alles ein wenig heftig. Dann lasse ich es lieber erst einmal so wie es ist, beziehungsweise werde nochmal nach einer anderen Lösung suchen ;).

» tomtom241 » Beiträge: 220 » Talkpoints: 0,33 » Auszeichnung für 100 Beiträge


Tachchen!
Was ist denn jetzt das Problem an einer extra Seite? Du erstellst eine Seite in dem gleichen Ordner namens old.html. Dann verlinkst du ein Word zu der Seite mit den alten Informationen. Es mag sicher einen solchen Code geben, doch ich denke, du machst es dir unnütz kompliziert.

Im HTML Code würde das wie folgt aussehen:
<a href="URL zu Old.html">Alte Einträge</a>

Auf dieser Internetseite kannst du dann entweder nur die alten News auflisten oder alle, also auch die neusten. Auf jedenfall wäre das die einfachste und schnellste Möglichkeit und macht so gut wie keinen Unterschied zu deiner gewollten Lösung.

MFG

Benutzeravatar

» Big-D. » Beiträge: 1234 » Talkpoints: -10,32 » Auszeichnung für 1000 Beiträge


Big-D. hat geschrieben:Was ist denn jetzt das Problem an einer extra Seite?

Das ist doch genau das, was ich schon habe ;)

Es ist unten ein Link, der zum Thema "Alte Beiträge" führt. Mir wäre es nu lieber gewesen, wenn man nicht die Seite hätte wechseln müssen, nur um sich mehr Berichte durchzulesen.

Ich meine, mir macht das nichts aus, aber vielleicht denen, die unsere Seite besuchen ;).

» tomtom241 » Beiträge: 220 » Talkpoints: 0,33 » Auszeichnung für 100 Beiträge



Tachchen!
Ich würde die News ins Seiten einteilen. Also unter den News stehen Zahlenlinks. Wenn man z.B. auf die "1" klickt, dann gelangt man zu den ersten News. Und dann vielleicht noch Links wie "neuste Beiträge" bzw. "Älteste Beiträge". So kann man sich besser orientieren. Wenn jemand nur die aktuellsten Beiträge sehen will, klickt er auf den Link. Ich weiß zwar, was du meinst, doch ich denke, dass User, die sich für deine Seite interessieren, auch die Alternative akzeptieren, solange es übersichtlich bleibt.

Euer Big-D.

Benutzeravatar

» Big-D. » Beiträge: 1234 » Talkpoints: -10,32 » Auszeichnung für 1000 Beiträge


Mit HTML alleine ginge da sowieso gar nichts, wenn überhaupt wäre da was mit (HTML als Grundlagencode plus) CSS zu machen. Das ist aber auch ziemlich aufwändig und außerdem keine optimale Lösung. Um an die optimalere Lösung ranzukommen müsstest du auf jeden Fall Javascript nutzen, um aus einem externen Dokument noch extra Inhalte in die selbe Seite nachzuladen wie schon gesagt wohl Ajax. Weder mit Javascript noch mit Ajax kenne ich mich annähernd gut genug aus um das erklären zu können, falls du aber an einer (relativ frickeligen) Lösung mit CSS interessiert sein solltest kann ich dir CSSplay von Stu Nicholls wärmstens empfehlen!

Benutzeravatar

» Taline » Beiträge: 3594 » Talkpoints: 0,75 » Auszeichnung für 3000 Beiträge


Ähnliche Themen

Weitere interessante Themen

^