Joomla.it Forum
Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => I Template di Joomla 1.5.x => : mobyclick 02 Jul 2010, 15:36:43
-
Ciao a tutti.
Ho dato a questo topic lo stesso titolo di uno già taggato come risolto in modo che sia eventualmente facile recuperare la storia e gli interventi.
Il problema di partenza è lo stesso, ossia ho un template che, se utilizzato, non mi fa vedere l'icona per la modifica degli articoli dal frontend che quindi non è possibile. Il template è l'i-business di themesjoomla che ha appunto una cartella html per l'override.
Nella cartella htlml del template ho diverse sottocartelle e ciascuna di esse ha ulteriori sottocartelle. Suppongo che ogni cartella qui presente si riferisca ad un componente e di quello faccia l'override, giusto?
Ora per il problema in questione ho scelto di analizzare la cartella com_content supponendo si riferisca agli articoli. Al suo interno trovo le cartelle archive, article, category, frontpage e section.
Credevo di dover lavorare sui contenuti della cartella article ma ci trovo solo il file default.php e non l'altro (default_item.php) citato nella soluzione.
Primo problema... è il percorso giusto?
Seconda domanda... cosa bisogna modificare esattamente all'interno del file o dei files per far riapparire l'icona di modifica?
Grazie per l'aiuto!
-
Ho risolto e spero di poter essere utile anche ad altri facendo un riassunto del percorso che ho seguito.
Innanzi tutto grazie a tonicopi che in un post con lo stesso titolo scriveva:
Probabilmente la mancanza dell'icona per modificare gli articoli è dovuta all'override che il tuo template fa dei file default.php e default_item.php. Prova a vedere se dentro la cartella del tuo template hai una cartella che si chiama html, se si significa che il tuo template sovrascrive i file di default di Joomla! facendo l'override:
http://www.joomla.it/articoli-della-community/788-override-del-template-come-personalizzare-le-pagine-di-joomla.html
Devi modificare quei due file nominati sopra. Confrontali con i file originali di Joomnla! e cerca di individuare dove sta il codice che richiama quella icona per modificare gli articoli.
Da qui ho scoperto che il mio template all'interno della citata cartella html/article conteneva il file default.php che ho editato sostituendone l'intera prima parte copiandola dal default.php di Joomla (che ho trovato in components/com_content/views/article/tmpl). In pratica ho ripreso dal file originale tutto questo codice:
$canEdit = ($this->user->authorize('com_content', 'edit', 'content', 'all') || $this->user->authorize('com_content', 'edit', 'content', 'own'));
?>
<?php if ($this->params->get('show_page_title', 1) && $this->params->get('page_title') != $this->article->title) : ?>
<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<?php echo $this->escape($this->params->get('page_title')); ?>
</div>
<?php endif; ?>
<?php if ($canEdit || $this->params->get('show_title') || $this->params->get('show_pdf_icon') || $this->params->get('show_print_icon') || $this->params->get('show_email_icon')) : ?>
<table class="contentpaneopen<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<tr>
<?php if ($this->params->get('show_title')) : ?>
<td class="contentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>" width="100%">
<?php if ($this->params->get('link_titles') && $this->article->readmore_link != '') : ?>
<a href="<?php echo $this->article->readmore_link; ?>" class="contentpagetitle<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<?php echo $this->escape($this->article->title); ?>[/url]
<?php else : ?>
<?php echo $this->escape($this->article->title); ?>
<?php endif; ?>
</td>
<?php endif; ?>
<?php if (!$this->print) : ?>
<?php if ($this->params->get('show_pdf_icon')) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.pdf', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>
<?php if ( $this->params->get( 'show_print_icon' )) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.print_popup', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>
<?php if ($this->params->get('show_email_icon')) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.email', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>
<?php if ($canEdit) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.edit', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>
<?php else : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.print_screen', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>
</tr>
</table>
<?php endif; ?>