Zwei Vorschläge hätte ich:
1. Die Funktion "URL-Parameter erhalten" funktioniert mit einem News Archiv, sodass man das Archiv, z.B. einen Monat, nach Tags filtern kann. Praktisch wäre es, wenn dann auch nur Tags in der Cloud angezeigt werden, welche in diesem Archiv verwendet wurden und nicht alle Tags.
2. Die Funktion "URL-Parameter erhalten" funktioniert leider nicht mit "Zugehörige Auszeichnungen"
-----------------------------------------
+ Bei den Artikeln funktioniert bei "Zugehörige Auszeichnungen" die Anzahl nicht. $tag['tag_count'] immer 0
Edit: Das konnt ich nun beheben, indem ich in "TagListArticles.php" folgendes geändert habe:
PHP-Code:
$count = count($this->Database->prepare("SELECT tl_tag.id FROM tl_tag, tl_article WHERE tl_tag.id = tl_article.id AND tag = ?" . (!BE_USER_LOGGED_IN ? " AND (start='' OR start<?) AND (stop='' OR stop>?) AND published=1" : "") . " AND from_table = ? AND tl_tag.id IN (" . join($ids, ",") . ")")
in
PHP-Code:
$count = count($this->Database->prepare("SELECT tl_tag.id FROM tl_tag, tl_article WHERE tl_tag.id = tl_article.id AND tag = ? AND from_table = ? " . (!BE_USER_LOGGED_IN ? " AND (start='' OR start<?) AND (stop='' OR stop>?) AND published=1" : "") . " AND tl_tag.id IN (" . join($ids, ",") . ")")
geändert, dabei habe ich
PHP-Code:
AND from_table = ?
vorgezogen.
--------------------------------
Edit: Mir ist auch gerade aufgefallen, dass in "ModuleTaggedArticleList.php" gar nicht die related Tags beachtet werden?
Edit: Ich glaube auch das habe ich gerade gelöst:
In "ModuleTaggedArticleList.php" folgendes ersetzen:
PHP-Code:
$objIds = $this->Database->prepare("SELECT id FROM tl_tag WHERE from_table = ? AND tag = ?")
->execute('tl_article', $this->Input->get('tag'));
if ($objIds->numRows)
{
while ($objIds->next())
{
array_push($tagids, $objIds->id);
}
}
mit
PHP-Code:
$relatedlist = (strlen($this->Input->get('related'))) ? preg_split("/,/", $this->Input->get('related')) : array();
$alltags = array_merge(array($this->Input->get('tag')), $relatedlist);
$tagids = $this->Database->prepare("SELECT id FROM tl_tag WHERE from_table = ? AND tag = ?")
->execute('tl_article', $this->Input->get('tag'))
->fetchEach('id');
foreach ($alltags as $tag)
{
if (strlen(trim($tag)))
{
if (count($tagids))
{
$tagids = $this->Database->prepare("SELECT id FROM tl_tag WHERE from_table = ? AND tag = ? AND id IN (" . join($tagids, ",") . ")")
->execute('tl_article', $tag)
->fetchEach('id');
}
}
}