it-swarm.com.de

Ergebnisseite für Joomla-Tags ändern

Ich möchte meinen Artikelintro-Text und das Artikelbild mit dem Link zum vollständigen Artikel auf der Ergebnisseite für Joomla-Tags anzeigen.

Gibt es eine Möglichkeit, dies zu tun, oder wie kann ich den Code ändern, um die erwarteten Ergebnisse zu erzielen?

Ich habe versucht, in components\com_tags\views\tag\tmpl\default_items.php <?php echo $this->item->introtext; ?> Einzufügen, aber es funktioniert dort nicht wie in anderen Fällen. Ich kenne PHP nicht gut genug und würde gerne wissen, ob es noch andere Vorschläge gibt.

Vielen Dank

4
gag

Versuchen Sie dies (getestet und in Joomla 3.3.0 gearbeitet):

Gib diesen Code ein:

<?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 diese Datei:

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

das sollte kopiert werden von:

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

zwischen diesen beiden Zeilen

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

Sie können jede dieser Variablen (<?php echo $item->useonefromthelist; ?>) Verwenden, um die Tag-Ausgabe zu ändern:

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

Woher bekomme ich diese Liste?

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

Diese Lösung hat für mich sehr gut funktioniert. Der Intro-Text war noch zu lang, also habe ich ihn auf 300 Zeichen gekürzt. Siehe unten. Ich habe den Hauptcode in der ersten Antwort oben direkt nach dem h3-Tag hinzugefügt und dann nur den Intro-Textabschnitt geändert. Ich habe den Kategorienamen nicht verwendet. Ich habe den Link zum Hauptartikel im Read More Link und auch für die ...

Hier ist der gesamte Code, den ich in Joomla 3.6 verwendet habe, einschließlich des h3-Tags ...

<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

Erstens ist es nicht empfehlenswert, die Vorlagenüberschreibung direkt in situ zu bearbeiten.

Google HTML-Overrides für weitere Informationen, kurz gesagt für den obigen Fall:

  • kopieren Sie den Ordner "tmpl" von "components\com_tags\views\tag" nach "templates/yourtemplate/html/com_tags /".
  • benenne es in tag um

Sie können es dort bearbeiten, wo es nach einem Update nicht überschrieben wird.

Für das, was Sie oben tun möchten, finde ich das komplizierter als Sie denken. Welche Ausgabe möchten Sie, wenn ein Tag mit mehreren Artikeln verknüpft ist? Was ich hier tun würde, ist einen Blick auf das Modifizieren eines Moduls zu werfen, das bereits das meiste von dem macht, was Sie wollen. So etwas wie das Modul "Ähnliche Tags". Es wäre einfacher, eine modifizierte Version davon zu erstellen und diese auf der Tag-Ergebnisseite aufzurufen.

0
BodgeIT