it-swarm.it

Modifica la pagina dei risultati dei tag Joomla

Voglio mostrare il testo di introduzione del mio articolo e l'immagine dell'articolo con il collegamento all'articolo completo nella pagina dei risultati per i tag Joomla.

C'è un modo per farlo, o come posso modificare il codice per ottenere i risultati previsti?

Ho provato ad aggiungere componenti\com_tags\views\tag\tmpl\default_items.php <?php echo $this->item->introtext; ?> ma non funziona lì come in altri casi. Non conosco abbastanza bene php, quindi vorrei sapere se ci sono altri suggerimenti.

Grazie

4
gag

Prova questo (testato e lavorato in Joomla 3.3.0):

Metti questo codice:

<?php
//introtext
echo $item->text;
//image
$images  = json_decode($item->core_images);
echo '<img src="'.$images->image_intro.'">';
//get category name by id
$db = JFactory::getDbo();
$id = $item->core_catid;
$db->setQuery("SELECT cat.title FROM #__categories cat WHERE cat.id='$id'");
$category = $db->loadResult();
echo '<p>'.$category.'</p>';
?>

in questo file:

templates/yourtemplate/html/com_tags/tag/default_items.php

che dovrebbe essere copiato da:

components\com_tags\vista\tag\tmpl\default_items.php

tra queste due righe

<?php foreach ($items as $i => $item) : ?> //Line 63 <?php endforeach; ?>

È possibile utilizzare una qualsiasi di queste variabili (<?php echo $item->useonefromthelist; ?>) Per modificare l'output del tag:

type_alias
content_item_id 
core_content_id
match_count 
tag_date
core_title
core_alias
core_body
core_state
core_access 
core_metadata
core_created_user_id 
core_created_by_alias 
core_created_time 
core_images 
core_modified_time 
core_language 
core_catid 
core_publish_up 
core_publish_down 
content_type_title 
router 
author 
author_email 
link 
displayDate
event
text
core_params

Come ottengo questo elenco?

<pre>
<?php print_r($item); ?>
</pre>
7
Joomla Agency

Questa soluzione ha funzionato molto bene per me stesso. Il testo introduttivo era ancora troppo lungo, quindi l'ho abbreviato in 300 caratteri. Vedi sotto. Ho aggiunto il codice principale nella prima risposta sopra subito dopo il tag h3 e poi ho appena modificato la parte di testo introduttiva. Non ho usato il nome della categoria. Ho aggiunto il link all'articolo principale nel link leggi di più e anche per ...

Ecco il codice totale che ho usato in Joomla 3.6, incluso il tag h3 ...

<h3>
<a href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>">
<?php echo $this->escape($item->core_title); ?>
</a> 
</h3>

<?php
//image
$images  = json_decode($item->core_images);
echo '<p><img class="intro-image" src="'.$images->image_intro.'"></p>';                  
//introtext
$limit =300;
if (strlen($item->text) > $limit) {
echo (substr($item->text, 0, $limit)) ?> <a href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>">...</a>
<?php
}
else {
echo $item->text;
}
?>
<p>
<a class="read-more" href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>">Read more</a>
</p> 
0
Donald Ax

In primo luogo, non è consigliabile modificare direttamente la sostituzione del modello in situ.

HTML html sostituisce per ulteriori informazioni ma in breve, per il caso sopra:

  • copia la cartella tmpl da componenti\com_tags\views\tag in template/yourtemplate/html/com_tags /
  • rinominalo in tag

Puoi modificarlo lì dove non verrà sovrascritto dopo un aggiornamento.

Per quello che vuoi fare sopra, penso che lo troverai più complicato di quanto pensi. Quale output vorresti quando un tag è collegato a più di un articolo? Quello che vorrei fare qui è dare un'occhiata alla modifica di un modulo che fa già la maggior parte di ciò che si desidera. Qualcosa come il modulo "Tag simili". Sarebbe più semplice crearne una versione modificata e chiamarla nella pagina dei risultati del tag.

0
BodgeIT