Page 1 of 2

Tag im body

Posted: Mon 14. Oct 2013, 11:16
by nameless1
Hallo,

ich benötige für djax im body die Angabe data-ajaxloading.

Code: Select all

<body data-ajaxloading>
Wie kann ich das machen ohne jeweils den Core zu hacken? dafür gibt es doch sicherlich eine implementierungsmöglichkeit.

danke,

nml1

Re: Tag im body

Posted: Mon 14. Oct 2013, 14:41
by juergen
str_replace <body id=irgendwas> nach deinem Tag im frontend-init.

Re: Tag im body

Posted: Mon 14. Oct 2013, 15:42
by nameless1
das is ja mal ein guter ansatz! danke.

Re: Tag im body

Posted: Mon 14. Oct 2013, 19:49
by update

Re: Tag im body

Posted: Mon 14. Oct 2013, 22:01
by update
Man könnte ja auch in der index.php sowas machen:

Code: Select all

  	if(!empty($template_default['body']['text'])) {
		$body_inject .= ' '.$template_default['body']['text'].' ';
	}
Dann braucht es in der conf.template.default.inc.php nur noch

Code: Select all

$template_default['body']['text']= ' data-ajaxloading';
und schon rollt der Käse.
Aber bevor Oliver mich haut, gehe ich lieber wieder hinter meine Bildschirme. ;)

PS: Vielleicht gibt es ja eine elegantere Lösung ohne hack, aber wenn im core der 2-Zeiler drin wäre, hätten wir's leichter....

PPS: Sicher gibt es auch JS-basierte Lösungen, die wollen mir aber gerade nicht so von der Hand gehen ... ;)

Re: Tag im body

Posted: Mon 14. Oct 2013, 23:15
by juergen
ungetestet: (ich hoffe der <body> Tag rollt in der Rendervariable mit raus:)

Code: Select all

<?PHP
....

$content["all"] = preg_replace('/\<body (.*?)\> ','my_function($id_name)',$content["all"]);

function my_function ($tag_inhalt)
{......

return $ersatz
}

Das muss den gerenderten Seiteninhalt triggern, und ersetzt dann je nachdem was mit dem Body Tag übergeben wird.

Ein wenig konkreter ...

Das als file speichern und in frontend_init ablegen. Gut ist auch, dass claus gelich mal geschrieben hat, wie man den Body Tag beeinflusst

Jedenfalls kann man in diesen beiden Verzeichnissen tun und lassen was man für gut befindet :D

Re: Tag im body

Posted: Tue 15. Oct 2013, 13:37
by nameless1
ja, corehack ist eher pfui. ich mußte bislang erst wenig via frontend_init oder frontend_render machen, aber hier bietet es sich ja faktisch an (und wird auch die einzig saubere lösung bleiben da via js zu viele probleme verursachen würde).

danke! ich poste das script dann im wiki.

Re: Tag im body

Posted: Tue 15. Oct 2013, 13:54
by update
Prima! :)

Re: Tag im body

Posted: Tue 15. Oct 2013, 14:33
by juergen
Das Resultat des regulären Ausdrucks würde ich mir erst mal anzeigen lassen... wegen führender Leerzeichen und solcher Fallen :)

Re: Tag im body

Posted: Wed 16. Oct 2013, 17:07
by update
nameless1 wrote:danke! ich poste das script dann im wiki.
Und auch hier, bitte! :)

Re: Tag im body

Posted: Fri 18. Oct 2013, 11:00
by Oliver Georgi
Alles unnütz und too much! Sorry. Da hier sowieso JavaScript erforderlich ist, würde ich schlicht das im entsprechenden Ajax Loader unterbringen bzw. dem Script, dass data-ajaxloading benötigt vorschalten (effektiver). Schätze mal, es ist eh ein jQuery.

Code: Select all

$(function() {
   $('body').attr('data-ajaxloading', 'true')
});
http://jsfiddle.net/slackero/GkWX6/1/

Re: Tag im body

Posted: Fri 18. Oct 2013, 14:28
by nameless1
danke oli. vor aufruf der routine (und nach laden von jquery) startet das snippet, und jut is.

Re: Tag im body

Posted: Fri 18. Oct 2013, 18:59
by update
Hab ich mal ins wiki geschrieben (mit Link nach hier) ;)

Re: Tag im body

Posted: Sat 19. Oct 2013, 11:11
by kmstario
@Claus,

Eine der kleinen Dinge die immer mal gebraucht werden,

Ich drück mal den "Bedanken" Button :D .

Re: Tag im body

Posted: Wed 15. Jul 2015, 18:04
by photojo
Hi,

ich habe nochmal ein Nachfrage zu diesem Thema hier:
Ich bekomme es nicht hin, dass ich om body-Tag z.b. folgendes stehen habe:
<body data-spy="scroll">

Sollte das mit
<script>
$(function() {
$('body').attr(data-spy="scroll", 'true')
});
</script>
in <head> im Template im BE funktionieren?

Danke!