[TYPO3-german] eID (pi_base) Frage

Robert Wildling robertwildling at gmail.com
Wed Sep 12 14:41:27 CEST 2012


Darf ich nochmal nachfragen?

Ich habe nun folgendes zusammengebastelt:

- eine HTML-Datei namens ajax.html und folgendem Inhalt:

<!-- ###DOCUMENT_BODY### -->
	<p>Hallo, AJAX.</p>
	<!-- ###CONTENT_HEADER### --><!-- ###CONTENT_HEADER### -->
	<!-- ###CONTENT### --> <!-- ###CONTENT### -->
<!-- ###DOCUMENT_BODY### -->



- ...das TS:

ajaxCall = PAGE
ajaxCall {
   typeNum = 991

   config {
     disableAllHeaderCode = 1
     disableCharsetHeader = 1
     disablePrefixComment = 1
     xhtml_cleaning = 0
     admPanel = 0
     no_cache = 1
   }

   10 = TEMPLATE
   10 {
     template = file
     template.file = fileadmin/_layout/ajax.html
     workOnSubpart = DOCUMENT_BODY
     subparts {
       CONTENT_HEADER < temp.ARTICLE-HEADER
       CONTENT < styles.content.get
     }
   }
}



- ...und das JS (jQuery):

$(document).ready(function(){
	$("nav ul li ul li a").click(function () {
		link = $(this).attr("href");
		getContent(link);
		$(this).blur();
		return false;
	});
});

function getContent(link){
	$.ajax({
		// erweitere aufzurufenden Link
		url: link+'&type=991',
		dataType: "html",
		success: function(html) {
			console.log("html = " + html);
			$("#post .row article.eightcol").html(html);
		}
	});
}


Das Tutorial, das mir als Vorlage diente, ist dieses da:
http://www.interaktionsdesigner.de/2008/12/12/typo3-seiten-dynamisch-nachladen-mit-jquery/


Das html im jQuery-Teil bleibt leer, die Anzeige der Website ebenso. 
nicht mal der statische Text von ajax.html wird angezeigt...

Testseit hier: test.rowild.at


Ändere ich im JS ?type=991 auf ?typeNum=991, wird die GANZE Seite in den 
entsprechenden Bereich nachgeladen  (inkl. header, Nav etc...).


Kann mir jemand bei der Fehlersuche helfen, bitte? Danke!

Eine Frage, die sich mir auch stellt, ist, ob im ajax-html-Template eine 
workOnSubpart überhaupt notwendig ist? (Versuche es wegzulassen, haben 
keinen Unterschied bewirkt - es funktioniert trotzdem nicht...)

LG, Robert



> Hallo Robert,
>
> vergiss eID in dem Zusammenhang, das klappt nicht, zumindest nicht ohne ganz erhebliche Schwierigkeiten.
>
> Dein AJAX-Call ruft ganz trivial normale TYPO3-Seiten auf. Diese Seiten erhalten ein eigenes Template (so dass keine Menüs ausgeliefert werden) und ein eigenes setup mit dieser Zeile:
>
> config.disableAllHeaderCode = 1
>
> damit wird verhindert, dass HEAD ausgegeben wird, du bekommst also also rein den Content der Seite. Was da drin ist, ist völlig egal, es wird einfach eine TYPO3-Seite ausgeliefert, es sind also alle Inhaltselemente möglich, die TYPO3 kann.
>
> Natürlich musst du den AJAX-Call so aufbauen, dass der zurückgelieferte Inhalt in einen HTML-Container deiner rechten Spalte geschrieben wird, aber das ist eine Frage des korrekten JavaScripts - und des passenden Templates der Seiten, die über AJAX aufgerufen werden.
>
> ---
>
> eine zweite Variante wäre, mit einem zweiten page-Objekt zu arbeiten und das über typeNum zu unterscheiden. Dafür gibts eine Anleitung, z. B. hier:
>
> http://www.typo3-tutorials.org/tutorials/entwicklung/typo3-und-ajax-wie-geht-das.html
>
> erkläre ich also nicht weiter. Beides ist möglich, von Fall zu Fall ist das eine oder das andere praktischer. Wichtig ist nur, dass du nicht über eID gehst, das ist dafür nicht gemacht. (Wird in dem Link auch erläutert, also lass dich nicht irre machen) eID soll einfache Inhalte, die explizit nicht über die gesamte Frontend-Engine von TYPO3 laufen müssen (also z. B. Inhalte einer Extension) schnell auszuliefern.
>
> Gruß
> Peter
>
>
>
> Am 11.09.2012 um 21:22 schrieb Robert Wildling:
>
>> Hi,
>>
>> Ich versuch mich grade mal an AJAX mit TYPO3 und stehe nun seit 2 Tagen vor der Frage, ob folgendes möglich ist:
>>
>> 2-spaltiges Layout: links die Navi, rechts der Inhalt (ohne Fusszeile etc, ganz simple)
>>
>> Der Inhalt rechts soll via AJAX gewechselt werden, wobei veschieden viele Content Elemente verwendet werden.
>>
>> Mir geht der Knoten nicht auf: geht das überhaupt? Wie weiß das script, welche Inhalte es auslesen soll und wie formatieren?
>> Wenn man den weg über einen eigenen pageType geht, was muss das script der eingebundenen Ext machen, damit alle Inhalte ausgelesen werden? Bzw. das TS korrekt zurücKgegeben wird?
>>
>> Die Anleitungen, die ich bis jetzt gefunden habe, beschäftiugen sich entweder mit den Auslesen ganz bestimmter Daten wie zB FE-User-Listen oder zeigen ein Kontaktformularbeispiel. Aber ich konnte noch kein Tutorial finden, das erklärt, wie eine ganze Seite per AJAX erneuert wird...
>>
>> Danke für eure Hinweise und Tipps im Voraus!
>> Viele Grüße, Robert
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
> --
> Xing: http://www.xing.com/profile/Peter_Linzenkirchner
> Web: http://www.typo3-lisardo.de
> Facebook: http://tinyurl.com/lisardo-multimedia
>




More information about the TYPO3-german mailing list