Ajax Tabs Content script

Begonnen von onkel, 23 Oktober 2006, 00:05:50

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

onkel

Zitat von: onkel am 23 Oktober 2006, 21:23:45
Danke jubilee  für die ausführliche Erklärung.


Ich habe es geschafft einen Module in einem Tab zu laden, aber dort werden die umlaute als ?&& angezeigt :(



Zitat
Das Umlaut prob hab ich leider auch
Das sagte ich doch bereits

Andi

Und iimmer schön dran denken, dass es immernoch Leute geben soll, die ohne aktiviertem Javscript unterwegs sind.... ;)
schön´s Grüssle, Andi

smartmusic

Zitat von: Andi am 25 Oktober 2006, 23:29:34
Und iimmer schön dran denken, dass es immernoch Leute geben soll, die ohne aktiviertem Javscript unterwegs sind.... ;)

sind es denn noch so viele?

ich denke dann würden es google und yahoo auch nicht machen.


es wäre wirklich schön, wenn mal jemand hier eine kurze anleitung gibt,

wie man es einbaut nachdem man es heruntergeladen hat.

also z.b. in einem block oder modul

onkel

#23
quote author=onkel link=topic=18922.msg129998#msg129998 date=1161800367]
Zitat von: Andi am 25 Oktober 2006, 23:29:34
Und iimmer schön dran denken, dass es immernoch Leute geben soll, die ohne aktiviertem Javscript unterwegs sind.... ;)



Zitat
da müsste noch ein Schutz rein, damit so was nicht passiert.


http://www.gothic-online.de/inhalt-file-external.html


Das erwähnte ich bereits auch  schon  ;D




Zitatich denke dann würden es google und yahoo auch nicht machen.

google  :D  Web.de hat die bessere Lösung für User die Javascript nicht aktiviert haben

smartmusic

inwiefern hat web.de eine gute lösung?

onkel

Zitatinwiefern hat web.de eine gute lösung?

schalte doch Javascript mal aus und schau was passiert ;

Wenn du bei Yahoo Javascript ausschaltest dann wirst du immer auf die Startseite weitergeleitet, bei Web.de wirst du zu der jeweilige  Kategorie oder zum Thema weitergeleitet.

Musicman75

und schon das erste Problem. Wenn ich im Div Container einen Link anklicke wird die Seite nicht im Container geöffnet sondern als komplette Seite.

Wie kann man das lösen? hab bei den Links schon die Container ID als rel angegeben, ist aber wirkungslos.
Es geht um die ganzen Links wie zB "Ins Gästebuch eintragen", "Userdaten speichern", PM senden ...

Ansonsten klappt das im Account ganz gut mit den Tabs, bis auf die Links im Container.
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Zitatund schon das erste Problem. Wenn ich im Div Container einen Link anklicke wird die Seite nicht im Container geöffnet sondern als komplette Seite.

Wie kann man das lösen?

Ähmm
ZitatNen bisschen Eigeninitiative möchte ich doch schon haben. Sonst gibt es bald nur noch identische Installationen.
Außerdem kann ja nicht alles auf dem Tablett serviert werden. Nen bisschen Hirnschmalz dürft ihr auch reinstecken in Eure Seiten.
s. c. n. r.

Von wem wird der Link denn geöffnet ?
Vom XHTML-request oder ganz normal ?


reddragon

hehe.. 8)


ihr habt mich überzeugt, und meine Vereinskollegen auch, ich soll da nun auch sowas einbauen.... ::)

bei http://www.aol.de/ ist das Teil auch eingebaut, hier rotiert es noch in den Tabs zusätzlich.

Vieleicht folgenden Vorschlag, für die Leute, die dem Programmieren nicht so mächtig sind (wie ich):
Wenn man wie bei dem Candy-news-Block diesen Block mit hilfe der Administration gestalten würde, das man über ein Admin-Feld die Anzahl der Tabs steuern könnte, und dass man in die Tabs eventuell die normalen Block-Dateien included.  Wäre sowas möglich?




NeMeSiSX2LC

Aber wie mach ich dem Teil weiss das es Umlaute dastellt wäre noch viel interessanter...
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

reddragon

kannst du da nicht die html-Symbole eintragen?

NeMeSiSX2LC

Wenn es aus der DB kommt nicht. Ist Purer Text.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Musicman75

es muss bei den modules sowieso einiges umgebaut werden, wenn diese so angezeigt werden sollen.
zB muss bei jeder seite, welche in dem Container aufgerufen wird die header und footer.php raus.

Zusätzlich müssen dann opentable und closetable eingebaut werden, da diese ganzen Platzhalter sonst ersetzt werden müssen.

Dann kann man auch gleich ne Funktion einbauen, welche die Umlaute durch den HTML Code ersetzt, das reisst es dann auch nicht mehr raus.


Allerdings hab ich noch Probleme mit den Links innerhalb der Container. mal sehen wie ich das geregelt bekomme das die dann auch wieder im selben Container geöffnet werden.
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Zitatmal sehen wie ich das geregelt bekomme das die dann auch wieder im selben Container geöffnet werden.
Irgendwie werden meine Beiträge ja wohl übersehen  ???

Das dynamische Zuweisen des Content's in einen DIV oder was auch immer, klappt nur wenn der Link
auch über das XMLHttpRequest-Objekt aufgerufen wird. Wenn das nicht geschieht, ist das ein ganz normaler Seitenaufruf und wird dementsprechend auch behandelt. D.H. dann greift der Requester die daten nicht ab und kann diese natürlich auch nicht da platzieren, wo diese hinsollen.

