[RISOLTO] Non mi ricordo più... (recuperare elenco articoli spubblicati)
-
Non mi ricordo più se è possibile visualizzare, sul frontend, una lista di articoli sospesi, ad uso admin.
Una cosa minima, giusto per vedere l'elenco degli articoli da approvare senza entrare nel backend.Sto guardando nelle varie opzioni di configurazione articoli e relativi moduli , ma non riesco a trovare l'opzione che lo permetta.
Edit... rileggendo la documentazione ho visto che J5 non permette questa modalità di visualizzazione, conoscete qualche modo alternativo per arrivare all'obiettivo?
-
Ciao, mi serviva esattamente questa cosa tempo fa e mi ero fatto uno scriptino PHP che ti crea una lista di articoli sospesi, e cliccandoci sopra ti va dentro l'articolo (e se sei loggato come super admin lo puoi modificare da frontend).
Puoi inserirlo dentro un articolo con sourceror.
Modificalo secondo le tue necessità, occhio però che non avevo fatto troppi controlli di sicurezza su ACL, accessi ecc.. perchè era un sito con un unico super admin.
Ciao!<?php defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\Router\Route; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; $db = Factory::getDbo(); $query = $db->getQuery(true) ->select([ $db->quoteName('a.id'), $db->quoteName('a.title'), $db->quoteName('a.catid'), $db->quoteName('a.created'), $db->quoteName('c.title', 'category_title'), $db->quoteName('a.language'), $db->quoteName('a.alias') ]) ->from($db->quoteName('#__content', 'a')) ->join('LEFT', $db->quoteName('#__categories', 'c') . ' ON c.id = a.catid') ->where($db->quoteName('a.state') . ' = 0') // 0 è "non pubblicato", puoi anche tirare fuori archiviati, ecc... ->order($db->quoteName('a.created') . ' DESC'); $db->setQuery($query); $articles = $db->loadObjectList(); if (!empty($articles)) { echo '<ul style="list-style: none; padding-left: 0;">'; foreach ($articles as $article) { $link = Route::_('index.php?option=com_content&view=article&id=' . $article->id . ':' . $article->alias . '&catid=' . $article->catid . '&lang=' . $article->language); echo '<li style="margin-bottom: 1em; border-bottom: 1px solid #ccc; padding-bottom: 0.5em;">'; echo '<strong><a href="' . $link . '">' . htmlspecialchars($article->title) . '</a></strong><br>'; echo 'Categoria: ' . htmlspecialchars($article->category_title) . '<br>'; echo 'Creato il: ' . HTMLHelper::_('date', $article->created, Text::_('DATE_FORMAT_LC3')); echo '</li>'; } echo '</ul>'; } else { echo '<p>Nessun articolo non pubblicato trovato.</p>'; } ?>
-
wow, basta chiedere, nel frattempo con essential (sto iniziando adesso ad usarlo, tanta roba) ho creato la lista degli articoli sospes definendo la tabella articoli e filtrando lo stato, ma dovrei correlare altre tabelle per vedere tutte le info che mi servono.
Provo subito il tuo script
-
Essentials è tantissima roba, ci fai veramente di tutto... l'unico "problema" è che è MOLTO dentro il core di yootheme, quindi prima di aggiornare yootheme bisogna SEMPRE essere sicuri che quelli di essentials abbiano tirato fuori anche loro la versione aggiornata (il rischio è che si sballi tutto quanto)
-
Lo script fa quello che mi serviva, elenca i sospesi e permette agli admin di entrare in visualizzazione/modifica e quindi terminare il loro workflow.
Veramente utile. sinceramente non capisco come mai hanno tolto dal core questa possibilità, probabilmente per motivi di privacy, comunque aggirabili dal backend.Grazie mille
-
NB per chi usa questo script in futuro: occhio che è solo una bozza, mancano controlli sui permessi dell'utente, mancano controlli sulle categorie ecc... è semplicemente una query al database che tira su tutti gli articoli sospesi di tutte le categorie, di tutti gli autori... usare con giudizio!