J'ai récemment mis à niveau mon site joomla vers la version 3.9.1, et maintenant mes boutons de publication/annulation de publication de composants personnalisés ne fonctionnent plus et je ne comprends pas pourquoi. La colonne de base de données s'appelle "state" et c'est le code qui fonctionnait jusqu'à la mise à niveau:
JToolbarHelper::publish('items.publish', 'JTOOLBAR_PUBLISH', true);
JToolbarHelper::unpublish('items.unpublish', 'JTOOLBAR_UNPUBLISH', true);
Ces boutons fonctionnaient et ils publiaient/annulaient la publication des articles. Maintenant, je reçois ce message:
articles publiés avec succès
Je ne sais pas exactement où est le code qui lui dit de mettre à jour le statut de l'élément, mais pour une raison quelconque, cela ne fonctionne plus.
Dans le constructeur de votre table, utilisez setColumnAlias()
pour définir le nom de la colonne:
public function __construct($db)
{
parent::__construct('#__example', 'id', $db);
$this->setColumnAlias('published', 'state');
}