Joomla.it Forum
Forum traduzioni italiano => Le traduzioni e le informazioni della community => Articoli della community => : tonicopi 04 Jan 2011, 14:19:13
-
Nato anche questo articolo da una richiesta apparsa nel forum.
Un modo davvero semplice e pulito per mostrare delle immagini in home in rappresentanza delle categorie di appartenenza degli articoli. :)
Qui il link all'articolo: http://www.joomla.it/articoli-della-community/4678-trucchi-mostrare-immagini-come-categorie-in-home-page.html
-
Chi provasse ad effettuare l'override, inserendo il codice suggerito da Toni, ed avesse come risultato una stringa di codice invece dell'immagine probabilmente non ha il supporto per il codice compresso del linguaggio php quindi potete sostituire la stringa
<img src="/images/categories/<?= $this->item->category ?>.gif">
con
<img src="/images/categories/<?php echo $this->item->category ?>.gif">
il tag compresso <?= infatti equivale a <?php echo e se non avete il supporto per il php compresso vi verrà restituita la stringa come testo invece che come immagine o peggio restituire un Warning o, in alcuni casi pagina bianca.
N.B.
Per ulteriori informazioni controllate le direttive per l'uso degli short tags
http://php.net/manual/en/ini.core.php
-
Giusto! Vado anzi a modificare l'articolo che è meglio sempre usare il tag completo... :)
-
Toni inseriscili pure tutti e due, nella stragrande maggioranza delle impostazioni dei nuovi server il supporto per gli short tags è attivo e pian piano vanno scomparendo quelli che non lo hanno attivo.
-
Allora lasciamo come sta e a chi non va indico la soluzione che hai postato qui. Però una cosa ti volevo chiedere: la slash davanti ad images non ci va ed è l'editor che me l'ha aggiunta. Se io la lascio l'immagine non si carica pur stampandosi il codice. A te va o hai suggerito il codice senza provarlo?
-
scusate la domanda stupidissima:
ma è possibile avere nomi dei file con gli spazi in ambiente Linux?
io sapevo di no (ma ovviamente l'ignoranza regna sovrana, per cui potrei sbagliarmi facilissimamente..)
-
A te va o hai suggerito il codice senza provarlo?
Al momento della mia replica non avevo possibilità di testing sul campo quindi, effettivamente, lo slash che precede images, può creare dei problemini.
scusate la domanda stupidissima:
ma è possibile avere nomi dei file con gli spazi in ambiente Linux?
Eviterei sia in ambiente Winoxxo, Linux, Unix ecc. di utilizare nomi immagine con spazi. Create un collegamento tra le parole col classico attack _
-
Ho cambiato il codice nell'articolo come suggerito da Vamba e tolto lo slash.
-
Eviterei sia in ambiente Winoxxo, Linux, Unix ecc. di utilizare nomi immagine con spazi. Create un collegamento tra le parole col classico attack _
mhm... forse invece del nome della categoria conviene utilizzare l'alias.
in questo modo tutte le parole "ostiche" sono già state eliminate
-
...meglio sarebbe allora utilizzare l'id o lo slag in questo modo si eviterebbe qualsiasi problematica.
Essendo una modifica da override chiunque può inserire la forma che più gli aggrada a senconda anche dell'umore o del tempo :) LOL
-
Sapevo anch'io che è da evitare l'uso degli spazi nelle immagini.
Tuttavia, poichè le mie categorie degli articoli ce le avevo già, ed avevano già il loro nome con in mezzo gli spazi, ho provato a nominarle con gli spazi. E funzionano. :)
Accogliendo il suggerimento di Peke Yangu ho provato a nominare le imagini col nome dell'alias della categoria ma non funziona. Pertanto o si lasciano gli spazi nel nome dell'immagine esattamente come è nominata la categoria oppure... si rinomina la categoria. Forse è possibile dire nel codice di cercare il nome dell'alias o l'Id o altro ma non saprei farlo :(
-
Accogliendo il suggerimento di Peke Yangu
ehmmm ehmm io non avevo suggerito sta cosa :) LOL
avevo suggerito principalmente il numero id
sostituendo
$this->item->category
con
$this->item->catid
Ovviamente in questo caso l'immagine da creare sarà nella forma numero.gif esempio 1.gif
-
Ecco, a saperle, le cose sono assai più semplici... ;D
Così va molto bene e facciamo tutto per bene. Niente spazi nel nome delle immagini, niente maiuscole minuscole... Si.. si.... meglio farlo in questo modo l'override. Che è proprio una cosa stupenda a dispetto del nome. Ognuno lo può fare come gli pare, come il sesso con le posizioni del kamasutra ;D :D 8)
-
...meglio sarebbe allora utilizzare l'id o lo slag in questo modo si eviterebbe qualsiasi problematica.
Per non lasciare indietro cose che non ho capito... Dell'id abbiamo visto. Ma cortesemente avresti il tempo di spiegare cos'è lo slag. Sembra una parolaccia anche questa... :D
Grazieeeee... :)
-
Ciao a tutti,
premetto che ho letto un pò di corsa l'articolo di Toni;
credo che, senza scomodare l'override, si possa ottenere lo stesso risultato con i CSS.
Mi sbaglio?
Saluti
Floyd
-
Modificato l'articolo con il codice suggerito da Vamba, che richiama il catid invece di category.
-
Ciao a tutti,
premetto che ho letto un pò di corsa l'articolo di Toni;
credo che, senza scomodare l'override, si possa ottenere lo stesso risultato con i CSS.
Mi sbaglio?
Saluti
Floyd
Io non saprei come farlo floyd1616. Ma se c'è anche un altro modo ben venga... :)
-
io mi ritrovo con gli articoli che non fanno parte di una categoria e quelli di una categoria senza immagine con la classica iconcina che indica l'assenza del file. Come risolvo?
--------------------
Visto che mi interessa inserirlo anche nel modulo ultime news, in modo da differenziarle, ho provato a caricare il codice anche lì ma non mi prende l'img. perchè?
-
Non saprei che dirti tasto. Controlla bene di aver fatto tutto giusto. Il nome dell'immagine, che sia effettivamente inserita nella giusta cartella... ;)
-
Ho controllato. Gli articoli inseriti nella sezione "nessuna" devono avere una immagine chiamata 0.png per esempio... e le altre categorie dovranno avere cmq una immagine, anche se trasparente. Quindi consiglio di utilizzare file png
-
Salute a tutti.
Riguardo la posizione delle immagini, è possible organizzare la posizione?
Cioè metterli in float con gli articoli, o con quello che viene scritto nella sezione in prima pagina?
Così come da istruzioni l'immagine va a posizionarsi in ALTO dell'articolo, del titolo e del tutto.
Grazie a complimenti ancora a tonicopi.
-
No giusep nell'esempio fatto nell'articolo e come si può vedere bene nella demo, l'immagine si posiziona esattamente davanti al titolo. A me serviva così e con quel template va così. Ma come è scritto chiaramente nell'articolo noi possiamo posizionare ovunque nella pagina quella immagine e anche la possiamo certo imbrigliare dentro un div o uno span con un id che poi formatteremo come ci pare.
E possiamo anche aggiungere una url alla categoria (al posto di 14 ci va l'id di quella categoria) per rendere cliccabile quella immagine :D
<span id="mio">
<a href="index.php?option=com_content&view=category&id=14">
<img src="images/categories/<?php echo $this->item->catid ?>.gif">
</a>
</span>
-
Grazie...
molto interessante...
proviamo e vediamo cosa ne esce fuori.
Tanti saluti ;)
-
Caro tonicopi,
ritornando alle immagini cliccabili, come dici tu, dovremmo scrivere tanti SPAN quanti sono le categorie, ognuno con il proprio ID,
visto che nella mia home page posso inserire articoli di tutte le categorie prersenti nel mio sito...?
:-\
-
Basta scriverlo una volta sola nell'override ma fargli prendere l'id della categoria in modo dinamico come facciamo per il nome dell'immagine. Ho modificato il codice così:
<span id="mio">
<a href="index.php?option=com_content&view=category&id=<?php echo $this->item->catid ?>">
<img src="images/categories/<?php echo $this->item->catid ?>.gif">
</a>
</span>
Non l'ho provato ma dovrebbe funzionare ;)
-
Carissimo...
niente da fare...
ho copiato il codice che hai scritto, ma niente, ancora non cliccabili...
l'immagine si vede, come prima...
-
... allora che faccio?
Posso togliere l'ultimo codice...
tanto non serve a niente...
Certamente se lo lascio lì non si trasforma da solo ;D
per il PHP ancora non è valida la teoria dell'Evoluzione della Specie...
-
... chiedo umilmente scusa, ma non so cosa è successo...
una svista o una pulitura cache...
adesso FUNZIONA!!!!
Le immagini sono CLICCABILI come giustamente hai pronosticato ;)
-
Gent.mo,
la cliccata è risolta...
adesso possiamo risolvere il FLOAT?
Cioè poter dare una sistemata affianco l'immagine...
dai un'occhiata da te stesso: www.incontraregesu.it
c'è troppo spazio vuoto...
si deve scrivere ancora qualcosa nel default_item?
Sempre grato ;)
-
Fai prove. Sposta il codice in altri punti. Formattalo con i css. ;)
-
Ok
grazie per l'incoraggiamento..
ci provo ;)
-
Sapete dirmi se è possibile fare la stessa cosa con la 1.6? perchè a quanto pare questo file:
components/com_content/views/frontpage/tmpl/default_item.php
non esiste più..
-
Non riesco assolutamente a metterlo di default prima dell'inizio del testo di una news (non dell'articolo).
Qualcuno può darmi una mano??
Grazie in anticipo!!
<?php
defined('_JEXEC') or die('Restricted access'); // no direct access
$canEdit = ($this->user->authorize('com_content', 'edit', 'content', 'all') || $this->user->authorize('com_content', 'edit', 'content', 'own'));
?>
<?php if ($this->item->state == 0) : ?>
<div class="system-unpublished">
<?php endif; ?>
<div class="art-post">
<div class="art-post-tl"></div>
<div class="art-post-tr"></div>
<div class="art-post-bl"></div>
<div class="art-post-br"></div>
<div class="art-post-tc"></div>
<div class="art-post-bc"></div>
<div class="art-post-cl"></div>
<div class="art-post-cr"></div>
<div class="art-post-cc"></div>
<div class="art-post-body">
<div class="art-post-inner">
<?php
artxFragmentBegin("<div class=\"art-postmetadataheader\">\r\n");
if ($this->item->params->get('show_title')) {
ob_start();
?>
<h2 class="art-postheader"><?php echo JHTML::_('image.site', 'postheadericon.png', null, null, null, '', array('width' => '30', 'height' => '30')); ?>
<?php
artxFragmentBegin(ob_get_clean());
if ($this->item->params->get('link_titles') && $this->item->readmore_link != '')
artxFragmentContent('<a href="' . $this->item->readmore_link . '" class="PostHeader">' . $this->escape($this->item->title) . '</a>');
else
artxFragmentContent($this->escape($this->item->title));
ob_start();
?>
</h2>
<?php
artxFragmentEnd(ob_get_clean());
}
artxFragmentBegin("<div class=\"art-postheadericons art-metadata-icons\">\r\n");
if ($this->params->get('show_url') && $this->article->urls)
artxFragment('', '<a href="http://' . $this->item->urls . '" target="_blank">' . $this->item->urls . '</a>', '', ' | ');
if ($this->item->params->get('show_create_date')) {
artxFragment('', JHTML::_('date', $this->item->created, JText::_('DATE_FORMAT_LC2')), '', ' | ');
}
if (($this->item->params->get('show_author')) && ($this->item->author != "")) {
artxFragment('', JText::sprintf('Written by', ($this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author)), '', ' | ');
}
if ($this->item->params->get('show_pdf_icon'))
artxFragment('', JHTML::_('icon.pdf', $this->item, $this->item->params, $this->access), '', ' | ');
if ($this->item->params->get('show_print_icon'))
artxFragment('', JHTML::_('icon.print_popup', $this->item, $this->item->params, $this->access), '', ' | ');
if ($this->item->params->get('show_email_icon'))
artxFragment('', JHTML::_('icon.email', $this->item, $this->item->params, $this->access), '', ' | ');
if ($canEdit)
artxFragment('', JHTML::_('icon.edit', $this->item, $this->item->params, $this->access), '', ' | ');
artxFragmentEnd("\r\n</div>\r\n");
artxFragmentEnd("\r\n</div>\r\n");
echo "<div class=\"art-postcontent\">\r\n";
if (!$this->item->params->get('show_intro'))
echo $this->item->event->afterDisplayTitle;
echo $this->item->event->beforeDisplayContent;
if (($this->item->params->get('show_section') && $this->item->sectionid) || ($this->item->params->get('show_category') && $this->item->catid)) {
?>
<table class="contentpaneopen<?php echo $this->item->params->get('pageclass_sfx' ); ?>">
<tr>
<td>
<?php
if ($this->item->params->get('show_section') && $this->item->sectionid && isset($this->item->section)) {
echo "<span>";
if ($this->item->params->get('link_section'))
echo '<a href="'.JRoute::_(ContentHelperRoute::getSectionRoute($this->item->sectionid)).'">';
echo $this->item->section;
if ($this->item->params->get('link_section'))
echo '</a>';
if ($this->item->params->get('show_category'))
echo ' - ';
echo "</span>";
}
if ($this->item->params->get('show_category') && $this->item->catid) {
echo "<span>";
if ($this->item->params->get('link_category'))
echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug, $this->item->sectionid)).'">';
echo $this->item->category;
if ($this->item->params->get('link_category'))
echo '</a>';
echo "</span>";
}
?>
</td>
</tr>
</table>
<?php
}
if (isset ($this->item->toc))
echo $this->item->toc;
echo "<div class=\"art-article\">", $this->item->text, "</div>";
if (intval($this->item->modified) != 0 && $this->item->params->get('show_modify_date')) {
echo "<p class=\"modifydate\">";
echo JText::_('Last Updated') . ' (' . JHTML::_('date', $this->item->modified, JText::_('DATE_FORMAT_LC2')) . ')';
echo "</p>";
}
if ($this->item->params->get('show_readmore') && $this->item->readmore) {
?>
<p>
<span class="art-button-wrapper">
<span class="art-button-l"> </span>
<span class="art-button-r"> </span>
<a class="readon art-button" href="<?php echo $this->item->readmore_link; ?>">
<?php
if ($this->item->readmore_register) {
echo str_replace(' ', ' ', JText::_('Register to read more...'));
} elseif ($readmore = $this->item->params->get('readmore')){
echo str_replace(' ', ' ', $readmore);
} else {
echo str_replace(' ', ' ', JText::sprintf('Read more...'));
}
?>
</a>
</span>
</p>
<?php
}
echo "<span class=\"article_separator\"> </span>";
echo $this->item->event->afterDisplayContent;
echo "\r\n</div>\r\n<div class=\"cleared\"></div>\r\n";
?>
</div>
<div class="cleared"></div>
</div>
</div>
<?php if ($this->item->state == 0) : ?>
</div>
<?php endif; ?>
-
Grazie di cuore, per noi novizi queste lezioni sono oro.
Grazie ancora
-
Ottimo override, molto utile! Ma per avere lo stesso risultato con la versione 1.7 di Joomla come faccio?
Ho provato ad inserire il codice nel file templates/miotemplate/html/com_content/article/default.php ma continua a restituirmi la pagina bianca, dove sbaglio?
Ci sto sbattendo la testa da giorni e non riesco a cavarne fuori nulla! Potete aiutarmi in qualche modo?
-
Ho lo stesso problema di Alemat.
Ci sto provando anche io, il primo che riesce lo scrive qui? :)
-
Ok. Per chi volesse usare il trucco di Tonicopi con Joomla 1.6/1.7:
component/com_contents/vews/featured/tmpl/default_item.php
prendere il file default_item.php, aggiungergli la stringa come nell'articolo:
<img src="images/categories/<?php echo $this->item->catid?>.gif">
e infine caricare il file in quest'altro percorso:
/templates/TUO TEMPLATE/html/com_content/featured
sovrascrivendo il file al default_item.php esistente (se nel template non è presente questo percorso metteteci voi le directoriy necessarie).
-
ciao, spero innanzitutto che questo topic sia ancora attivo, cmq volevo un'informazione.
ho utilizzato il metodo suggerito per inserire un'immagine vicino al titolo che cambia in base al livello di accesso.
se vado sul post va a meraviglia, ma quando invece provo a caricare la stessa funzione cliccando sulla voce di menu (categoria-blog) non si vedono le immagini.
sto provando a modificare tutti i file delle categorie ma non riesco a trovare il bandolo della matassa. c'è qualcun* che mi può dare una dritta?
ciao e grazie