web-dev-qa-db-fra.com

Le bouton de la corbeille ne fonctionne pas

Le bouton Corbeille ne fonctionne pas correctement dans un composant personnalisé de Joomla 3.x. Il se comporte un peu bizarrement. Que s'est-il passé lorsque j'ai essayé de sélectionner un fichier ou une liste de fichiers en particulier, puis de cliquer sur le bouton de la corbeille et que ce fichier ou cette liste de fichiers en particulier est toujours affiché à cet endroit? , mais ici il reste dans les deux endroits). Et dans le même temps, ce fichier ou cette liste de fichiers sont également visibles dans la zone Corbeille, où je dois simplement sélectionner ce fichier et cliquer sur le bouton Vider la corbeille. Le bouton Vider la corbeille fonctionne bien.

Le problème est que le fichier est affiché aux deux emplacements après avoir cliqué sur le bouton Corbeille. On dirait qu'il manque du code dans ce composant personnalisé et c'est pourquoi le bouton Corbeille ne fonctionne pas comme il se doit.

Le seul code que j'ai trouvé lié à ceci est le suivant:

if ($this->state->get('filter.state') == -2 && $canDo->get('core.delete'))
{
    JToolbarHelper::deleteList('', 'kpcnews.delete', 'JTOOLBAR_EMPTY_TRASH');
}       
elseif ($canDo->get('core.edit.state'))
{
    JToolbarHelper::trash('kpcnews.trash');
}
2
shahbaz

Le code que vous affichez est chargé d’afficher soit le bouton de suppression, soit le bouton de la corbeille, en fonction du filtre d’état actuellement sélectionné.

Si vous suivez l'architecture de codage de Joomla, le code que vous recherchez se trouve dans votre méthode de modèles de liste getListQuery. Il y a une partie qui gère le filtrage par état, par exemple:

// Filter by published state
$published = $this->getState('filter.published');
if (is_numeric($published))
{
    $query->where($db->quoteName('a.state') . ' = ' . (int) $published);
}
elseif ($published === '')
{
    $query->where($db->quoteName('a.state') . ' IN (0, 1)');
}
2
fruppel