Joomla.it Forum
Joomla! 1.0.x (versione con supporto terminato) => Le voci di Joomla.it (solo per versione Joomla 1.0.x) => : Andrè123456 12 Oct 2007, 15:18:01
-
Ciao a tutti
io ora sto usando sul sito Jom Comment e vorrei cambiare il componente dei commenti...quale mi consigliate dove si possono importare i commenti di jom comment ? [magari un componente che non mi ridimensioni le immagini degli avatar degli utenti ma che le lasci come gia ridotte dal CB]
Grazie anticipatamente
Andrè
-
Ciao a tutti
io ora sto usando sul sito Jom Comment e vorrei cambiare il componente dei commenti...quale mi consigliate dove si possono importare i commenti di jom comment ? [magari un componente che non mi ridimensioni le immagini degli avatar degli utenti ma che le lasci come gia ridotte dal CB]
Grazie anticipatamente
Andrè
provato mXcomment ?
-
lo avevo provato tempo fa solo che praticamente non disinstallavo il jom comment e allora mi si posizionava sotto al jom comment....ho paura a cancellare il jom perchè ho paura di persere i commenti...
-
ecco ho provato su un altro sito che gestisco e si perdono i commenti...come posso fare per nn perderli?
-
Se non ricordo male, ma potrei sbagliare, nella suite Akosuite c'è il componente AkoComment (++ o SE) che dovrebbe (dico dovrebbe) mantenere i commenti già presenti.
Ricordo di averlo letto da qualche parte quando cercavo un componente per i commenti....
Ne ho provati due.
- AkoSuite (AkoCommentSE o AkoComment++)
- AkoComment_Tweaked_Special_Edition
-
il primo nn funziona....
ora provo AkoComment_Tweaked_Special_Edition
-
AkoComment_Tweaked_Special_Edition nemmeno
??? ??? ??? vi prego aiutatemi...mi piacerebbe usare questi ako o l'mx comment solo che mi spiace dover perdere i commenti che ho avuto con il jom comment
-
Stai tranquillo! Stai sereno! ;D
La troviamo una soluzione.
-
Uff! Che fatica che mi fai fare! ;D
Intanto ricordavo male perchè il componente per i commenti era della serie Ako e manteneva i commenti delle precedenti versioni. Quindi non andava bene.
Per mantenere i commenti inseriri con JomComment l'unica soluzione è farli 'migrare' verso il nuovo componente.
La migrazione consiste essenzialmente nell'inserire i commenti contenuti nella tabella jos_comment all'interno della tabella commenti del nuovo componente.
Nella fattispecie per il componente mXcomment è la tabella jos_mxc:comments, mentre per il componete AkoComment è la tabella jos_akocomment.
Dal momento che le due tabelle non sono copmatibili fra di loro bisogna ricorrere all'SQL.
Questa prima query SQL inserisce dentro la tabella di mXcomment il contenuto della tabella jos_comment
INSERT INTO `jos_mxc_comments`
(jos_mxc_comments.id,
jos_mxc_comments.contentid,
jos_mxc_comments.ip,
jos_mxc_comments.date,
jos_mxc_comments.name,
jos_mxc_comments.title,
jos_mxc_comments.comment,
jos_mxc_comments.published,
jos_mxc_comments.parentid
)
SELECT jos_comment.id,
jos_comment.contentid,
jos_comment.ip,
jos_comment.date,
jos_comment.name,
jos_comment.title,
jos_comment.comment,
jos_comment.published,
jos_comment.parentid
FROM `jos_comment`
ORDER BY jos_comment.id;
Subito dopo bisogna eseguire la seguente query SQL
UPDATE `jos_mxc_comments` SET lang = 'it';
Per aggiornare il campo lang della tabella commenti di MxComment che per default è 'en'
UPDATE `jos_mxc_comments` SET parentid = 0 WHERE parentid = -1 ;
Per eliminare il valore -1 che viene usato nella tabella jos_comment
UPDATE `jos_mxc_comments` SET ordering = 0
Per azzerare i valori di ordinamento riportati dalla tabella jos_comment
Questa query invece serve per inserire i commenti di JosComment nella tabella commenti del componente AkoComment:
INSERT INTO `jos_akocomment`
(jos_akocomment.id,
jos_akocomment.contentid,
jos_akocomment.ip,
jos_akocomment.date,
jos_akocomment.name,
jos_akocomment.title,
jos_akocomment.comment,
jos_akocomment.published,
jos_akocomment.parentid
)
SELECT jos_comment.id,
jos_comment.contentid,
jos_comment.ip,
jos_comment.date,
jos_comment.name,
jos_comment.title,
jos_comment.comment,
jos_comment.published,
jos_comment.parentid
FROM `jos_comment`
ORDER BY jos_comment.id;
Anzitutto scegli quale componente per i commenti usare:
Il componente aKocomment che ho usato è AkoComment Tweaked Special Edition 1.4.6 (http://www.visualclinic.fr/component/option,com_remository/Itemid,50/func,select/id,3/)
Io preferisco il primo anche perchè il secondo mi ha dato un sacco di problemi con l'impaginazione degli articoli multipagina.
Però... De gustibus non disputandum est
oppure... De gustibus non sputacchiandum est ;D
Scelto il componente per eseguire le query devi accedere al pannesso di controllo di mysql (phpmyadmin), selezionare il tuo database e cliccare sul pulsante SQL.
Si aprirà una pagina nella quale dovrai incollare il testo di una delle query sopra riportate, secondo il componente che hai scelto di usare.
Ricorda che se scegli mXcomment le query da eseguire sono 4.
Per il componente Jomcomment ci sono altre due tabelle:
- jos_comment_captcha
- jos_comment_voting
La prima credo serva per il sistema di sicurezza tipo security images ma non sono riuscito a capire come viene riempita.
La seconda è per il sistema di votazione.
Negli altri componenti il sistema di votazione è diverso quindi non ho ritenuto necessario migrare questi dati.
Se proprio non vuoi perdere neanche i voti.... ::)
-
Grazie bigham della spiegazione. Potresti essere unpo' più specifico anche per chi come me è un asino con database e affini? Io ho necessità di trasferire i commenti da jomcomment a mxcomment
grazie ;D
-
Preparerò una miniguida a tal proposito. Spiegando sia la teoria che i passaggi in pratica.
Mi metto subito al lavoro ;)
-
Inserita la miniguida "Trasferire i commenti da JoomlaComment a mXcomment" ;D
Provala e fammi sapere.
-
Ciao Bigham, finalmente ho potuto dare un'occhiata alla tua guida e devo dire che è davvero ben fatto, però...c'è un però.
Io dovevo eseguire il trasferimento da JOM COMMENT a mxcomment e non da Joomla comment.
In ogni caso ho provato comunque a fare il trasferimento delle tabelle, ma qualcosa è andato storto (come puoi vedere in allegato).
Io ho effettuato il trasferimento tra le tabelle "principali" (jos_mxc_comments - jos_jomcomment) facendo attenzione a inserire i campi corrispondenti. Unica “licenza poetica” ho modificato il campo Website di Jom comment in Web per renderlo identico a quello di Mx comment. Ma non so se è un comportamento corretto! ???
nella fattispecie questa è stata la stringa che ho inserito in sql e che mi ha generato, appunto,l'errore in allegato
INSERT INTO `jos_mxc_comments`
(jos_mxc_comments.id,
jos_mxc_comments.parentid,
jos_mxc_comments.status,
jos_mxc_comments.contentid,
jos_mxc_comments.ip,
jos_mxc_comments.name,
jos_mxc_comments.web,
jos_mxc_comments.email,
jos_mxc_comments.title,
jos_mxc_comments.comment,
jos_mxc_comments.date,
jos_mxc_comments.pubblished,
jos_mxc_comments.ordering,
)
SELECT
jos_jomcomment.id,
jos_jomcomment.parentid,
jos_jomcomment.status,
jos_jomcomment.contentid,
jos_jomcomment.ip,
jos_jomcomment.name,
jos_jomcomment.web,
jos_jomcomment.email,
jos_jomcomment.title,
jos_jomcomment.comment,
jos_jomcomment.date,
jos_jomcomment.pubblished,
jos_jomcomment.ordering,
'it`
FROM 'jom_jomcomment`;
Ti ringrazio di nuovo e spero in un tuo aiuto.
ciao
[allegato eliminato da un amministratore]
-
Non riesco a vedere le immagini.
Non capisco cosa abbia firefox ma non mi fa più vedere nessuna immagine del forum. nemmeno gli avatar. >:(
Comunque.
Intanto compilemti!!! ;D Vedo che la guida era scritta in modo chiaro ;D
L'intento era quello: fare in modo che, qualunque fossero le tabelle dei componenti commenti si riuscisse a fare il trasferimento.
L'unico 'errore' nella query che hai scritto è l'ultimo valore prima della clausola FROM, e 'forse' il nome della tabella del componente Jom Comment ha il prefisso sbagliato: non jom_ ma jos_
questo:
.... quì c'è la parte iniziale della query
jos_jomcomment.ordering,
'it`
FROM 'jom_jomcomment`;
lo devi far diventare questo
.... quì c'è la parte iniziale della query
jos_jomcomment.ordering
FROM 'jos_jomcomment`;
In rosso le parti da togliere e in arancione quelle da modificare.
Il valore 'it' era un valore costante da assegnare a un campo della tabella del componente jommla comment.
Quindi a te non serve! ;D
Fammi sapere.
-
Ciao Bigham, si la tua guida è spettacolare ma anche lei nulla può di fronte al mio grossolano errore jom-jos. Mi rasserena almeno un po' vedere che quell'errore di sintassi, non è l'unico responsabile del mancato inserimento dei dati nella tabella di mxcomment. Avanzerei pure qualche ipotesi, ma credo sia molto meglio tacere e lasciare agli epserti come te la parola. Dunque, visto il problemino con firefox ti quoto l'errore di phpmyadmin
Errore
query SQL:
INSERT INTO `jos_mxc_comments` (
jos_mxc_comments.id,
jos_mxc_comments.parentid,
jos_mxc_comments.status,
jos_mxc_comments.contentid,
jos_mxc_comments.ip,
jos_mxc_comments.name,
jos_mxc_comments.web,
jos_mxc_comments.email,
jos_mxc_comments.title,
jos_mxc_comments.comment,
jos_mxc_comments.date,
jos_mxc_comments.pubblished,
jos_mxc_comments.ordering,
)
SELECT jos_jomcomment.id, jos_jomcomment.parentid, jos_jomcomment.status, jos_jomcomment.contentid, jos_jomcomment.ip, jos_jomcomment.name, jos_jomcomment.web, jos_jomcomment.email, jos_jomcomment.title, jos_jomcomment.comment, jos_jomcomment.date, jos_jomcomment.pubblished, jos_jomcomment.ordering,
FROM 'jos_jomcomment'
Messaggio di MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')
SELECT
jos_jomcomment.id,
jos_jomcomment.parentid,
jos_jomcomm' at line 15
ti ringrazio ancora per la tua gentilezza.
Ciao
-
Errore query SQL:
INSERT INTO `jos_mxc_comments` (
jos_mxc_comments.id,
jos_mxc_comments.parentid,
jos_mxc_comments.status,
jos_mxc_comments.contentid,
jos_mxc_comments.ip,
jos_mxc_comments.name,
jos_mxc_comments.web,
jos_mxc_comments.email,
jos_mxc_comments.title,
jos_mxc_comments.comment,
jos_mxc_comments.date,
jos_mxc_comments.pubblished,
jos_mxc_comments.ordering,
)
SELECT jos_jomcomment.id, jos_jomcomment.parentid, jos_jomcomment.status, jos_jomcomment.contentid, jos_jomcomment.ip, jos_jomcomment.name, jos_jomcomment.web, jos_jomcomment.email, jos_jomcomment.title, jos_jomcomment.comment, jos_jomcomment.date, jos_jomcomment.pubblished, jos_jomcomment.ordering,
FROM 'jos_jomcomment';
Messaggio di MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')
SELECT
jos_jomcomment.id,
jos_jomcomment.parentid,
jos_jomcomm' at line 15
In rosso una virgola da togliere, in verde un punto e virgola da aggiungere.
Il problema l'ho risolto. Era quel cavolo di firewall che ho sulla macchina. Purtroppo a forza di configurare regole su regole mi è andato in palla.
Adesso ho cambiato firewall e dovrebbe andare meglio.
Ti ho segnato gli errori nella query.
Purtroppo basta un carattere di troppo e non funziona nulla e se non conosce SQL... ;D
Ciao
-
ho fatto ma mi dà questo problema
Errore
query SQL: Documentazione
INSERT INTO `jos_mxc_comments` ( jos_mxc_comments.id, jos_mxc_comments.parentid, jos_mxc_comments.status, jos_mxc_comments.contentid, jos_mxc_comments.ip, jos_mxc_comments.name, jos_mxc_comments.web, jos_mxc_comments.email, jos_mxc_comments.title, jos_mxc_comments.comment, jos_mxc_comments.date, jos_mxc_comments.pubblished, jos_mxc_comments.ordering )
SELECT jos_jomcomment.id, jos_jomcomment.parentid, jos_jomcomment.status, jos_jomcomment.contentid, jos_jomcomment.ip, jos_jomcomment.name, jos_jomcomment.web, jos_jomcomment.email, jos_jomcomment.title, jos_jomcomment.comment, jos_jomcomment.date, jos_jomcomment.pubblished, jos_jomcomment.ordering,
FROM 'jos_jomcomment';
Messaggio di MySQL: Documentazione
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM 'jos_jomcomment'' at line 19
-
Dichiaro formalmente di odiare dal profondo dell'anima phpMyAdmin!! >:(
Guarda com'è scritto questo:
`jos_mxc_comments`
e confrontalo con quello che per lui è un errore:
'jos_jomcomment'
Sono gli apici l'errore!! Ma che c..... >:(
Cambia gli apici come quelli di sopra (fai un copia e incolla e attenzione che sono diversi!) così:
`jos_comments`
e rilancia la query
Grrrr >:( maledetto phpMyAdmin! ;D ;D
-
Errore
query SQL: Documentazione
INSERT INTO `jos_mxc_comments` ( jos_mxc_comments.id, jos_mxc_comments.parentid, jos_mxc_comments.status, jos_mxc_comments.contentid, jos_mxc_comments.ip, jos_mxc_comments.name, jos_mxc_comments.web, jos_mxc_comments.email, jos_mxc_comments.title, jos_mxc_comments.comment, jos_mxc_comments.date, jos_mxc_comments.pubblished, jos_mxc_comments.ordering )
SELECT jos_jomcomment.id, jos_jomcomment.parentid, jos_jomcomment.status, jos_jomcomment.contentid, jos_jomcomment.ip, jos_jomcomment.name, jos_jomcomment.web, jos_jomcomment.email, jos_jomcomment.title, jos_jomcomment.comment, jos_jomcomment.date, jos_jomcomment.pubblished, jos_jomcomment.ordering,
FROM `jos_jomcomment` ;
Messaggio di MySQL: Documentazione
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `jos_jomcomment`' at line 19
-
SELECT jos_jomcomment.id,
jos_jomcomment.parentid,
jos_jomcomment.status,
jos_jomcomment.contentid,
jos_jomcomment.ip,
jos_jomcomment.name,
jos_jomcomment.web,
jos_jomcomment.email,
jos_jomcomment.title,
jos_jomcomment.comment,
jos_jomcomment.date,
jos_jomcomment.pubblished,
jos_jomcomment.ordering
FROM `jos_jomcomment`;
Una virgola di troppo dopo jos_jomcomment.ordering
Non te ne sei accorto.
Riprova, sarai più fortunato! ;D
-
INSERT INTO `jos_mxc_comments` (
jos_mxc_comments.id,
jos_mxc_comments.parentid,
jos_mxc_comments.status,
jos_mxc_comments.contentid,
jos_mxc_comments.ip,
jos_mxc_comments.name,
jos_mxc_comments.web,
jos_mxc_comments.email,
jos_mxc_comments.title,
jos_mxc_comments.comment,
jos_mxc_comments.date,
jos_mxc_comments.published,
jos_mxc_comments.ordering
)
SELECT jos_jomcomment.id, jos_jomcomment.parentid, jos_jomcomment.status, jos_jomcomment.contentid, jos_jomcomment.ip, jos_jomcomment.name, jos_jomcomment.website, jos_jomcomment.email, jos_jomcomment.title, jos_jomcomment.comment, jos_jomcomment.date, jos_jomcomment.published, jos_jomcomment.ordering
FROM `jos_jomcomment`;
questo è lo script funzionante...published con una sola b 8)
-
Ora funziona ma ...c'è un ma....
mi mostra gli accenti sballati...why? che posso fare?
nei commenti ovviamente...
-
Ciao.
E figurati se ne va una liscia!!! ;D
Potrebbe essere il set di caratteri che utilizza il database di destinazione che è diverso da quello di origine.
Normalmente il set di caratteri usato dai database mysql è UTF8_unicode dovresti controllare quale è.
Anche le tabelle hanno il loro set di caratteri (collaction). Controlla se le due tabelle usano lo stesso set.
-
eccomi di ritorno ;D
bene vedo che il 3ad ha fatto progressi a differenza mia!
ora inserendo la stringa postata da Andrè poco più sopra mi esce questo errore
Messaggio di MySQL:
#1062 - Duplicate entry '1' for key 1
potrebbe essere una banalità, anzi sicuramente lo sarà, ma ve lo chiedo lo stesso: "Dov'è l'errore?"
p.s. simpatico questo phpmyadmin ;D
-
Simpatico!?!?! >:(
Non sono dello stesso parere. :D
Credo che l'errore sia dovuto alla presenza, nella tabella di destinazione, di record con indice (il campo ID) che si tenta di duplicare.
Essendo il campo ID del record un campo chiave non può essere duplicato.
Soluzione? modificare tutti gli ID dei record già presenti nella tabella di destinazione con un valore che parta dal numero di commenti contenuti nella tabella di origine + 1 in poi.
(se questa la capite vi offro il caffè a vita ;D ;D)
-
effettivamente non ho capito un g@zz... ;D
dunque e se io tagliassi la testa al toro eliminando gli id della tabella di destinazione, ovvero di mx comment, che succederebbe? Perderei qualche dato dei commenti registrati su mxcomment, o,tanto per cambiare, sto dicendo vaccate? ??? ::)
-
;D ;D
Lo sapevo, mi sono spiegato come un libro chiuso ;D
Non puoi "eliminare" gli id dei commenti del componente mxcomment.
Li devi rinumerare.
Se nella tabella di origine i record sono numerati:
ID dati
1 xxxxx
2 aaaaa
3 yyyyy
e nella tabella di destinazione i record sono numerati:
ID dati
1 gggggg
2 nnnnnn
3 oooooo
Come vedi la numerazione dei record è la stessa e il trasferimento dei dati non si può fare, perchè non ci possono essere due record con lo stesso ID.
Si presuppone che la tabella di destinazione sia vuota, ma se non lo è bisogna rinumerare gli id dei record.
E da quale valore bisogna partire per rinumerarli?
Quanti commenti ci sono nella tabella di origine: 100? allora bisogna rinumerare i record della tabella di destinazione a partire da 101.
Come si rinumerano i record?
Se sono pochi, a mano modificando i singoli record.
Se sono tanti.... ci devo pensare ::) ;D
-
ok perfetto ce l'ho fatta, grazie bigham!!
Prima parlavi di settare la collation tra le tabelle, visto che anche a me gli accenti non vanno, cosa dovrei fare?
Ho controllato le tabelle comment dei due componenti e hanno entrambe collation latin1_swedish_ci , però il testo su jom coment si vedeva correttamente ora no! ???
c'è speranza?
-
Anche se nella prova che ho fatto la collaction è diversa dalla tua non dovrebbe essere quello il problema.
In realtà quando faccio il trasferimento dei dati da una tabella ad un'altra i dati a destinazione sono corretti (accentate comprese)
Il set di caratteri, per la cronaca, è latin1_general_ci.
Anzitutto guarda direttamente il database e controlla se nella tabella commenti di mxcomment le vocali accentate vengono trasformate.
Se così non è dovrebbe essere colpa di un'impostazione del sito o dell'hoster.
-
sono su joomlahost... mi puoi dire esattamente come devo effettuare il controllo?
Andrè
-
Ciao Andrè...
Scusa ma di che stai parlando?