PHPNuker


Hilft da wo andere versagen, und noch ein Stück weiter.!



 

          Username:     Password:                

headerPHPNuker - Addon Theme Module Wysiwyg - FCKeditor PHPNuker Download Archiv PHPNuker Support Forum PHPNuker Community Account PHPNuke Weblinks

               
pixel
   

Steuerung

Seite merken

Weiter erzählen


 Alle Besucher
Startseite
Avant Go
Support-Forum
Artikel Archiv
Top 10
Themen
Links
RSS-Überschriften
Dein Konto

 Nur Mitglieder
FCKeditor2
FCKeditor FAQ
PHP Manual
PHPNuke Manual
Teilnehmerliste
Download
Private Nachricht
Suchen
Shout-Box
Neues einsenden
Umfragen
Partner
Button Maker

 Information
Kontaktformular
Impressum
Datenschutz
Werbe Banner!
Statistiken



   

Empfehlungen

Finden Sie hier Link Empfehlungen!
   

Bookmark


   

Freeware News

 
Freeware-base.de - Freeware Software Download Kostenlos
Anzeige
PHPNuke - Addon - Theme - Module - wysiwyg FAQ (Häufige Fragen und Antworten)



Bereich: Start -> FCKEditor in anderen Modulen einbinden nur Version 1.60 PHPNuke 7.5

Frage
·  Wie fange ich an?
·  Wo muss ich nun was §ndern?
·  Und jetzt der rest!
·  Fertig ?

Antwort
·  Wie fange ich an?

Als erstes w§hlt ihr, in welchen Modul der Editor zu sehen sein soll (statt der Textarea), hier in diesen Beispiel nehmen wir das Content Modul von PHPNuke.

Daf?r begeben wir uns in das jeweilige Directory (in diesen Fall in /modules/Content/admin/). Hier ¸ffnen wir mit einem Text Editor (notepad) oder einen anderen Editor, (solltet ihr keinen haben findet ihr einen Editor auf meiner freeware-base.de unter Utilities/Editoren) und ¸ffnet die Datei index.php.

[ Zurück zum Anfang ]

·  Wo muss ich nun was §ndern?

Jetzt sollte dieses hier im Editor zu sehen sein (PHPNuke 7.5):

if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
global $prefix, $db;
$aid = substr("$aid", 0,25);
$row = $db->sql_fetchrow($db->sql_query("SELECT title, admins FROM ".$prefix."_modules WHERE title='Content'"));
$row2 = $db->sql_fetchrow($db->sql_query("SELECT name, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'"));
$admins = explode(",", $row['admins']);
$auth_user = 0;
for ($i=0; $i < sizeof($admins); $i++) {
   if ($row2['name'] == "$admins[$i]" AND $row['admins'] != "") {
       $auth_user = 1;
   }
}

