- Home
- Categorie
- Coding e Sistemistica
- Joomla!
- Leggi tutto nell'anteprima degli articoli
-
Leggi tutto nell'anteprima degli articoli
Ho creato un "menu blog" ma nell'anteprima degli articoli invece che "leggi tutto" appare "read more". E' tutto impostato in italiano. Qualcuno sa come posso risolvere? Grazie.
-
Parliamo di override via Language Manager, a cui si accede dal back end di Joomla > menu supriore > *extensions *> language manager > override.
Procedura:- Se l'elenco è vuoto o comunque non contiene una riga con la costante che interessa a noi - nel caso del "read more" parliamo di COM_CONTENT_READ_MORE - allora facciamo clic sul pulsante New; in caso contrario selezioniamo un override già esistente per modificarlo.
- Dal campo *Search *sulla destra ricerchiamo la costante che interessa a noi. Non dobbiamo conoscerne a memoria il nome e anzi proprio per questo facciamo la ricerca, basta scrivere una parola inclusa nel *valore *o nella costante, ad esempio: read. Selezionamo ricerca per valore o costante (nel nostro caso avremmo potuto cercare *read *in entrambi i casi), facciamo clic su *Search *e poi scegliamo il termine da modificare tra quelli che Joomla ci propone. Al clic sul termine prescelto, Joomla copia il termine da sovrascrivere (override) nel campo Language Constant.
- La sostituzione del temine va fatta nel campo Text, dove possiamo scrivere ad esempio:
[code]Leggi tutto:[Code] - Salviamo e controliamo da front end.
Nota: l'override dipende dalla lingua, cioè avviene sul termine della lingua specifica che è stata selezionata.
-
Non funziona! In costante lingua ho scritto: COM_CONTENT_READ_MORE mentre in testo: Leggi tutto. Ho salvato ma non è cambiato niente. Suggerimenti?
-
Verifica la lingua selezionata, cioè se stai usando l'italiano, verifica di avere sovrascritto la costante per la lingua italiana.
-
Le lingua con la stellina ( per intenderci) è l'italiano ma nell'override è impostato l'inglese e non posso cambiarla.
-
Ok, forse ho capito. Mi dai qualche in formazione in più? Queste per l'esattezza:
- versione di Joomla
- se hai definito tutto anche per l'italiano, cioè in language manager ci sono tre cose oltre all'override: installed site, installed administrator, content. Definisci l'italiano per tutte e tre.
-
- La versione di joomla è la 3.3.6
- Si ho definito tutto. Ho provato anche a sospendere l'inglese in "lingua contenuti".
- Ho provato a impostare la lingua nel template.
- Ho provato a rifare l'override.
Ma è ovvio che qualcosa mi sfugge!
-
La procedura per correggere il problema è quella spiegata sopra ("Come fare l'override delle costanti di lingua dal back end").
Nel tuo caso la costante non è COM_CONTENT_READ_MORE ma FIXEL_COM_CONTENT_READ_MORE. Purtroppo non è apparsa nell'elenco quando hai fatto la ricerca: quando accade ciò allora bisogna andare a vedere nei file del template qual è la costante usata, nel tuo caso nel file /com_content/category/blog_item.php:<section class="readmore"> <a class="btn" href="<?php echo $link; ?>"><span> <?php if (!$params->get('access-view')) : echo JText::_('FIXEL_COM_CONTENT_REGISTER_TO_READ_MORE'); elseif ($readmore = $this->item->alternative_readmore) : echo $readmore; if ($params->get('show_readmore_title', 0) != 0) : echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); endif; elseif ($params->get('show_readmore_title', 0) == 0) : echo JText::sprintf('FIXEL_COM_CONTENT_READ_MORE_TITLE'); else : echo JText::_('FIXEL_COM_CONTENT_READ_MORE'); echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); endif; ?> </span></a> </section>
Come si vede nella parte finale del blocco di istruzioni dedicate al "read more", le variabili di default di Joomla 3 sono state sostituite da quele del template:
- FIXEL_COM_CONTENT_READ_MORE_TITLE ha sostituito COM_CONTENT_READ_MORE_TITLE;
- FIXEL_COM_CONTENT_READ_MORE ha sostituito COM_CONTENT_READ_MORE.
Per risolvere il problema basta quindi fare l'override via Language Manager creando due nuove voci FIXEL_COM_CONTENT_READ_MORE e FIXEL_COM_CONTENT_READ_MORE_TITLE. La stessa cosa va fatta per qualunque altra "costante personalizzata" del template.