[gelöst] php Code im TinyMCE einfügen?

Hilfe zu Modulen und Tags
Post Reply
AL-d82

[gelöst] php Code im TinyMCE einfügen?

Post by AL-d82 »

Hallo,
habe die Suche benutzt nur leider nicht wirklich was gefunden :o(

Folgendes.

Ich möchte ein PHP Code mittels Tiny einfügen.

Problem sobald ich es eingefügt habe und speichere entfernt es Teile des Codes.
Ist eine Ergebnistabelle


Auf HTML Code Ansicht geschaltet:

Code: Select all

{literal}     
 
<?php
require_once('class.inc.php'); // Klasse einbinden

// Neues Objekt erstellen
$myTabelle = new ContentBlock();

// Diese Dinge müssen entsprechend gesetzt werden
$myTabelle->block = "tabelle";
$myTabelle->url = "http://www.vlw-online.de/xml/tabelle_2010_82.xml";
$myTabelle->cache_file = "tabelle.rdf"; 

// Dies Ausgabe ist je Contenblock verschieden !

$myTabelle->tags = array("platz", "team", "spiele", "plussaetze", "minussaetze", "pluspunkte", "minuspunkte"); 

// Ausgabe-Layout anpassen (optional)
$myTabelle->table_attributes = "cellpadding=\"3\" cellspacing=\"1\" class=\"table_hintergrund\"";
$myTabelle->tr_attributes = "height=\"20\"";
$myTabelle->td_attributes = "class=\"td_in_gerader_zeile\"";
$myTabelle->odd_td_attributes = "class=\"td_in_ungerader_zeile\"";
$myTabelle->special_td_attributes = "class=\"td_in_spezieller_zeile\"";
$myTabelle->is_special = "Offenau"; // Alle Zeilen, in denen "Maichingen" vorkommt, werden hervorgehoben
$myTabelle->th = "<!-- keine Kopfzeile -->";

// Ausgabe der Tabelle
echo $myTabelle->buildContentBlock();
?>

{/literal}
Tiny kürtzt das in

Code: Select all

{literal}     block = "tabelle"; $myTabelle->url = "http://www.vlw-online.de/xml/tabelle_2010_82.xml"; $myTabelle->cache_file = "tabelle.rdf";   // Dies Ausgabe ist je Contenblock verschieden !  $myTabelle->tags = array("platz", "team", "spiele", "plussaetze", "minussaetze", "pluspunkte", "minuspunkte");   // Ausgabe-Layout anpassen (optional) $myTabelle->table_attributes = "cellpadding=\"3\" cellspacing=\"1\" class=\"table_hintergrund\""; $myTabelle->tr_attributes = "height=\"20\""; $myTabelle->td_attributes = "class=\"td_in_gerader_zeile\""; $myTabelle->odd_td_attributes = "class=\"td_in_ungerader_zeile\""; $myTabelle->special_td_attributes = "class=\"td_in_spezieller_zeile\""; $myTabelle->is_special = "Offenau"; // Alle Zeilen, in denen "Maichingen" vorkommt, werden hervorgehoben $myTabelle->th = "<!-- keine Kopfzeile -->";  // Ausgabe der Tabelle echo $myTabelle->buildContentBlock(); ?>{/literal}

Ist es überhaupt möglich PHP Code über Tiny einzufügen?

Danke Greez AL
Last edited by AL-d82 on Wed Apr 21, 2010 4:43 pm, edited 1 time in total.
owr_bgld

Re: php Code im TinyMCE einfügen?

Post by owr_bgld »

Tiny hat da seine Eigenheiten - und es gibt bessere Möglichkeiten

Daher würde ich eher einen benutzerdefinierten Tag erstellen und diesen dann einbinden. Außerdem hast du dort den Vorteil, dass du sogar mit Parametern arbeiten kannst und das gleiche php-Script eventuell mit anderen Parametern in verschiedene Seiten einfügen kannst.
cyberman

Re: php Code im TinyMCE einfügen?

Post by cyberman »

Es ist eine ganz schlechte Idee, PHP-code im Contentbereich einzufügen!

Abgesehen davon musst du die Option zur Verwendung von php erst in der config.php aktivieren. Dann solltest du den Code ohne die <?php Tags via

Code: Select all

{php}
Code
{/php}
einfügen können. Damit Tiny dir nicht reinfunkt, könntest du dessen Verwendung in der Registerkarte Optionen für diese Seite verbieten.

Ich würde aber die Werte eher innerhalb des Benutzerdefinierten Tags an Smarty zuweisen und dann via display() mit einem Template anzeigen lassen. Mit Smarty kannst du dir dann auch solche even/odd Geschichten sparen, da alles bereits in Smarty vorhanden.

Oder du schaust mal, ob du nicht gleich besser für deine Zwecke ein Modul verwenden kannst - dazu fällt mit TeamSportScore ein

http://dev.cmsmadesimple.org/projects/teamsportscores
AL-d82

Re: php Code im TinyMCE einfügen?

Post by AL-d82 »

Danke  euch beiden.

hab mich nun für die Benutzerdefinierten Tags entscheiden.

Habe für die jeweilige Tabelle einen Tag erstellt und es dann mittels Smarty ausgegeben.

Das Modul TeamSportScore sieht net schlecht aus. Habe es aber doch nicht benutzt da ich die Tabelle von einer anderen HP beziehe somit muss ich nichts aktualisieren.

greez AL

http://www.tgo-volleyball.de/cms/index. ... ergebnisse
owr_bgld

Re: php Code im TinyMCE einfügen?

Post by owr_bgld »

AL-d82 wrote: Habe für die jeweilige Tabelle einen Tag erstellt und es dann mittels Smarty ausgegeben.
das ist was ich meinte mit parameter, sofern der php code derselbe ist, außer ein anderer Name für die xml-Datei

als Beispiel:

Code: Select all

{TAGNAME tabelle="tabellenname.xml"}
dafür musst du nur folgendes ändern:

Code: Select all

// Das ist die Zeile bis jetzt:
$myTabelle->url = "http://www.vlw-online.de/xml/tabelle_2010_82.xml";

// Das ist die Zeile, wenn du den Parameter eingibst:
$myTabelle->url = $params['tabelle'];
Somit brauchst du nur einen benutzerdefinierten Tag erstellen - und kannst immer den selber für verschiedene xml-Dateien verwenden, sofern der Rest gleich ist.

Wenn sich ansonsten auch noch was ändern müssteist die Frage wieviel - wenns nicht allzuviel ist, PM ;)
Last edited by owr_bgld on Fri Apr 16, 2010 2:14 pm, edited 1 time in total.
AL-d82