if ($row2['radminsuper'] == 1 || $auth_user == 1) {

/*********************************************************/
/* Sections Manager Functions                            */
/*********************************************************/

function content() {


Hier f?gt ihr eine Zeile hinzu nach:

if ($row2['radminsuper'] == 1 || $auth_user == 1) {

Das ganze sollte dann so ausschauen:

if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
global $prefix, $db;
$aid = substr("$aid", 0,25);
$row = $db->sql_fetchrow($db->sql_query("SELECT title, admins FROM ".$prefix."_modules WHERE title='Content'"));
$row2 = $db->sql_fetchrow($db->sql_query("SELECT name, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'"));
$admins = explode(",", $row['admins']);
$auth_user = 0;
for ($i=0; $i < sizeof($admins); $i++) {
   if ($row2['name'] == "$admins[$i]" AND $row['admins'] != "") {
       $auth_user = 1;
   }
}

if ($row2['radminsuper'] == 1 || $auth_user == 1) {

// include Editor Start
include("modules/FCKeditor/fckeditor.php");
// include Editor Ende

/*********************************************************/
/* Sections Manager Functions                            */
/*********************************************************/

function content() {

Hier haben wie nun folgendes getan, durch das einf?gen der Zeile ¶include....÷ wurde dem Modul
noch ein weiterer Script teil zum Laden vorgesetzt ;-) Der Inhalt befindet sich in der fckeditor.php das wird an der Stelle hin eingeladen. Nun wei? das Modul wenn jetzt irgendwo der Aufruf des Editors kommt im Script was zu tun ist (Editor ausgeben und weitere Befehle abwarten).
Mehr dazu im n§chsten Teil wo die Textarea gesucht und ersetzt wird.

[ Zurück zum Anfang ]

·  Und jetzt der rest!

So, nun kommen wir zu dem Teil, wo es vielleicht ein wenig komplizierter wird f?r euch.. aber versuchen wir es doch einfach mal. Ben¸tigt wird weiterhin der Editor, mit der ge¸ffneten Datei.
Wir suchen nun per Druck (Strg-F) [steht f?r Suchen im Text, sollte so ziemlich  jeder Editor k¸nnen und kennen], und geben als Suchbegriff textarea ein, und best§tigen nun, und lassen den Editor suchen, nach sehr kurzer Zeit (sollte recht fix gehen, falls nicht ist euer Rechner defekt, oder ihr editiert eine falsche Datei ;-) ). Nun sollte folgender Abschnitt zu sehen sein bei euch auf dem Bildschirm (im Editor):

   OpenTable();
   echo "<center><b>" . _ADDCATEGORY . "</b></center><br><br>"
       ."<form action="admin.php" method="post">"
."<b>" . _TITLE . ":</b><br><input type="text" name="cat_title" size="50"><br><br>"
."<b>" . _DESCRIPTION . ":</b><br><
textarea name="description" rows="10" cols="50"></textarea><br><br>"
       ."<input type="hidden" name="op" value="add_category">"
."<input type="submit" value="" . _ADD . "">"
       ."</form>";
   CloseTable();
   $rescat = $db->sql_query("SELECT cid, title from " . $prefix . "_pages_categories order by title");
   $numrows = $db->sql_numrows($rescat);
   if ($numrows > 0) {
       echo "<br>";
       OpenTable();
echo "<center><b>" . _EDITCATEGORY . "</b></center><br><br>"
           ."<form action="admin.php" method="post">"
   ."<b>" . _CATEGORY . ":</b> "
           ."<select name="cid">";
   while ($row_cat = $db->sql_fetchrow($rescat)) {
$cid = intval($row_cat['cid']);
$cat_title = $row_cat['title'];
           echo "<option value="$cid">$cat_title</option>";
       }
       echo "</select>&nbsp;&nbsp;"
           ."<input type="hidden" name="op" value="edit_category">"
   ."<input type="submit" value="" . _EDIT . "">"
           ."</form>";
       CloseTable();

Diese Textarea ist aber nicht weiter interessant, da es hier nur um eine Beschreibung eines Content Thema geht, also sucht einfach weiter, und promt seit ihre eine Zeile tiefer (die textarea wird geschlossen [</textarea>], also weiter suchen............ so jetzt wird es interessant, nun sollte folgender Teil zu sehen sein:

   echo "<b>" . _CSUBTITLE . ":</b><br>"
       ."<input type="text" name="subtitle" size="50"><br><br>"
."<b>" . _HEADERTEXT . ":</b><br>"
       ."<
textarea name="page_header" cols="60" rows="10"></textarea><br><br>"
."<b>" . _PAGETEXT . ":</b><br>"
."<font class="tiny">" . _PAGEBREAK . "</font><br>"
       ."<textarea name="text" cols="60" rows="40"></textarea><br><br>"
."<b>" . _FOOTERTEXT . ":</b><br>"
       ."<textarea name="page_footer" cols="60" rows="10"></textarea><br><br>"
."<b>" . _SIGNATURE . ":</b><br>"
       ."<textarea name="signature" cols="60" rows="5"></textarea><br><br>";
   if ($multilingual == 1) {
echo "<br><b>" . _LANGUAGE . ": </b>"
           ."<select name="clanguage">";
       $handle=opendir('language');
       while ($file = readdir($handle)) {
           if (preg_match("/^lang-(.+).php/", $file, $matches)) {
               $langFound = $matches[1];
               $languageslist .= "$langFound ";
           }
       }

Wie ihr hier sehen k¸nnt werden hier gleich 4 Textareas angezeigt die offen und geschlossen sind (die ersten 3 sind interessant [page_header, text, page_footer], jetzt geht es ans editieren...
Nachdem alles editiert ist, sollte das ganze so aussehen:

   echo "<b>" . _CSUBTITLE . ":</b><br>"
       ."<input type="text" name="subtitle" size="50"><br><br>"
."<b>" . _HEADERTEXT . ":</b><br>"
;

// Editor Start
$oFCKeditor = new FCKeditor;
$oFCKeditor->CreateFCKeditor('page_header', '95%', 350);
// Editor Ende

#
      ."<textarea name="page_header" cols="60" rows="10"></textarea><br><br>"
echo "<b>" . _PAGETEXT . ":</b><br>"
."<font class="tiny">" . _PAGEBREAK . "</font><br>"
;

// Editor Start
$oFCKeditor = new FCKeditor;
$oFCKeditor->CreateFCKeditor('text', '95%', 350);
// Editor Ende

#
      ."<textarea name="text" cols="60" rows="40"></textarea><br><br>"
echo "<b>" . _FOOTERTEXT . ":</b><br>";

// Editor Start
$oFCKeditor = new FCKeditor;
$oFCKeditor->CreateFCKeditor('page_footer', '95%', 350);
// Editor Ende

#
      ."<textarea name="page_footer" cols="60" rows="10"></textarea><br><br>"
echo "<b>" . _SIGNATURE . ":</b><br>"
       ."<textarea name="signature" cols="60" rows="5"></textarea><br><br>";
   if ($multilingual == 1) {
echo "<br><b>" . _LANGUAGE . ": </b>"
           ."<select name="clanguage">";
       $handle=opendir('language');
       while ($file = readdir($handle)) {
           if (preg_match("/^lang-(.+).php/", $file, $matches)) {
               $langFound = $matches[1];
               $languageslist .= "$langFound ";
           }
       }

Ich habe hier mal alles rot markiert was ich ge§ndert habe (ist doch nicht ganz so viel). So und weil es so doll war, zerpfl?cken wir das ganze mal und ich erkl§re euch was das alles soll, und wozu das ganze gut ist, fangen wir mal oben an:

."<b>" . _HEADERTEXT . ":</b><br>";    // Das Semicolon steht an der Stelle hier daf?r, das gleich ein Befehl kommt (kein normaler HTML Code), wenn ihr das vergiest, wird euch der Browser an der Stelle einen parse Fehler ausgeben.

// Editor Start    //
Hier kommentiere ich das der Editorcode gleich startet, und total unwichtig, so kann man aber nachher sehen wo ?nderungen im Code vorgenommen worden sind (ausgeklammert, kann auch mit */ Hier was nicht beachtet werden soll /*, oder # hier steht was nicht beachtet werden soll) alle 3 m¸glichkeiten gehen, um im Code etwas zu makieren oder auszuklammern.
$oFCKeditor = new FCKeditor; // Mega wichtig, hier wird der fckeditor.php (deren Code Inhalt) mitgeteilt, das der Editor gestartet werden soll.
$oFCKeditor->CreateFCKeditor('page_header', '95%', 350); // Mega wichtig, hier wird der Editor gestartet. Was in der textarea Name stand ist hier der page_header wie auch unter <textarea name=...., die Zahl 95% gibt hier die gr¸?e an (Breite des Editors), und die Zahl 350 gibt die H¸he in Pixel an des Editors.
// Editor Ende     // Hier gilt das selbe wie bei Editor Start

#
      ."<textarea name="page_header" cols="60" rows="10"></textarea><br><br>" // Mit der Raute #, wird ein Bereich im Code ausgeklammert, der nicht abgearbeitet werden soll.
echo "<b>" . _PAGETEXT . ":</b><br>" // Nachdem oben die Befehle abgearbeitet worden sind, und es hier wieder mit html Code weiter geht mu? die Zeile mit einem echo anfangen, falls hier aber php Code kommen w?rde m??te dort nichts ge§ndert werden.
."<font class="tiny">" . _PAGEBREAK . "</font><br>"
;  // Das selbe wie oben es kommt Code, und da mu? die Zeile am Ende ein Semicolon haben.

Sieht ganz sch¸n Wirr aus, aber im Grunde genommen doch recht einfach. ich hoffe das ich es euch doch recht gut erkl§ren konnte (ist normal nicht mein dingen). Naja nun geht es weiter (war noch nicht alles).. Hier wurde nur der Weg geebnet f?r das einbinden von neuen Content...
F?r das nachbearbeiten fehlt also noch ein Teil, also suchen wir weiter nach textarea, und sollten dann wieder auf einen unwichtigen Teil sto?en (Description) [Beschreibung]... also weiter suchen, nun sollte etwa folgendes zu sehen sein:

   echo "<b>" . _CSUBTITLE . ":</b><br>"
."<input type="text" name="subtitle" size="50" value="$mysubtitle"><br><br>"
."<b>" . _HEADERTEXT . ":</b><br>"
."<textarea name="page_header" cols="60" rows="10">$mypage_header</textarea><br><br>"
."<b>" . _PAGETEXT . ":</b><br>"
."<font class="tiny">" . _PAGEBREAK . "</font><br>"
."<textarea name="text" cols="60" rows="40">$mytext</textarea><br><br>"
."<b>" . _FOOTERTEXT . ":</b><br>"
."<textarea name="page_footer" cols="60" rows="10">$mypage_footer</textarea><br><br>"
."<b>" . _SIGNATURE . ":</b><br>"
."<textarea name="signature" cols="60" rows="5">$mysignature</textarea><br><br>";

Hier m?ssen nun ein paar ?nderungen vorgenommen werden (das ist in ?brigen der Teil wo man den abgespeicherten content nachbearbeiten kann, hier kommt auch gleich eine weitere wichtige Zeile hinzu, diese werd ich aber anschlie?end wieder erkl§ren was diese bewirkt.

   echo "<b>" . _CSUBTITLE . ":</b><br>"
."<input type="text" name="subtitle" size="50" value="$mysubtitle"><br><br>"
."<b>" . _HEADERTEXT . ":</b><br>"
;

// Editor Start
$oFCKeditor = new FCKeditor;
$oFCKeditor->Value = "$mypage_header";
$oFCKeditor->CreateFCKeditor('page_header', '95%', 350);
// Editor Ende

#
."<textarea name="page_header" cols="60" rows="10">$mypage_header</textarea><br><br>"
echo "<b>" . _PAGETEXT . ":</b><br>"
   ."<font class="tiny">" . _PAGEBREAK . "</font><br>"
;

// Editor Start
$oFCKeditor = new FCKeditor;
$oFCKeditor->Value = "$mytext";
$oFCKeditor->CreateFCKeditor('text', '95%', 350);
// Editor Ende

#
."<textarea name="text" cols="60" rows="40">$mytext</textarea><br><br>"
echo "<b>" . _FOOTERTEXT . ":</b><br>";

// Editor Start
$oFCKeditor = new FCKeditor;
$oFCKeditor->Value = "$mypage_footer";
$oFCKeditor->CreateFCKeditor('page_footer', '95%', 350);
// Editor Ende

#
."<textarea name="page_footer" cols="60" rows="10">$mypage_footer</textarea><br><br>"
echo "<b>" . _SIGNATURE . ":</b><br>"
."<textarea name="signature" cols="60" rows="5">$mysignature</textarea><br><br>";

Tja in diesem Teil ist fast alles gleich, nur es ist eine Zeile hinzugekommen bei dem Aufruf des Editors. $oFCKeditor->Value = "$mypage_header";
Die Zeile beinhaltet den Value (Die Ausgabe in einer Textarea), welche das ist kann man in der Zeile sehen wo die normale Textarea ausgegeben wird, oben im page_header ist es die $mypage_header, in dieser Variable stehen die Informationen die zuvor angelegt worden sind beim erstellen der Content Seite. Da ich alle alten Zeilen die im Quellcode standen nicht gel¸scht habe (siehe die Raute vor den Zeilen) kann man genau sehen was normal geschieht (name der Textarea, mit dem Inhalt von $mypage_header bevor die Textarea geschlossen wird (</textarea>).
Ich hoffe ich konnte das ganze einigerma?en r?ber bringen an euch. Sch¸ner w§re es gewesen wenn ihr euch alle gegenseitig helfen w?rdet, so h§tte ich weniger arbeit mit dem erstellen von Tutorials, und k¸nnte mich mehr auf den Editor konzentrieren.

[ Zurück zum Anfang ]

·  Fertig ?

Ja, der Teil sollte abgeschlossen sein mit dem Content Modul, bei anderen Modulen kann es schon mal sein das ihr dort ein wenig mehr §ndern m??t. Aber daf?r war halt die kleine Tutorial diese sollte euch auch helfen in anderen Modulen den Editor einzubauen.

[ Zurück zum Anfang ]



Design @ 2004 Freenuke -/- modifiziert PHPNuker.de
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters,
all the rest (c) 2004-2012 by phpnuker.de.

[ SharewareWorld ] - [ Freeware-base ] - [ Weblink4U ] - [ Der-Goldesel ] - [ Firmwarebase ] - [ prZone ] - [ FreieSoft ]
[ Mailtausch-prZone ] - [ Kostenlosesoft ] - [ XFreeware ] - [ Shareware-Community ] - [ Freie-Homepage ] - [ Spielebase ]
[ Freeware95 ] - [ Webkatalog ]


Erstellung der Seite: 0.05 Sekunden