web-dev-qa-db-fra.com

Cliquez sur le bouton personnalisé pour ouvrir la fenêtre modale

J'ai quelques boutons personnalisés dans mon composant Joomla et je veux qu'ils s'ouvrent dans une fenêtre modale, comme avec le bouton batch dans le composant com_content. Quelqu'un a une idée sur la façon de le faire?

Merci!

5
republicca

C'est en fait assez simple.

Dans view.html.php, chargez la bibliothèque modale, si ce n'est déjà fait:

JHtml::_('bootstrap.modal');

Pour ajouter un bouton à la barre d’outils, utilisez:

// Toolbar object
$toolbar = JToolBar::getInstance('toolbar');
$layout = new JLayoutFile('joomla.toolbar.popup');

// Render the popup button
$dhtml = $layout->render(array('name' => 'test', 'text' => JText::_('Custom button'), 'class' => 'icon-archive', 'doTask' => ''));
$toolbar->appendButton('Custom', $dhtml);

name doit correspondre à modal id après -. Vous pouvez changer class pour différentes icônes.

Dans default.php ou dans n'importe quel fichier du dossier tmpl, ajoutez modal div, ce qui sera affiché après avoir cliqué sur le lien.

<div class="modal hide fade" id="modal-test">
  <div class="modal-header">
    <button type="button" role="presentation" class="close" data-dismiss="modal">x</button>
    <h3>Modal title</h3>
  </div>
  <div class="modal-body">
    Modal content here
  </div>
  <div class="modal-footer">
    <button class="btn" type="button" data-dismiss="modal">
      <?php echo JText::_('JCANCEL'); ?>
    </button>
  </div>
</div>
7
Rene Korss