I've got some custom buttons in my Joomla component and I want them to open in a modal window like with the batch button in the com_content component. Anyone has got any idea on how to do it?
Thank you!
It's actually pretty simple.
In view.html.php, load modal library, if it's not already done:
JHtml::_('bootstrap.modal');
For adding button to toolbar, use:
// 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
must match modal id
after -
. You can change class
for different icons.
In default.php or in any file in tmpl
folder add modal div, what will be shown after clicking on link
<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>
JForm
in your view.html.php
and then print it in modal. I can see you have posted new question for this. But I would create new view what and then load that into modal with AJAX. See example JSFiddle here.
Commented
Aug 12, 2015 at 8:49