it-swarm.it

Joomla Modal Field Redirect

Ho creato un campo modale per caricare i contenuti nella directory delle immagini e tutto funziona perfettamente, tranne il reindirizzamento dopo il caricamento.

Questo è il modulo di upload nella finestra modale:

<form action="<?php echo JUri::base(); ?>index.php?option=com_file_manager&amp;task=file.upload&amp;tmpl=component&amp;<?php echo $this->session->getName() . '=' . $this->session->getId(); ?>&amp;<?php echo JSession::getFormToken();?>=1&amp;view=file" id="uploadForm" class="form-horizontal" name="uploadForm" method="post" enctype="multipart/form-data">
    <div id="uploadform" class="well">
        <fieldset id="upload-noflash" class="actions">
            <div class="control-group">
                <div class="control-label">
                    <label for="upload-file" class="control-label"><?php echo JText::_('COM_MEDIA_UPLOAD_FILE'); ?></label>
                </div>
                <div class="controls">
                    <input type="file" id="upload-file" name="Filedata[]" multiple /><button class="btn btn-primary" id="upload-submit"><i class="icon-upload icon-white"></i> <?php echo JText::_('COM_MEDIA_START_UPLOAD'); ?></button>
                </div>
            </div>
        </fieldset>
                <input type="hidden" name="return-url" value="<?php echo base64_encode('index.php?option=com_fal_manager&amp;view=file&amp;layout=modal&amp;tmpl=component'); ?>" />

    </div>
</form>

Ed ecco come appare il reindirizzamento nel controller:

public function upload() {
        // Check for request forgeries
        JSession::checkToken('request') or jexit(JText::_('JINVALID_TOKEN'));
        $files        = $this->input->files->get('Filedata', '', 'array');
        $return       = $this->input->post->get('return-url', null, 'base64');
        $this->folder = $this->input->get('folder', '', 'path');
        if ($return) {
            $this->setRedirect(base64_decode($return));
        }
}

Ho solo bisogno che mi riporti al posto originale in cui mi trovavo prima di caricarlo, l'URL del modale è:

index.php?option=com_file_manager&view=videofile&layout=modal&tmpl=component&function=jSelectVideofile_jform_video

e dopo il caricamento:

index.php?option=com_file_manager&view=videofile&layout=modal&tmpl=component&function=jSelectVideofile_jform_video

Strano lo so, è lo stesso url, ma non è la stessa pagina .. Mi porta alla visualizzazione elenco di quella pagina.

Qualsiasi aiuto molto apprezzato

3

Il problema si è rivelato essere qualcosa di semplice come &amp;, Modifica semplice:

<input type="hidden" name="return-url" value="<?php echo base64_encode('index.php?option=com_file_manager&amp;view=file&amp;layout=modal&amp;tmpl=component'); ?>" />

a:

<input type="hidden" name="return-url" value="<?php echo base64_encode('index.php?option=com_file_manager&view=file&layout=modal&tmpl=component'); ?>" />

Ha fatto il trucco. Grazie a tutti per i vostri input.

3

Hai view=files nel tuo return-url input nascosto del modulo. Quindi nel controller lo assegni a $return var e reindirizza utilizzandolo. Ecco perché verrai reindirizzato alla visualizzazione elenco.

1
Dmitry Rekun