NOF-Forum  |  Referenzen  |  Kontakt  |  Impressum  |  Sitemap

NetObjects Fusion - Tutorials
NOF Tutorials und Hilfe von Thomas Frei-Herrmann

Nachrichten Komponente von NOF

... keine Funktion unter PHP 7.0. Falls Ihr Euch über die Links in meinen Nachrichten wundert guckt hier.

Hier möchte ich versuchen eine kurze Hilfe zur "Nachrichten Komponente" von NOF zu geben. Hier erstellt mit NOF 11. Lest auch meine Bemerkungen zu PHP 5.4.0.

Voraussetzung ist natürlich, dass Euer Paket bei Eurem Provider die PHP (Skriptsprache) beinhaltet!

Zunächst erstellt Ihr Euch 3 neue Seiten für die benötigten Komponenten:

1) Komponente: Verwalten (hier meine Seite “Nachrichten-Admin”)
Diese Seite von der Navigation ausschließen.

2) Komponente: Artikel-Liste (hier meine Seite “Nachrichten”)

3) Komponente: Ganzer Artikel (hier meine Seite “Nachrichten-Details”)

Nun öffnet Ihr z.B. die erste neu erstellte Seite wie “Nachrichten” und geht über Menü zu:

> Ansicht > Komponenten > NOF Nachrichten

... und fügt die Komponente “Artikel-Liste” in diese Seite ein.

Jedesmal wird sich zuerst das Fenster (Bild unten) öffnen.

Hier müsst Ihr beim 1. Mal dem ganzen Projekt einen neuen Namen geben (wie z.B. “Nachrichten”)

Bei allen anderen Komponenten, die Ihr anschließend einfügt, wählt Ihr dann aus “Vorhanden”, diese gleiche Suite (“Nachrichten”) wieder aus. Ihr verwendet also immer die gleiche Suite.

Nachdem Ihr auf OK geklickt habt, erscheinen die Einstellungen der “Artikel-Liste” Komponente
(Bild unten). Hier wählt Ihr nun das Design für diese Komponente aus. Ich habe hier “Grau” verwendet.

Nun wechselt Ihr zum Reiter “Einstellungen

Hier könnt Ihr nun alle möglichen individuellen Einstellungen vornehmen, die sich eigentlich von selbst erklären.

Bei “Datum und Uhrzeit” habe ich feststellen müssen, dass man hier 1 Stunde zusätzlich wählen muss, da hier offensichtlich die Sommerzeit von NOF nicht berücksichtigt wurde. Nachtrag: Dieser Bug wurde inzwischen behoben.

Bei “Ganzen Artikel anzeigen in:” kann man zwischen einer Seite, hier bereits angelegt:
“Nachrichten-Details” hier ein Beispiel auf einer extra Seite, oder auch einem “Popup-Fenster”, wie ich es hier getan habe, wählen.

Nun wechselt Ihr zum Reiter “Allgemein”. Bitte nehmt die Einstellungen wie im Bild unten zu sehen vor.

Die Datenbankeinstellungen zur Datei “news.csvmüssen korrekt sein.

Legt Euch bevor Ihr diese Komponenten publiziert, den Ordner

db

in Eurem Hauptverzeichnis mittels FTP-Programm an. Denkt bitte auch daran, dass dieser Ordner mittels .htaccess geschützt sein sollte.

Bitte tragt Eure korrekte e-Mail Adresse bei “Email:” und “von:” ein.

Ihr solltet nun noch Euren gesamten Einstellungen einen Namen geben
(z.B. Nachrichten1). Dafür auf “Profil speichern” klicken.

Nun öffnet Ihr Eure bereits angelegte Seite “Nachrichten-Details

Jetzt fügt Ihr die Komponente “Ganzer Artikel” ein und wählt die gleiche Suite wie bei
der 1. Komponente, “Artikel-Liste”, aus. Nun öffnet sich das Fenster unten.

Hier könnt Ihr nun das gleiche Design wie schon bei der 1. Komponente verwenden oder auch ein anderes wählen.

Nun wechselt Ihr zum Reiter “Einstellungen

Hier könnt Ihr nun alle möglichen individuellen Einstellungen vornehmen, die sich eigentlich von selbst erklären.

Nun wechselt Ihr zum Reiter “Allgemein”.

