[PHP] Yii -- CJuiDialog mittels Ajax

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Atkaz, 27. Mai 2012 .

Schlagworte:
  1. 27. Mai 2012
    Yii -- CJuiDialog mittels Ajax

    Hey Leute,

    sorry dass ich die Frage hier stelle, aber die Wahrscheinlichkeit eine Antwort zu bekommen ist hier wesentlich höher..

    Es geht um Folgendes.
    Ich arbeite mit dem Yii-Framework und bin dabei ne Art Kontrollbuttons zu erstellen..in der Art wie Facebook es hat...nun möchte ich eine Funktion einbauen, um eine Dialogfenster(CJuidialog) mit Inhalt zu laden. Die Buttons funktionieren soweit wie gewünscht...aber das mit dem Dialogfenster gestaltet sich etwas problematisch.

    Das Script ist wie folgt aufgebaut:
    1. Button schickt einen Request(Ajax)
    2. Der Controller/Action lädt die View Datei wo auch der CJuiDialog definiert wurde
    3. Nun sollte, da der CJuiDialoog gesetzt worden ist, durch $("#dialog").dialog("open") auch das Dialogfendetsr mit dem Inhalt aus der view Datei geladen werden...

    Hier das das Script zum besseren Verständnis:

    AjaxLink-Request :
    PHP:
    CHtml :: ajaxLink (...

    'onclick' => 'js: $("#jobDialog").dialog("open")' ,
    'update' => '#dialog' ,

    ...);

    Action
    PHP:

        
    if( Yii :: app ()-> request -> isAjaxRequest  &&  Yii :: app ()-> request -> isPostRequest )
            {
                
                echo 
    $this -> getController ()-> renderPartial ( "public/partials/_dialog_add_group" , false , true );
            }

    View:
    PHP:

    <?php 
    $this
    -> beginWidget ( 'zii.widgets.jui.CJuiDialog' ,array(
                    
    'id' => 'jobDialog' ,
                    
    'options' =>array(
                        
    'title' => Yii :: t ( 'job' , 'Create Job' ),
                        
    'autoOpen' => true ,
                        
    'modal' => 'true' ,
                        
    'width' => 'auto' ,
                        
    'height' => 'auto' ,
                    ),
                    ));
        
    ?>

    Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test 
    Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test v
    Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test vvvvvv


    <?php $this -> endWidget ( 'zii.widgets.jui.CJuiDialog' ); ?>

    naja wie gesagt sollte...leider bekomme ich einen Fehler..
    Code:
    $("#jobDialog").dialog is not a function
    hat jemand eine Idee wie man das ganze lösen kann??

    ich habe zwar auch ein Idee aber finde diese nicht besonders gut...Der CJuiDialog könnte natürlich auch schon dann geladen werden, wenn der Button geladen wird..

    aber wie gesagt ich würde es gerne anders umsetzen...würde mich freuen, wenn jemand einen vorschlag hätte...
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.