Domanda

Sto sviluppando un sito utilizzando Joomla 3.2.3 Dove ho aggiunto alcuni tag ai miei articoli Joomla che negli articoli vengono visualizzati sopra è il contenuto.

Per la quotazione I Uso il tipo di menu 'MENU TIPO: Articoli> Elenco delle categorie' e vorrei aver visualizzato anche gli articoli tag nell'elenco, ad es. In questo modo:

[Titolo] [Autore] [Tag]

Poiché Joomla non supporta questa opzione nell'opzione Gestore di articoli per mostrare i tag nel layout dell'elenco, ho tentato di aggiungerlo all'elenco modificando i file di layout di elenco. Qui ho fatto un'override del modello di:

Com_content> Categoria

Che include i file list:

    .
  • default.php
  • default.xml
  • default_article.php
  • default_children.php

Allora ho provato a modificare questo file, che crea il layout dell'elenco:

... / Modelli / My_Template / HTML / Com_Content / Categoria / Default_Articles.php

Per creare la colonna Tag per il layout dell'elenco ho aggiunto questo codice nella sezione attorno alla riga 100:

<?php if ($this->params->get('show_tags')) : ?>
   <th id="categorylist_header_tags">
         <?php echo JHtml::_('grid.sort', 'JTAG', 'tags', $listDirn, $listOrder); ?>
   </th>
<?php endif; ?>
.

Questo ha creato e visualizza una 2a colonna nella mia visualizzazione di elenco della categoria con il titolo dell'intestazione: Tag (se impostato su "Mostra" nell'opzione Manager di articoli)

E per ottenere i tag da visualizzare nei campi della colonna, ho pensato che devo aggiungere un codice per i tag nella sezione attorno alla linea 181, dove ho provato ad aggiungere questo codice:

   </td>
<?php endif; ?>
<?php if ($this->params->get('show_tags', 1)) : ?>
   <<td headers="categorylist_header_tags" class="list-tags">
      <?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
      <?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>
         <?php echo JText::sprintf('JTAG', $article->tags->itemTags); ?>
   </td>
<?php endif; ?>
.

Questo è il codice con cui ho bisogno di aiuto, poiché non funziona completamente, mostra solo i "tag del testo" (dal "Jtag") nei campi e non visualizza il tag dell'articolo dal codice :

<?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
<?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>
.

che ho preso dagli articoli Visualizza il layout predefinito per vedere come vengono resi i tag. Ma questo codice attualmente non funziona direttamente nel layout della lista delle categorie o non fornisce alcun effetto.


.

ha provato a dare un'occhiata a questo post: Articolo Tags mostrato nell'elenco degli articoli in layout

Ma non è stato in grado di ottenere il codice in questo post per funzionare per me:

È stato utile?

Soluzione

Quindi se guardi il layout di categoria del web links vedrai che i tag per i singoli collegamenti sono visualizzati con questo codice:

<?php $tagsData = $item->tags->getItemTags('com_weblinks.weblink', $item->id); ?>
<?php if ($this->params->get('show_tags', 1)) : ?>
    <?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
    <?php echo $this->item->tagLayout->render($tagsData); ?>
<?php endif; ?>
.

Quindi ciò che devi fare è configurare il $ TagsData modifica correttamente il nome dell'alias e assicurarsi anche che la variabile ID sia corretta.

Si inserisce questo interno il codice per il layout di un singolo elemento sul significato dell'elenco nel file blog_item.php possibilmente dopo il titolo.

    <?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
    <?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top