Joomla.it Forum
Joomla! 2.5 (versione con supporto terminato) => Joomla! 1.6/1.7/2.5 => : Murphz 08 Nov 2011, 22:56:56
-
Sto utilizzando la nuova versione 2.5 di k2 su J 1.7.2.
Non mi era mai capitato prima e non so proprio che fare ora :-X utilizzando il mod_k2_content per inserire un paio di news in ordine e inserendo l'introtext a un certo tot mi accorgo che non fa le parole accentate.
Dopo un po' di esperimenti (ho provato a convertire tutto l'introtext in utf-8 ecc ecc) scopro che, se non utilizza il wordlimit funziona tutto correttamente altrimenti visualizza ì è ò ù correttamente, il problema rimane sulla à.....sbaglio o è assurdo?
-
L'errore è nel codice della funzione wordlimit richiamata dal modulo.
Non so in quanti di voi troveranno questo errore ma la soluzione è cambiare cosa lui cerca di sostituire nel testo:
function wordLimit($str, $limit = 100, $end_char = '…') {
if (trim($str) == '') return $str;
// always strip tags for text
$str = strip_tags($str);
$find = array("/\r|\n/","/\t/","/\s\s+/");
$replace = array(" "," "," ");
$str = preg_replace($find,$replace,$str);
preg_match('/\s*(?:\S*\s*){'.(int) $limit.'}/', $str, $matches);
if (strlen($matches[0]) == strlen($str))
$end_char = '';
return rtrim($matches[0]).$end_char;
}
Ho sostituito:
$find = array("/\r|\n/","/\t/","/\s\s+/");
con
$find = array("/\r|\n/","/\t/","/\t\s+/");
La soluzione non ha molto senso ma funziona correttamente, premetto che non mi sono mai interessato molto a questi codici, ma da quello che ho visto il \s dovrebbero essere gli spazi bianchi....se qualcuno ha una soluzione migliore mi farebbe piacere :-\
-
grande Murphz!!! ho appena riscontrato questo problema e spero di risolverlo nella maniera che hai adoperato...
ora, perdonami l'ignoranza ::) ma non riesco a trovare la funzione wordLimit... mi puoi dire qual'è il file???
grazie mille
saluti
-
Avevo dimenticato di segnalare il file da modificare, che è components/com_k2/helpers/utilities.php, circa alla riga 65 troverai la funzione wordlimit.
Ripeto che è una soluzione strana, però per quanto mi riguarda ha funzionato senza problemi.
Fammi sapere come va, ciao...
-
grazie mille!!! :)
ho fatto rapidamente un po' di test e adesso il mod_k2_content sembra funzionare correttamente.
una cosa simile accade anche con il wordlimit del mod_lofk2slideshow che pensavo fosse legato al k2 ma a quanto pare non è così...
apparentemente sembra risolversi sostituendo $string = preg_replace( "/\s+/", " ", strip_tags($item->introtext) );
con $string = preg_replace( "/\+/", " ", strip_tags($item->introtext) );
sul file modules/mod_lofk2slideshow/helper.php riga 111
grazie ancora Murphz, mi ha fatto risparmiare ore di lavoro.
ciao
-
Bene, anche se non riesco a comprendere come togliere la s possa essere la soluzione degli accenti. Se qualcuno un giorno può illuminare questo misfatto sarebbe interessante ???