Seite 1 von 1

Flash Newsticker (vielmehr: generate template ersetzen?)

Verfasst: So 21. Jan 2007, 11:42
von jcf
Hallo Zusammen,

ich bastle mir gerade einen Flash Newsticker. Von Seiten Flash habe ich keine Probleme. Ich versuche die in Contenido schon vorhandene Newsliste abzuwandeln. Allerdings würde dies nur funktionieren, wenn ich das Template quasi ersetze und nur eine PHP Variable erzeuge. Bsp:

Code: Alles auswählen

<?php $news = "<a href='url1'>Headline1</a>||<a href='url2'>Headline2</a>||<a href='url3'>Headline3</a>||
Diese Variable würde ich dann anschließend im Layout an Flash übergeben. Bsp:

Code: Alles auswählen

... src="flashdatei.swf?news=<?php echo $news; ?>" ...
Das eigentliche Problem ist also: Wie schaffe ich es den Befehl $tpl->generate('templates/'.$template); so zu ersetzen, dass ich auf das Modul-Template verzichten kann und einfach nur eine entsprechende php-Variable erzeuge? Ich komme hier irgendwie überhaupt nicht weiter!

Herzlichen Dank für Eure Hilfe!

Liebe Grüße

jcf

Verfasst: So 21. Jan 2007, 14:55
von xmurrix
Hallo,

du kannst die Ausgabe des Codes bei Aufruf der Funktion generate() auch unterbinden und den Wert einer Variablen zuweisen:

Code: Alles auswählen

// der 2. parameter sorgt dafür, dass der code nicht ausgegeben, sondern zurückgeliefert wird
$news = $tpl->generate('templates/'.$template, 1);
$news = urlencode($news);
...
    print '
<object ... data="flashdatei.swf?news=' . $news . '" ...
    ';
Wenn du aber nur die Headlines brauchst, kannst z. B. den Code in der Modulausgabe

Code: Alles auswählen

            $tpl->set('d', 'HEADLINE', $teaserheadline);
            $tpl->set('d', 'TEXT', $teasertext);
            $tpl->set('d', 'HREF', $href);
            $tpl->set('d', 'IMG', $teaser_img);
            $tpl->set('d', 'MORE', mi18n("mehr"));

            $tpl->next();

        } // end for

        $tpl->generate('templates/'.$template);
gegen

Code: Alles auswählen

            $news .= "<a href='".$href."'>".$headline."</a>";
            if ($i < $limit_art - 1) {
                $news .= "||";
            }

        } // end for

        $news = urlencode($news);
        print '
    <object ... data="flashdatei.swf?news=' . $news . '" ...
        ';
ersetzen (sollte gehen).

Dann wären noch einige andere Bereiche, wie z. B. Teaserbild, in der Moduleingabe/-ausgabe anzupassen, da diese dann nicht mehr gebraucht werden.

Gruß
xmurrix

Verfasst: So 21. Jan 2007, 18:26
von jcf
sieht gut aus. sehr schön! Werde ich heute oder morgen mal testen. Herzlichen Dank!

Verfasst: Mo 22. Jan 2007, 07:45
von jcf
Super. Hat geklappt! Vielen Dank noch mal!

Verfasst: Mo 20. Aug 2007, 09:59
von derSteffen
Schade, warum zeigst du denn nicht Deinen funktionierenden Flashticker hier im Forum?