Re: php Code im TinyMCE einfügen?

Post by AL-d82 »

owr_web wrote:
AL-d82 wrote: Habe für die jeweilige Tabelle einen Tag erstellt und es dann mittels Smarty ausgegeben.
das ist was ich meinte mit parameter, sofern der php code derselbe ist, außer ein anderer Name für die xml-Datei

als Beispiel:

Code: Select all

{TAGNAME tabelle="tabellenname.xml"}
dafür musst du nur folgendes ändern:

Code: Select all

// Das ist die Zeile bis jetzt:
$myTabelle->url = "http://www.vlw-online.de/xml/tabelle_2010_82.xml";

// Das ist die Zeile, wenn du den Parameter eingibst:
$myTabelle->url = $params['tabelle'];
Somit brauchst du nur einen benutzerdefinierten Tag erstellen - und kannst immer den selber für verschiedene xml-Dateien verwenden, sofern der Rest gleich ist.

Wenn sich ansonsten auch noch was ändern müssteist die Frage wieviel - wenns nicht allzuviel ist, PM ;)
Hi, die Lösung von dir hört sich nicht schlecht an.

Aber da ist noch eine Sache die sich ändert
http://www.vlw-online.de/xml/tabelle_2010_82.xml  cache_file = "tabelle.rdf";

Diese Datei muss für jede Tabelle extra auf meinem Server sein pro Tabelle eine .rdf weil da wird dann die zu Auszugebenden Ergebnisse gespeichert und ausgelesen.
Wenn ich die Syntax verstanden habe dann müsste das auch so gehen oder?

Code: Select all

// Das ist die Zeile bis jetzt:
$myTabelle->cache_file = "tabelle.rdf";

// Das ist die Zeile, wenn du den Parameter eingibst:
$myTabelle->cache_file = $params['cashfile'];
{TAGNAME tabelle="tabellenname.xml" cashfile="cashfilename.rdf"}

ist das richtig?
  greez AL

Update: Jup so funktioniert es mit nur einem Benutzerdefiniertem TAG
DANKE
Last edited by AL-d82 on Fri Apr 16, 2010 4:23 pm, edited 1 time in total.
owr_bgld

Re: php Code im TinyMCE einfügen?

Post by owr_bgld »

jep, aber wenn es egal ist, wie die Tabelle.rdf heißt, könntest du es sogar mit einem param lösen.

Voraussetzung: Endung xml und rdf ändern sich nicht (davon gehe ich aus) und der Tabellenname als Parameter muss ohne.xml eingegeben werden

Code: Select all

//xml-Tabelle Variante 1
$myTabelle->url = $params['tabelle'] . ".xml";

//xml-Tabelle Variante 2:
$myTabelle->url = $params['tabelle'];
$myTabelle->url .= ".xml";

//rdf-Tabelle Variante 1
$myTabelle->cache_file = $params['tabelle'] . ".rdf";

//rdf-Tabelle Variante 2
$myTabelle->cache_file = $params['tabelle'];
$myTabelle->cache_file .= ".rdf";
Der Parameter in deinem Beispiel würde also "tabelle_2010_82" lauten.

Die Varianten sind nur um zu zeigen, dass man es entweder direkt in eine Zeile oder auch in zwei schreiben kann. Der Punkt nach params bzw. vor dem = ist sozusagen als UND zu verstehen.


Wenn das Präfix "tabelle" am Anfang sich auch nie ändert, dann könntest du sogar nur einen Teil davon als parameter einsetzen:

Code: Select all

// Variante 1
$myTabelle->url = "tabelle_" . $params['tabelle'] . ".xml";

//Variante 2
$myTabelle->url = "tabelle_";
$myTabelle->url .= $params['tabelle'];
$myTabelle->url .= ".xml";
Der Parameter wäre in deinem Beispiel also nur mehr "2010_82" und das gleiche für die rdf
AL-d82

Re: php Code im TinyMCE einfügen?

Post by AL-d82 »

hi owr_web
danke für deine Tipps.
Hat mir sehr weiter geholfen  :D

  greez AL
Post Reply

Return to “Module und Tags”