Ciao a tutti!
Ho provato (e sto ancora testando il funzionamemento..) dei 2 moduli per la traduzione di Field CCK, stringhe varie e, devo dire, che a dispetto del nome (che apparentemente non contiene elementi che facciano pensare al suo uso per traduzioni affiancato a i18n etc...), Views Bulk Operations (VBO) è molto potente e intuitivo mantre, Translate Table lo trovo ancora un po incasinato...
Nonappena ho fatto un'operazione di traduzione di alcuni Field (una decina in ambiente test...) con VBO, ne sono rimasto impressionato dalla sua potenza ma, oltre alla mia felicità per aver trovato il modulo da abbinare a i18n, nella seconda operazione, selezionando tutti i nodi interessati alla traduzione (appunto...) che sono circa 750, mi è apparsa una pagina bianca con un messaggio che riporto qui sotto:
Fatal error: Allowed memory size of 94371840 bytes exhausted (tried to allocate 7680 bytes) in /home/miosito/miosito.com/includes/theme.inc on line 1020
Sono andato in theme.inc, alla riga 1020, ma non cè la possibilità di aggiungere tale memoria in più! ...posso intuire che si dovrebbere aggiungere una funzione in "template.tpl.php" per espandere la memoria.. boh... qui sotto tutta la funzione che sta in zona riga 1020:
function theme_render_template($template_file, $variables) {
extract($variables, EXTR_SKIP); // Extract the variables to a local namespace
ob_start(); // Start output buffering
/*Riga 1020*/ include "./$template_file"; // Include the template file
$contents = ob_get_contents(); // Get the contents of the buffer
ob_end_clean(); // End buffering and discard
return $contents; // Return the contents
}
Devo anche aggiungere che oltre a questo messaggio ne era anche apparso un altro in fase di un'altra operazione (impostare la lingua inglese a tutti i nodi selezionati - sempre circa 750) che non mi sono segnato ma faceva riferimento se non ricordo male a:
sites\all\modules\cck\theme\content-field.tpl
Appare evidente che il modulo richiede molte risorse ed è anche vero che il problema si può risolvere facendo più operazioni con, diciamo, 100 nodi per volta (credo non ci siano problemi...) ma rimane il fatto che è un vero peccato...
Come risolvere questo problema? Magari aggiungendo qualcosa nel .htaccess o crearne uno nuovo da collocare nelle cartelle dei moduli interessati? ..boh, non sono molto esperto su questi tipi di file comunque, bisogna trovare il modo di aumentare le memorie dei moduli che segnalano gli errori...
Suggerimenti?
Intanto la mia investigazione prosegue...
P.S. Comunque VBO funziona grosso modo così:
Le lingue vengono memorizzate in base all'interfaccia ITA/ENG in cui ti trovi al momento delle operazioni che si fanno (nel mio caso, compilare Field in inglese da interfaccia inglese)... qualcuno lo saprà sicuramente ma qualcun'altro no e, visto che io non ho trovato queste informazioni sul forum le ho esposte...
Grazie
Ciao
Kipper
Un hack 'quick & dirty' se sei in locale sarebbe di aumentare la memoria - anche al massimo (o quasi) della memoria della macchina 1, 2 o più megabyte. Dopo tutto mi sembra che questo è un operazione 'una tantum'...
Più imparo, più dubito.
Buongiorno Mr. John,
si, infatti, però il fatto è che non sono in locale e non posso aumentare la memoria (DreamHost lo permette? ...boh..), l'unica strada che vedo è quella di tradurre diciamo 30/40/100 nodi per volta insomma, fare qualche prova di quanti nodi per volta non danno problemi con la memoria e procedere...
P.S. Ti chiedo gentilmente un paio di cose, visto che siamo qui in discussione:
1. Nel textarea del filtro Pathologic, dove va messo il "path" di default a cui devono fare riferimento i percorsi del nuovo sito spostato da www.miosito.it/ita alla "root" principale io ho messo: www.miosito.it/ita - mi è venuto il dubbio se va aggiunto lo "/" alla fine in modo che diventi così > www.miosito.it/ita/ - tu che dici?
2. Ho disinstallato alcuni moduli e mi sono accorto che ne è rimasta traccia nel DB, esiste un modo per eliminare le tabelle "orfane" dal database!?
3. Abbiamo già chiarito http://www.drupalitalia.org/node/10205 ma ho una scorciatoia, dimmi se è logica:
a) Copio tutto il contenuto del sito nella "root" principale (il file setting.php lo lascio intatto perchè uso lo stesso database perchè non ha senso crearne uno nuovo... e poi evito lo sbattimento con SQLDumpSplitter )
b) Vado in "admin/settings/filters" (nel sito che adesso si trova nella "root principale") e imposto il filtro Pathologic...
Sto impazzendo da 2 giorni (i18n) con la view "glossary" (le altre vanno benissimo); c'è poca documentazione, sono quasi vicino alla soluzione, farò sapere eventuali risultati..
Grazie
Ciao
Kipper
Hello Sig. Giuliano,
Allora la tua strada è il migliore...
Si e no. Per nuovo contenuto, se viene messo l'URL completo, allora probabilmente sarà a posto. Io di solito cerco di fare capire agli utenti (con risultati misti) che non c'è bisogno di mettere il http://www.miosito.it/, solo quello che segue. Il filtro Pathologic poi farà la sua magia. Per esempio con Pathologic potrei riferire a questo thread con
<a href="node/10247">...</a>
o se avesse un alias con<a href="i18n_-_translation_table_e_views_Bulk_Operations_(VBO)_a_confronto">...</a>
. Non è nè un URL assoluto, nè relativo - così Pathologic capisce che è per lui.In un mondo perfetto mi preoccuperei di questo. Ma - ho scoperto di recente - non è perfetto. DROP TABLE 'x'; funziona - se sai quello che stai faccendo, ma tabelle orfani non piangono rumorosamente...
Penso proprio di si. Rimetti la carta di credito nel custode di piombo però.
Attendiamo speranzioso la tua soluzione - stiamo tifando per te...
John
Più imparo, più dubito.
Ciao John, ho trovato la soluzione ma in parte e avrei bisogno di un tuo colpo di magia... se possibile...
La View "Glossary" (presettata...) con i18n lavora bene ma, come avevo già detto, quando si passa dall'interfaccia ITA a quella ENG, cliccando sulle lettere dell'alfabeto, nonostante il numero tra parentesi a fianco delle lettere che indica la presenza di nodi, non restituisce l'elenco dei titoli dei nodi stessi; il crechio blu di Ajax lavora (gira..) ma non viene restituito il listato...
Da ricerche effettuate a quanto pare è un "Bug" di "deep linking" e riporto la dicitura della views che esce quando si abilita/disabilita Ajax nella View; si, perchè il problema sta proprio qui, se disabilito Ajax tutto funziona a meraviglia ma viene aperto in una pagina separata/nuova (ovviamente...)
La dicitura della View:
Se impostato, questa vista userà un meccanismo AJAX per la paginazione, l'ordinamento della tabella e i filtri esposti. Ciò significa che la pagina intera non si aggiornerà. Non ne è raccomandato l'uso se questa vista è il contenuto principale della pagina poiché impedirà il collegamento diretto (deep linking) a pagine specifiche, ma è molto utile per i contenuti laterali.
Le altre viste con i filtri esposti "standard" funzionano benissimo (faccio notare anche che sto usando Views 2.7 perchè con la versione 2.8 la View "glossary" non funzionava per niente! - testato...)
Come fare per fa caricare questa vista tramite Ajax? ...si può mettere una funzione da qualche parte o un modulo custom?
...magari si potrebbe agganciare la Views ad uno dei tanti moduli che lavorano con Ajax, cerco...
P.S. Per tradurre e separare i contenuti ITA/ENG di questa View, bisogna aggiungere il filtro "Node translation: Content negotiation" oltre al vocabolario con i termini da mostrare gia tradotti in precedenza nelle opzioni di traduzione dei termini nei CTYpe.
La cosa curiosa (sempre con Ajax abilitato) è che se si passa col mouse sopra una lettera, nell'anteprima dell'url (Firefox - in basso a sinistra) l'url è esatto es. www.miosito.com/en/nome_view/c... ma non vuole sapere di caricarla con ajax...
Ci deve essere un modo per "dirottare/sbloccare" questo comportamento in modo che Ajax funzioni...
Spero in un tuo miracolo!
Ciao
Kipper
Spiacente, andavo a scuola qui, non qui.
Il problema deep linking (con Ajax, spiegato bene qui: http://blog.onthewings.net/2009/04/08/deep-linking-for-ajax/) e semplicemente che quando cambi il contenuto di parte della pagina (con Ajax) non cambia l'URL, quindi è impossibile fare un bookmark della pagina cambiata, solo di quella originale. Non credo che questo è il tuo problema. Poi, per quanto ne so io, Views usa Ajax solo per cambiare la pagina delle liste - non dovrebbe avere nessun effetto sui link nella lista stessa - che cambieranno la pagina intera, come al solito.
Ajax è un vero dolore nel sedere quando non funziona, perchè difficile da debuggare. Se tu hai un view con un link che sicuramente ha dei elementi, ma che non funziona con Ajax (cioè il 'throbber' non smette mai) bisogna controllare il log di Apache o Net di Firebug per vedere cosa è stato mandato al server, e cosa ha risposto il server - se ha risposto...
Qualche pagine trovato in rete su drupal/views/ajax:
http://stackoverflow.com/questions/1589762/update-drupal-views-argument-...
http://viziontech.co.il/tutorial2 (il è israele vero?)
tutto rigorosamente senza garanzia ovviamente...
HTH
John
Più imparo, più dubito.