Autore Topic: [RISOLTO] - Template con blocco modifica articoli  (Letto 652 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; ?>


 

Host

Torna su