Ich hab es jetzt für mich so gelöst (nicht updatesicher, ich weiss).
Im system/modules/tags das File ModuleEventlistTags.php so angepasst, um die Bodyklassen auszulesen und als tag zu hinterlegen:
PHP-Code:
...
class ModuleEventlistTags extends \ModuleEventlist
{
/**
* Generate module
*/
protected function getAllEvents($arrCalendars, $intStart, $intEnd)
{
$arrAllEvents = parent::getAllEvents($arrCalendars, $intStart, $intEnd);
if (($this->tag_ignore) && !strlen($this->tag_filter)) return $arrAllEvents;
global $objPage;
$CSS_TAGS = [];
$CSS_ARRAY = explode(" ",$objPage->cssClass);
foreach ($CSS_ARRAY as $key => $value) {
if (strpos($value,"tag_") !== false){
$_T = explode("tag_",$value);
array_push($CSS_TAGS, str_replace("_", " ", $_T[1]));
}
}
if (strlen(\TagHelper::decode(\Input::get('tag'))) || strlen($this->tag_filter || count($CSS_TAGS)>0))
{
$limit = null;
$offset = 0;
$tagids = array();
if (strlen($this->tag_filter)) $tagids = $this->getFilterTags();
$relatedlist = (strlen(\TagHelper::decode(\Input::get('related')))) ? preg_split("/,/", \TagHelper::decode(\Input::get('related'))) : array();
$tagArray = (strlen(\TagHelper::decode(\Input::get('tag')))) ? array(\TagHelper::decode(\Input::get('tag'))) : array();
$alltags = array_merge($tagArray, $relatedlist, $CSS_TAGS);
...
Jetzt können die zu filternden Tags als CSS-Klasse der Seite hinterlegt werden in der Form "t_tagname".
Sollte ein Tag ein Leerzeichen enthalten, so muss das mit einem Unterstrich als CSS-Klasse gesetzt werden, also z.b. das Tag wäre "Montag Abend", dann wäre die Klasse "t_Montag_Abend".
Sonderzeichen sind noch nicht vorgesehen, kann man aber dann noch anpassen.
Es gibt sicher eine elegantere Lösung, aber ich finde auf die Schnelle leider keine und das tag-Forum scheint mir etwas verwaist zu sein.
Bin für jeden Verbesserungsvorschlag dankbar.
Lesezeichen