Musicman75

also mit java steh ich irgendwie auf kriegsfuß.

wäre nett, wenn du dir mal das ganze kurz anschauen könntest. dürfte für dich eigentlich kein problem sein.

hier mal der code zum aufrufen der Tabs und anlegen des Containers:
<ul id="maintab" class="shadetabs">
<li class="selected"><a href="#default" rel="ajaxcontentarea">Intro</a></li>
<li><a href="external.htm" rel="ajaxcontentarea">Bird</a></li>
<li><a href="external2.htm" rel="ajaxcontentarea">Dog</a></li>
<li><a href="external3.htm" rel="ajaxcontentarea">Cat</a></li>
<li><a href="external4.htm" rel="ajaxcontentarea" rev="content.css, content.js">Sea Otter</a></li>
</ul>

<div id="ajaxcontentarea" class="contentstyle">
<p>This is some default tab content, embedded directly inside this space and not via Ajax. It can be shown when no tabs are automatically selected, or associated with a certain tab, in this case, the first tab.</p>
</div>

<script type="text/javascript">
//Start Ajax tabs script for UL with id="maintab" Separate multiple ids each with a comma.
startajaxtabs("maintab")
</script>


Und hier das dazugehörige "js" File:
http://www.dynamicdrive.com/dynamicindex17/ajaxtabscontent/ajaxtabs/ajaxtabs.js


Das Js-File muss ich ja wohl nicht mehr extra includen, es wird ja schon auf der Seite geladen.
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

jubilee

Hmm ...
Wie soll ich das jetzt am besten erklären.
Also, die Links die in das Content-DIV geladen werden, müssen umgearbeitet werden.
So wie das auch die Funktion startajaxtabs() mit den in der Linkliste angegebenen URL's macht.
Diese Funktion stellt nämlich sicher, das diese Links nicht direkt sondern über das XMLHttpRequest-Objekt
aufgerufen werden.
Wenn du jetzt im Content-Bereich auch Links drinne hast die wiederum dort geöffnet werden sollen, müsssen diese Links genauso umgearbeitet werden.
Aufgerufen wird der Link dann nicht direkt, sondern über diese dynamisch generierte Funktion :

ulistlink.onclick=function(){
ajaxpage(this.getAttribute("href"), this.getAttribute("rel"), this)
loadobjs(this.getAttribute("rev"))
return false

Diese ruft dann die Funktion ajaxpage() auf welches den XMLHttpRequest startet und die Daten in das ensprechende Tab schreibt.
Du müsstest also den anderen Links im onClick-Ereignis auch diese Funktion zuweisen.
MfG

NeMeSiSX2LC

Zitat von: Musicman75 am 26 Oktober 2006, 19:57:46
es muss bei den modules sowieso einiges umgebaut werden, wenn diese so angezeigt werden sollen.
zB muss bei jeder seite, welche in dem Container aufgerufen wird die header und footer.php raus.

Zusätzlich müssen dann opentable und closetable eingebaut werden, da diese ganzen Platzhalter sonst ersetzt werden müssen.

Dann kann man auch gleich ne Funktion einbauen, welche die Umlaute durch den HTML Code ersetzt, das reisst es dann auch nicht mehr raus.


Allerdings hab ich noch Probleme mit den Links innerhalb der Container. mal sehen wie ich das geregelt bekomme das die dann auch wieder im selben Container geöffnet werden.


Aber wie sieht so ein Filter aus? Steh voll aufn schlauch. Warum gibt das Java teil das eigentlich so aus. Steht doch richtig in der DB.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Musicman75

#37
@ jubilee:
verstanden hatte ich das schon, wie du das meinst, habe auch versucht das umzusetzten, das sah dann so aus:
<a href="#" onClick="ajaxpage('http://www.gothic-online.de/modules.php?name=Your_Account&file=external', 'maintab', 'ajaxcontentarea');">

funktioniert allerdings nicht. muss ich den link dann so modifizieren:
<a href="modules.php?name=Your_Account&file=external" rel=ajaxcontentarea onClick="function();">

???


@ NeMeSiSX2LC:

der Filter muss so aussehen (die Zeichen sollte man wissen, wie die java codiert, denke mal das dürfte aber passen.)

$hexzeichen = array("=C4", "=E4", "=D6", "=F6", "=DC", "=FC", "=DF");
$umlaute = array("&Auml;", "&auml;", "&Ouml;", "&ouml;", "&Uuml;", "&uuml;", "&szlig;");
$TEXT = trim(str_replace($hexzeichen, $umlaute, $TEXT));


so werden die Leerzeichen am Anfang und Ende entfernt und die Umlaute entsprechend gesetzt.



Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

NeMeSiSX2LC

CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

anmShinichi

Also ein theme zu erstellen, dass alles per ajax läd und einbindet, wäre ja ne sensation... versuchen kann man es ja... wird mal für Q2J2007 vorgenommen ^^... ich hab mein blogmodul noch... und die anderen zeitraubenden sachen... aber das wäre ein traum, gerade wenn es nur eine themesache ist, damit man frei wählen kann, ob man alles per ajax haben möchte, oder halt nicht... aber es sind nur vorstellungen, technische umsetzung wurden noch nicht gedacht...

gruß,
Shin
MonsterWorks - www.monsterworks.de