Domanda

Come puoi modificare gli articoli di Joomla nel terminale?

Problema: per conoscere la posizione in cui Joomla memorizza i suoi articoli

Ho provato a trovare articoli senza successo entro

locate Masi | xargs -0 grep great
È stato utile?

Soluzione

Gli articoli sono archiviati nel database in una tabella chiamata jos_content . Se vuoi fare una ricerca e sostituirli tutti, apri una connessione al database (o usa qualcosa come phpMyAdmin) ed esegui qualcosa del genere:

 UPDATE `jos_content`
 SET    `introtext` = REPLACE(`introtext`, 'great', 'awesome'),
        `fulltext`  = REPLACE(`fulltext`, 'great', 'awesome')

Modifica per aiutarti a eseguire il debug del problema:
Non sarai in grado di trovare " jos_content " nel tuo codebase, a causa di una funzionalità di Joomla che ti consente di specificare diversi prefissi di tabella: " jos " è il prefisso predefinito. Nel codice, è sempre scritto in questo modo: #__content e l'oggetto DBO lo converte in " jos_content " dietro le quinte.

Tuttavia, non è necessario cercare nel codice, solo il database. Dovresti essere in grado di connetterti al database - tutti i dettagli di cui hai bisogno saranno nel tuo file configuration.php .

  • Se stai usando Joomla 1.5, le variabili che ti occorrono sono chiamate $ host , $ user , $ password e $ db .
  • In Joomla 1.0, le variabili sono denominate $ mosConfig_host , $ mosConfig_user , $ mosConfig_password e $ mosConfig_db

Esistono diversi modi in cui è possibile connettersi al database (verificare con la propria società di hosting se si dispone di phpMyAdmin: è abbastanza facile da usare), ma per farlo dal terminale (sostituire le proprie variabili dall'alto ):

$ mysql -h $host -u $user -p$password -D $db

nota che non c'è spazio tra -p e la password. Da lì dovresti essere in grado di eseguire il tuo SQL, ma ti consiglio vivamente di effettuare un backup prima di apportare eventuali modifiche manuali.

Altri suggerimenti

Joomla memorizza articoli in un database MySQL. Se vuoi leggere / modificare / eliminare articoli dovrai usare le query SQL.

Se sei determinato a farlo da un terminale, puoi sempre avviare il client mysql dalla riga di comando ed eseguire le tue query da lì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top