Bitte lasst hier alle Einstellungen unverändert, da diese ja nun bereits durch das gleiche Profil wie in der 1. Komponente mit übernommen worden sind. Bestätigen mit “OK

Nun öffnet Ihr Eure bereits angelegte Seite “Nachrichten-Admin

Jetzt fügt Ihr die Komponente “Verwalten” ein und wählt wieder die gleiche Suite wie bei der
1. Komponente, “Artikel-Liste”, aus. Nun öffnet sich wieder das Konfigurations-Menü.

Hier könnt Ihr nun das gleiche Design wie schon bei der 1. Komponente verwenden oder auch ein anderes wählen.

Nun wechselt Ihr zum Reiter “Formular hinzufügen”.

Hier könnt Ihr anhaken welche Felder in den Nachrichten vorkommen sollen und welche Felder ausgefüllt werden müssen. Da Ihr diese Nachrichten ja nur selbst erstellt ist das also ziemlich egal.

Nun wechselt Ihr zum Reiter “Einstellungen”.

Hier gebt Ihr Euer eigenes Administrator Kennwort ein.
Bitte keine Umlaute, keine Sonder- oder Leerzeichen verwenden.

Nun wechselt Ihr wieder zum Reiter “Allgemein”.

Bitte lasst hier alle Einstellungen unverändert, da diese ja nun bereits durch das gleiche Profil wie in der

1. Komponente mit übernommen worden sind. Bestätigen mit “OK

Fertig!

Jetzt könnt Ihr noch alle drei Platzhalter-Fenster, auf den drei Seiten der einzelnen Komponenten, eventuell etwas breiter ziehen, eben in die Größe, die Ihr dann auf den Seiten anzeigen wollt.

Anschließend alles entfernt publizieren und fertig.
(Lokal publizieren ginge nur, wenn Ihr “PHP” auf Eurem PC installiert hättet).


Bemerkung:

Ich habe hier das Design “Grau” gewählt. Bei allen vorgefertigten Designs (wie z.B. “Grau”) erstellt NOF für jede der 3 Komponenten eine eigene CSS-Datei, die so ähnlich heißen wie

nwStyle1215768034718.css

und im Ordner “scripts” zu finden sind. Hier könnte man händisch CSS-Klassen seinen Bedürfnissen anpassen.

Bei der Wahl von “Site Style” wird jedoch die allgemeine CSS-Datei “style.css” verwendet. In dieser fehlt
z.B. dann die Trennlinie zwischen den Beiträgen.

Ich habe hier mal ein Beispiel von der “Nachrichten-Komponente” in meinem “Site Style” in der ich diese Linie in der Datei

style.css

hinzugefügt habe als folgende Klasse (siehe Code unten), die ich in der Design-Ansicht im “CSS-Code”
eingefügt habe.

.nof_news_contentCell
{
        padding : 2px;
        border-bottom : 1px solid rgb(101,117,147)
}

 

Link in der Nachrichten-Komponente - für die “Bastler” unter Euch (nichts für Anfänger)


... noch eine Bemerkung zu der oft gestellten Frage “Wie kann ich einen Link in die Nachrichten bringen?”.

Bei anderen Komponenten, wie z.B. der Komponente “Gästebuch” oder auch “FAQ” kann man einen Link nachträglich in die CSV-Datei schreiben. Dies geht bei der Komponente “Nachrichten” leider nicht.

Ich habe mir daher so beholfen, dass ich ein Skript von NOF etwas modifiziert habe. Bitte bedenkt dabei, dass Ihr das so modifizierte Skript auch sichert, denn NOF würde es bei einer erneuten Publizierung mit seinem Original-Skript wieder überschreiben.

Ihr kopiert Euch die Datei für die Standard-Ansicht:

nw_view.php

aus Eurem Verzeichnis “scripts” vom Server auf den PC und öffnet diese zum Editieren mit dem
Windows-Editor. Geht zu Zeile 161 und ändert diese Zeile wie folgt ab, dabei entfernt Ihr den Befehl

htmlspecialchars

inklusive der dazugehörigen Klammern.

<span class="nof_<?php echo $CSSstyle;?>_message"><?php echo htmlEncode(htmlspecialchars($lines_array[$start][$shortmessage_pos]));?></span>

