Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: Felder in Echtzeit anzeigen

Felder in Echtzeit anzeigen 20 Mär 2016 19:04 #3588

Hallo Ihr Lieben,

ich verfolge schon eine ganze Zeit das Forum und nun hab ich eine Frage, bei der ich nicht so richtig weiterkomme.

Folgende Aufgabenstellung:
Bei einem Formular sollen bestimmte Felder immer aktuell angezeigt werden.

Z.B. das Feld "Status". Sobald ein User den "Status" von "1" auf "2" ändert, soll sofort diese Änderung bei allen anderen Usern angezeigt werden, ohne die Seite neu laden zu müssen.

Welche Möglichkeiten gibt es da? Ich stoße immer wieder auf das Stiochwort AJAX, aber so richtig verstehen tu ich das nicht.

Grüße Chrisse
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Felder in Echtzeit anzeigen 20 Mär 2016 19:26 #3589

  • time4mambo
  • time4mambos Avatar
  • OFFLINE
  • Mal gucken ob was passiert...
  • Beiträge: 903
  • Dank erhalten: 176
Sei Willkommen im Forum,
Ajax ist eine Programmiersprache. Besonderes Wesenmal dieser Sprache ist, dass sie Webseiten zwischen Browser und Server synchronisiert, ohne das die Site komplett neu geladen werden muss.

Also genau das was du brauchst.

Ajax selber hat aber nichts mit SEBLOD® zu tun, sondern musst du lernen, wenn du solcherlei umsetzen willst, wie du schreibst.

Nähere Infos zu Ajax:
de.wikipedia.org/wiki/Ajax_%28Programmierung%29

Schau aber auch mal in den "Lösungsbereich" dieses Forums. Irgendwo gibt es dort etwas im Zusammenhang mit Ajax-Anwendung in den Feldern.


Axel
Das SEBLOD®-Handbuch auf Amazon
Tutorials zu Joomla und MS-Office: www.time4joomla.de
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: ChrisseDD

Felder in Echtzeit anzeigen 17 Apr 2016 14:44 #3619

Nachdem ich mich nun in meiner wenigen Freizeit mich einigermaßen eingelesen habe und einiges ausprobiert habe, funktioniert Ajax nun. Ist eigentlich auch nicht sooo schwer. Aber ein Problem habe ich: Die PHP-Seite, die aufgerufen wird, wird von Joomla nicht erkannt. Alle Joomla-Befehle führen zu Fehlern. Wie kann ich die aufzurufende Datei so gestallten, dass ich alle Joomla- und SEBLOD®-Befehle nutzen kann?
Hier mien bisheriger Code:

index.php:
<script type="text/javascript">
	  function hol_datum(){
	if (window.XMLHttpRequest){
		myAjax = new XMLHttpRequest();
	}else{
		myAjax = new ActiveXObject("Microsoft.XMLHTTP");
	}

	myAjax.onreadystatechange=function(){
		if (myAjax.readyState==4 && myAjax.status==200){
		document.getElementById("output").innerHTML=myAjax.responseText;
		}
	};

	myAjax.open("GET","<?php echo $this->baseurl.'/templates/'.$this->template?>/test.php",true);
	myAjax.send();
	var timeout = window.setTimeout("hol_datum()", 2000);
   }
</script>

und jetzt die test.php:
<?php
 //defined( '_JEXEC' ) or die;

   echo '  Jetzt ist es ' . date("r") . " Uhr";
  
  //$test=$cck->renderField( 'test' );
?>
<p>blabla</p>

<?php echo $test; ?>
Sobald ich die auskommentierten Zeilen einkommentiere, werden die darauf folgenden Zeilen nicht mehr ausgeführt.
Letzte Änderung: 17 Apr 2016 14:49 von ChrisseDD. Begründung: Rechtschreibung
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Felder in Echtzeit anzeigen 18 Apr 2016 06:52 #3622

Hallo ChrisseDD,

Auf SEBLOD® Variablen kannst du nur innerhalb der SEBLOD® Templates zugreifen. In den beforeRender, beforeStore Events musst du auf $fields referenzieren anstatt $cck.
Joomla Templates sind diese Variablen nicht bekannt.
J!Praxis - Besser.Online - seit 2009
Joomla! Business Support, Programmierung, Websicherheit.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Felder in Echtzeit anzeigen 18 Apr 2016 07:36 #3624

PS. Du bist einem Grundgedankenfehler auf den Leim gegangen. _JEXEC ist eine globale Variable, die nur zur Laufzeit von php exisitiert. Du referenzierst diese aber in einem Ajax-Call und umgehst damit Sicherheitsbestimmungen und die Logik des Frameworks.
Ein solcher Aufruf muss die Standards des Frameworks respektieren, sonst kommt es unweigerlich (und zum Glück) zu Fehlern.
Auch für deine Anwendung gibt es Methoden, auf welche du zurück greifen kannst - das wäre dann ein Plugin welches du programmieren möchtest...

Liebe Grüße,
Pierre.
J!Praxis - Besser.Online - seit 2009
Joomla! Business Support, Programmierung, Websicherheit.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: ChrisseDD
nach oben