2010-11-22 4 views
1

Zend + TinyMCE verwenden Ansicht Variable in TinyMCE Dialog; Wie kann ich die View-Variable für eine Datei außerhalb des Zend-Frameworks abrufen?Zend + TinyMCE verwenden Ansichtsvariable im tinyMCE-Dialog; Wie greife ich von außerhalb des Zend Framework auf die View-Variable zu?

Ich erstelle ein Plugin für tinyeMCE, in dem der Benutzer eine Liste von Seiten aus dem CMS auswählen kann. Ich retrieve die Werte aus der Datenbank und übergibt diese an die View-Datei. Dies funktioniert auf der Seite selbst. Jetzt möchte ich das im Dialog von tinyMCE verwenden. Das Plugin verwendet eine .php Datei mit dem Inhalt der Dialoge. Ich kann das $this->variable nicht wie normalerweise verwenden.

Die (größere) Frage lautet also: Wie greife ich auf die Ansichtsvariable von außerhalb des Zend Frameworks zu? (Oder einen Teil des Zend Framework sein?)

Zusatzinfo

Fand heraus, zu antworten, dass Sie den Code unten verwenden möglich ist, eine Aktion von zf zu nennen:

ed.addCommand('mcepagelink', function() { 
      ed.windowManager.open({ 
       file : url + '../../../../../admin/tinymce/pagelink', 
       width : 320 + parseInt(ed.getLang('pagelink.delta_width', 0)), 
       height : 200 + parseInt(ed.getLang('pagelink.delta_height', 0)), 
       inline : 1 
      }, { 
       plugin_url : url, // Plugin absolute URL 
       some_custom_arg : 'custom arg' // Custom argument 
      }); 

Gehen Back Roots ist natürlich abhängig von Ihnen Anwendungsstruktur

Antwort

0

mit würde ich vorschlagen, die URL für Ihr Plugin an einem Zeige Zend Framework Seite stattdessen. Auf diese Weise können Sie den gleichen (oder ähnlichen) Code verwenden und die View-Variablen wie gewohnt verwenden.

+0

Ich arbeitete an einem benutzerdefinierten Datei- und Bildbrowser, und mit der Callback-Funktion habe ich herausgefunden, dass ich auf einen Controller zeigen kann, also verwende ich diesen Ansatz auch dafür. –

0

Warum verwenden Sie nicht eine js-varaible, um den Wert von $this->variable zu speichern?

Ein weiterer Ansatz ist tinymce mit einer zusätzlichen Einstellung zu initialisieren:

my_custom_var: '<?php echo $this->variable ?>', 

, die Sie in einem Plugin reffer können später

ed.getParam('my_custom_var');