Das Ergebnis sieht dann so aus:

<span class="nof_<?php echo $CSSstyle;?>_message"><?php echo htmlEncode($lines_array[$start][$shortmessage_pos]);?></span>

Wollt Ihr das gleiche bei der Detail-Ansicht machen, dann müsst Ihr hierfür die Datei:

nw_viewitem.php

aus dem Verzeichnis “scripts” ebenso editieren. Dort geht Ihr zu Zeile 167 und ändert diese Zeile genauso ab, dabei entfernt Ihr den Befehl

htmlspecialchars

inklusive der dazugehörigen Klammern.

<div class="nof_<?php echo $CSSstyle;?>_text"><span class="nof_<?php echo $CSSstyle;?>_message"><?php echo htmlEncode(htmlspecialchars($lines_array[$start][$fullmessage_pos]));?><br></span></div>

Das Ergebnis sieht dann so aus:

<div class="nof_<?php echo $CSSstyle;?>_text"><span class="nof_<?php echo $CSSstyle;?>_message"><?php echo htmlEncode($lines_array[$start][$fullmessage_pos]);?><br></span></div>

Kopiert diese beiden Dateien mit Eurem FTP-Programm dann wieder zurück auf den Server in das Verzeichnis “scripts”.

Ihr könnt nun einen Link und auch anderen HTML-Code direkt in der Admin-Komponente “Verwalten” in der Standard-Ansicht oder in der Detail-Ansicht einfügen und braucht noch nicht einmal die CSV-Datei händisch zu bearbeiten.

Ein solcher Link könnte dann z.B. so aussehen, hier in einem neuen Fenster (target='_blank'):

<a href='http://www.netobjects.de/html/downloads.html' target='_blank'>zum Download</a>

Sicherheitshinweis

NOF hat den Befehl htmlspecialchars nicht ohne Grund in das Skript eingebaut, denn dieser verhindert, dass ein Benutzer der Administrator-Komponente “Verwalten” PHP-Befehle einbringen kann, da Sonderzeichen mittels dieses Befehls umgewandelt werden.

Daher darf da auch kein Unbefugter ran, denn man könnte eben auch nicht nur einen Link so einbringen sondern auch “böse” PHP-Skripte, die dann einen Angriff auf den Server möglich machen.

Am besten Ihr verschiebt dann diese Administrator-Seite in ein mittels .htaccess geschütztes Verzeichnis, wie z.B. den Ordner “db”, den Ihr ja bereits aus Sicherheitsgründen geschützt habt - selbst wenn diese Seite ja ohnehin einen Passwortschutz hat. Ihr könnt diese Seite einfach mit Eurem FTP-Programm in den geschützten Ordner “db” verschieben oder Ihr macht das besser gleich mit NOF wie hier beschrieben.

 

Bemerkung zur PHP-Version am Server:

NOF verwendet in seinen Skripten eben diesen Befehl htmlspecialchars und ab PHP Version 5.4.0 wurde der Standardwert von “encoding” auf UTF-8 gesetzt, daher werden bei dieser Komponente dann Umlaute und Sonderzeichen nicht korrekt dargestellt. In diesem Fall müsstet Ihr die entsprechende Skripte von NOF händisch ändern. Diese Skripte findet Ihr im Verzeichnis “scripts” auf Eurem Server. Es handelt sich um:

  • nw_view.php
  • nw_viewitem.php

Öffnet diese beiden Dateien und sucht nach

  • htmlspecialchars

Fügt jeweils, durch ein Komma getrennt,

  • ENT_QUOTES,'ISO-8859-1'

hinzu.

Also z.B. in der Datei “nw_view.php” (4 Fundstellen nach htmlspecialchars) werdet Ihr diese Zeile finden:

echo htmlspecialchars($lines_array[$start][$title_pos]);

Ändert diese Zeile dann in:

echo htmlspecialchars($lines_array[$start][$title_pos], ENT_QUOTES,'ISO-8859-1');

Alternativ könntet Ihr auch das Verzeichnis “scripts” mit einer .htaccess versehen, in der Ihr auf PHP 5 umstellt (parst).

Viel Erfolg!

zurück

 

Tutorials von Thomas Frei-Herrmann

diese Seite weiter empfehlen


Counter Statistik