ti-enxame.com

Página de resultado de modificação de tags do Joomla

Quero mostrar o texto de introdução do artigo e a imagem do item com o link para o artigo completo na página de resultados das Tags do Joomla.

Existe uma maneira de fazer isso ou como posso modificar o código para obter os resultados esperados?

Tentei adicionar componentes\com_tags\views\tag\tmpl\default_items.php <?php echo $this->item->introtext; ?> mas não funciona lá como em outros casos. Eu não sei php bem o suficiente, então gostaria de saber se existem outras sugestões.

Obrigado

4
gag

Tente isto (testado e trabalhado no Joomla 3.3.0):

Coloque este código:

<?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>';
?>

neste arquivo:

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

que devem ser copiados de:

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

entre essas duas linhas

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

Você pode usar qualquer uma dessas variáveis ​​(<?php echo $item->useonefromthelist; ?>) Para modificar a saída do 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

Como eu obtenho esta lista?

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

Esta solução funcionou muito bem para mim. O texto de introdução ainda era muito longo, então eu o reduzi para 300 caracteres. Ver abaixo. Adicionei o código principal na primeira resposta acima logo após a tag h3 e modifiquei a parte do texto de introdução. Eu não usei o nome da categoria. Eu adicionei o link para o artigo principal no link leia mais e também para o ...

Aqui está o código total que usei no Joomla 3.6, incluindo a 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

Em primeiro lugar, a edição direta da substituição do modelo in situ não é recomendada.

O html do Google substitui para obter mais informações, mas resumindo, no caso acima:

  • copie a pasta tmpl de components\com_tags\views\tag para templates/yourtemplate/html/com_tags /
  • renomeie-o para marcar

Você pode editá-lo lá onde não será substituído após uma atualização.

Pelo que você quer fazer acima, acho que você achará isso mais complicado do que pensa. Qual saída você deseja onde uma tag está vinculada a mais de um artigo? O que eu faria aqui é dar uma olhada na modificação de um módulo que já faz a maior parte do que você deseja. Algo como o módulo "Tags Semelhantes". Seria mais fácil criar uma versão modificada e chamar isso para a página de resultados da tag.

0
BodgeIT