Nachrichten Script von Werner direkt in MB einbauen

PHP, CSS und JavaScript lernen. Anwendungen für Webseiten
Benutzeravatar
Volker
Moderator
Moderator
Beiträge: 855
Registriert: Sa 12. Dez 2020, 22:35
Wohnort: Wildberg
Kontaktdaten:

Nachrichten Script von Werner direkt in MB einbauen

Ungelesener Beitrag von Volker »

Hallo Tommy,

das Nachrichten Script vom Werner lässt sich ja nicht direkt in einem Block in Mobirise einbauen, da die Anker entsprechend gesetzt werden müssten, bzw. man mit anderen ID´s arbeiten müsste. So hab ich es verstanden.

Du hast ja bei seiner Kommentar Box auch eine Änderung vorgenommen, um die direkt in Mobirise einzubauen.

Nun meine Frage : :D

Geht das nicht auch für das Nachrichten Script ?
Wäre bestimmt für viele eine interessante Alernative als das dyn. Iframe ;)
Gruß Volker
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Nachrichten Script von Werner direkt in MB einbauen

Ungelesener Beitrag von Tommy Herrmann »

Moin,

ja natürlich kann man das Script "MySQL Nachrichten" vom Werner ebenso direkt in Mobirise einbauen, das hatte ich ja schon Jahre zuvor auch in NOF direkt eingebaut. Hier ist genau das gleiche Script in NOF, nur eine ältere Version aus dem Jahr 2013:

http://www.nof-tutorials.com/Nachrichten/

In NOF gab es mit den Anker-Links keinerlei Probleme - in Mobirise schon.

Das Problem liegt also überhaupt nicht im direkten Einbau, sondern es liegt immer bei den Anker-Links, den IDs zum korrekten Sprung auf den Mobirise-Block.

Gerade diese Anwendung hat Werner auch total einfach zum Inkludieren eingerichtet. Man schreibt nur diese eine Zeile als PHP-Include in seinen Block von Mobirise:

Code: Alles auswählen

<?php include "nachrichten.php";?>
... müsste dann aber natürlich die Mobirise-Seite mit dem Einbau-Block auch auf die Dateierweiterung .php umstellen, denn nun müsste ja PHP auch verarbeitet werden können (im Gegensatz zum Iframe).

Damals, als ich das Nachrichten-Script im Jahr 2020 in Mobirise verwendet habe, hatte Werner gerade auch ein JavaScript entwickelt um einen dynamischen Iframe darzustellen. Da dieses Nachrichten Skript eine Menge Navigation hat, entsteht in Mobirise immer das gleiche Problem mit den Anker-Links dazu, die man immer in den Skripten vom Werner komplett neu schreiben muss, was gerade beim Nachrichten Skript sehr aufwändig ist, damit man diese Anker dann über ein eigens zu entwickelndes JavaScript ansteueren kann.

Der PHP ECHO Befehl und andere PHP Anweisungen, wie der POST Befehl, werden von Mobirise nicht zu einem Anker-Link (#anker) weitergeleitet, sie landen alle nur "oben" auf der Seite.

So kam mir das damals ganz gelegen und ich habe das mal (ausnahmsweise) über dieses dynamische Iframe eingebunden, damals auch nicht zuletzt, um dieses dynamische Iframe überhaupt auch mal zu testen.

Sämtliche anderen Anwendungen vom Werner habe ich alle direkt eingebunden, wie Formulare, Gästebücher, Kommentare, sonst etwas. Auch da gab es immer wieder das Problem der Navigation, denn man will ja den Anker auf die Seiten der Anwendung setzen und nicht auf die Mobirise-Seite (oben). Es benötigt dann immer ein extra JavaScript zu dem man immer alles auch im Skript vom Werner umschreiben muss.

Das einem Anfänger klar zu machen und zu erklären, möchte ich vermeiden.

Beispiel vom Gästebuch:

https://www.mobirise-tutorials.com/Gastbuch.php

Code: Alles auswählen

  <!-- Reload für Gästebuchseiten -->
  <script>
      function myPage(seite) {
      window.location.href = 'Gastbuch.php?seite=' + seite + '#content1-aw';
  }
  </script>
Beispiel-Zeile im Script POST:

Code: Alles auswählen

<form name="Form" action="Gastbuch.php?eintragen#content1-aw" method="post">
Beispiel-Zeile im Script PRINT (Werner verwendet hier auch ECHO) zur Seiten-Navigation:

Code: Alles auswählen

print '<p>' . (($AktuelleSeite - 1) > 0 ? '<a href="?seite=' . ($AktuelleSeite - 1) . '#content1-aw" onclick="myPage(\'' . ($AktuelleSeite - 1) . '\')">&#9668; Zurück</a>&nbsp; ' : '') . ' ' .
                       (($AktuelleSeite + 1)  <= $Seitenanzahl ? '<a href="?seite=' . ($AktuelleSeite + 1) . '#content1-aw" onclick="myPage(\'' . ($AktuelleSeite + 1) . '\')">Weiter &#9658;</a>' : '') . '</p>';
Glaube also nicht, dass ich mir das einfach nur leicht mache, denn alle diese Zeilen existieren so nicht in Werners Scripten und funktionieren daher dann beim direkten Einbau in Mobirise nicht. Sie funktionieren nur, wenn die Anzeige im obersten Block von Mobirise stattfindet.


Auch bei der von Dir erwähnten Kommentar-Box ist das so, solange man diese nicht ganz oben - als Headder-Block - in Mobirise verwendet:

https://www.mobirise-tutorials.com/Tuto ... ar-Box.php

... dort habe ich das auch mit diesem JavaScript (von Werner) anpassen müssen:

Code: Alles auswählen

  <!-- Reload für Kommentarseiten -->
  <script>
    function aktion(seite) {
        window.location.href = seite;
    }
  </script>
Beispiel-Zeile im Script PRINT für die Seiten-Navigation:

Code: Alles auswählen

// Formular anzeigen
print '<form name="Form" action="' . $_SERVER["SCRIPT_NAME"] 
. (isset($_GET["seite"]) ? '?seite=' . $_GET["seite"] : '?seite=1') 
. '&aktion=aendern#mycomment" method="post">
Der Original-Code (unten) sieht dagegen so aus, hier ist es also nur eine einfache Änderung vom Anker in die ID des Mobirise-Blocks:

Code: Alles auswählen

// Formular anzeigen
print '<form name="Form" action="' . $_SERVER["SCRIPT_NAME"]
 . (isset($_GET["seite"]) ? '?seite=' . $_GET["seite"] : '?seite=1')
 . '&aktion=aendern#anker" method="post">
Deswegen habe ich u.a. auch auf meiner Kommentar-Box Seite einen zusätzlichen Download von diesem Script, indem ich bereits diese Block-ID in "#mycomment" geändert habe.
Antworten

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 118 Gäste