Back to top

Autore Topic: [RISOLTO] - Template con blocco modifica articoli  (Letto 1104 volte)

Offline mobyclick

  • Nuovo arrivato
  • *
  • Post: 32
  • Sesso: Maschio
    • Mostra profilo
[RISOLTO] - Template con blocco modifica articoli
« il: 02 Lug 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!
« Ultima modifica: 14 Lug 2010, 16:53:00 da mobyclick »

Offline mobyclick

  • Nuovo arrivato
  • *
  • Post: 32
  • Sesso: Maschio
    • Mostra profilo
Re:Template con blocco modifica articoli
« Risposta #1 il: 14 Lug 2010, 16:48:39 »
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; ?>


 



Web Design Bolzano Kreatif