Zum Inhalt springen

macina_banners > custom categories

Erstellt am 13. Oktober 2008 · 2 Antworten · letzte Antwort am 14. Oktober 2008

Tags: Frage

TheRisingSun ·

Hallo,

ich benutze die Extension macina_banners eigentlich ganz erfolgreich im Zusammenspiel mit TemplaVoila. Allerdings werden die Banner nur angezeigt, wenn ich eine der Standard-Kategorien top,right,bottom,left wähle. Bei Wahl einer benutzerdefinierten Kategorie wird das Banner nicht angezeigt.

Ich suche schon seit ca. einer Woche nach einer Lösung aber bislang ohne Erfolg. Hat jemand von Euch ne Idee woran das liegen könnte?

Hier ein paar Daten
TYPO3 4.1.2
macina_banners 1.5.0

Mein TS:

plugin.tx_macinabanners_pi1 {
  templateFile = fileadmin/{$template_folder}/banner_template.tmpl
  results_at_a_time = 100
  mode = all
  pidList = {$banner_pid}
  recursive = 0 
  image.file.maxW = 468
}
lib.banner_top < plugin.tx_macinabanners_pi1
lib.banner_top {
  placement = bannerTop
}

Wie gesagt läuft alles prima bei Wahl von top, bottom usw.

TheRisingSun ·

Ich habe mittlerweile herausgefunden, dass das Banner angezeigt wird, wenn ich im TS-Setup anstelle der Description (bannerTop) die umgewandelte Form tx_macinabanners_categories:1 verwende.
Leider weiß ich nicht warum? Was ich sagen kann ist, dass tx_macinabanners_categories die Tabelle für die benutzerdefinierten Kategorien ist und die Ziffer hinter dem Doppelpunkt die uid der entsprechenden Kategorie.

Hat denn noch keiner Erfahrungen mit den benutzerdefinierten Kategorien gemacht?

TheRisingSun ·

Hallo,

ich habe für das oben beschriebene Problem nun eine unschöne aber funktionierende Lösung gefunden. Ich habe die macina_banners-Klasse tx_macinabanners_pi1 um ein kleines Workaround ergänzt.

Ab Zeile 169 habe ich folgenden Code eingefügt:

foreach ($allowedPlacements AS $key => $placement){			
   if(t3lib_div::inList("top,bottom,right,left",$placement)){
      $allowedPlacements[$key] = $placement;
   }else{
      $catWhere = ' AND description LIKE \'%'.$placement.'%\'';
      $catRS 	= $this->pi_exec_query('tx_macinabanners_categories', 0, $catWhere, '', '', '');
      $catRow 	= $TYPO3_DB->sql_fetch_assoc($catRS);
      $allowedPlacements[$key] = 'tx_macinabanners_categories:'.$catRow['uid'];
   }			
}

Ich hoffe jemand hat eine bessere und schönere Lösung als diese parat. Bis dahin werde ich das Ganze mit meiner Quick-And-Dirty-Lösung fahren.

G