Ici, j'essaie d'afficher une boîte de dialogue jQuery avec trois boutons après avoir cliqué sur le bouton Supprimer du composant côté administrateur de Joomla.Utilisation du modèle Joomla de base uniquement.Mais la boîte de dialogue ne s'affiche pas.
Voici ma vue.html.php
JHtml::_('jquery.framework'); // load jquery
JHtml::_('jquery.ui'); // load jquery ui from Joomla
code de script
<script type="text/javascript">
Joomla.submitbutton = function(task){
if (task == 'groups.cascadedelete') {
jQuery('<p>Are you sure?</p>').dialog({
buttons: {
"Cascade Delete": function() {
jQuery('#cascadedelete').val('1');
Joomla.submitform(task, document.getElementById('adminForm'));
},
"Delete": function() {
Joomla.submitform(task, document.getElementById('adminForm'));
},
"Cancel": function() {
dialog.dialog('close');
}
}
});
}else{
Joomla.submitform(task, document.getElementById('adminForm'));
}
}
</script>
Si je clique sur le bouton de soumission, la fenêtre contextuelle ne s'affiche pas.
TypeError: jQuery(...).dialog is not a function
JHtml::_('jquery.ui');
ne chargera que le composant principal . Le dialogue ne semble pas en faire partie.
Vous pouvez spécifier les composants à charger. Cependant, le seul autre composant pris en charge est sortable
Ce qui signifie que dialog
n'est tout simplement pas livré avec Joomla. Vous devez distribuer et charger votre propre copie.
Cela étant dit, vous devriez jeter un coup d'œil aux info-bulles, aux popover et aux modaux de Bootstrap 2.3. Ceux-ci sont livrés avec Joomla et peuvent être utilisés à des fins similaires.
Essaye ça:
Vérifiez également si le script Jquery Ui est chargé correctement ou non
if (task == 'groups.cascadedelete') {
jQuery('<p>Are you sure?</p>').dialog({
autoOpen : true,width : popWidth,modal : true,dialogClass: 'no-close',
draggable: true, resizable: true, position: [306,105],
buttons : {
"Cancel": function()
{
$(this).remove();
or
$(this).dialog("close");
}
Ça marche pour moi
default.php
<div class="modal hide" id="myModal">
<div class="modal-header">
<a class="close" data-dismiss="modal"><img src="<?php echo JURI::root();?>delete14.png" alt="<?php echo JText::_( 'GROUPL_DELETE_ICON' ); ?>" /></a>
<h3><?php echo JText::_('GROUPL_DELETE')?></h3>
</div>
<div class="modal-body">
<p><?php echo JText::_('SELECT_DELETE_METHOD')?></p>
</div>
<div class="modal-body">
<a href="#" class="btn" onclick="cascadeDelete();"><?php echo JText::_('CASCADE_DELETE')?></a>
<a href="#" class="btn" onclick="Delete();"><?php echo JText::_('DELETE')?></a>
<a href="#" class="btn" onclick="cancelDelete();"><?php echo JText::_('GENERAL_CLOSE')?></a>
</div>
</div>
validation.js
Joomla.submitbutton = function(task){
if (task == 'cascadedelete') {
jQuery('#myModal').modal('show');
}}