Seite 1 von 1

"Newsticker" Modul

Verfasst: Do 16. Dez 2004, 17:58
von yodatortenboxer
Hallo,

ich habe für eine Webseite ein Newsticker gebraucht und es auf folgende Art gelöst.
Ich habe ein Modul erstellt ohne einen Input und im Output folgendes eingefügt:

Code: Alles auswählen

<?php
if (!$contenido){
?>
<TABLE width="250px" cellSpacing=0 cellPadding=0>
<TR>
<TD>News Ticker</TD>
</TR>
<TR>
<TD><MARQUEE onmouseover=this.stop() onmouseout=this.start() scrollAmount=1 direction=up width="100%" height=100><?php echo "CMS_HTML[2]"; ?></MARQUEE></TD>
</TR>
</TABLE>
<?php
}
else
{
echo "CMS_HTML[2]";
}
?>
Im Backend wird dadurch ein starrer Standart HTML-Container angezeigt der nicht scrollt in dem ich wie gewohnt Text schreiben kann, Bilder einstellen kann oder Links einfügen kann (SPAW). Im Frontend wird es mit in einer endlosschleife nach oben scrollend ausgegeben und wenn man mit der Maus den Ticker geht belibt er stehen.
Dadurch habe ich meinen vertikaler Newsticker ;-) .

Das ganze wird über den MARQUEE-Tag ausgegeben. Infos dazu findest man z.Bsp. unter http://de.selfhtml.org/html/text/proprietaer.htm

In dem "Modul" oben steht z.Bsp:

Code: Alles auswählen

<MARQUEE onmouseover=this.stop() onmouseout=this.start() scrollAmount=1 direction=up width="100%" height=100>
Das bedeutet kurz:
onmouseover=this.stop() <= bei mousover nocht scrollen
onmouseout=this.start() <= bei mouseout auto scrollen
scrollAmount=1 <= scrollgeschwindigkeit
direction=up <= scrollrichtung
width="100%" <= höhe des scrollfensters
height=100 <= breiete des scrollfensters

gruß yodatortenboxer

Beispiel:
http://web5.a15162562.alturo-server.de/ ... hp?idcat=9

Ich habe es übrigens im IE, Mozilla und Opera auf dem PC und Safarie, Firefox, Opera auf dem Mac getestet und es läuft.

Gruß Yodatortenboxer

Verfasst: Do 16. Dez 2004, 19:37
von emergence
nettes modul ;-)

hatte nicht angenommen das firefox,mozilla marquee unterstützt...

Verfasst: Do 16. Dez 2004, 21:15
von yodatortenboxer
ich ehrlich auch nicht :-) auf dem PC hab ich es testen können und auf dem Mac hat es ein bekannter getestet...

aber was solls...hauptsache es geht :-)

Verfasst: Do 3. Mär 2005, 16:32
von joma
Einfach und genial :lol:

Verfasst: Mo 22. Aug 2005, 13:45
von DEDE
Ich suche nach einem Hinweis, wie ich die Ausgabe des Newstickers auch in anderen Templates zeige, aber nur in einem editiere.

Ich komm nicht drauf, wie.

:oops:
Dede

Lösung

Verfasst: Mo 22. Aug 2005, 14:37
von DEDE
Kategorie erstellen - Startartikel (mitirgendwas ausser Text) und nur einen weiteren Artikel
Dieser entählt ein Modul Text/HTML

Code: Alles auswählen

Listet Artikel einer Kategorie mit TEXT
INPUT

Code: Alles auswählen

// selected category
$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr valign=\"top\">
          <td>Kategorie wählen:</td>
          <td>
            <select name=\"CMS_VAR[0]\">";
            if($selected!="0" && $selected!=""){
             echo"<option value=\"0\">--- kein ---</option>";

            }else{
            echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
            }

            // fetch all categorys
            $query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
                     $cfg["tab"]["cat"]." AS B,  ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ".
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
                     "AND C.visible=1 ORDER BY A.idtree";
            // execute query
            $db->query($query);

            // loop result and build the options
            while ($db->next_record()) {

              // indent spacer
              $spaces = "|";

              // how many levels
              $levels = $db->f("level");

              for ($i = 0; $i < $levels; $i ++) {
                // add 2 spaces for every level
                $spaces = $spaces . "--";

              } // end for
              
              $spaces .= ">";


              if ($selected == $db->f("idcat")) {
                // selected category
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } else {
                // category
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } // end if

            } // end while

echo "      </select>";

echo "    </td>
        </tr>
        <tr>
          <td>Überschrift</td>
          <td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"></td>
        </tr>
        <tr>
          <td>Angezeigte Länge in Zeichen</td>
          <td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"></td>
        </tr>

      </table>";
OUTPUT

Code: Alles auswählen

<?php

// second db class instance
$db2 = new DB_Contenido;

// selected category
$selcat = "CMS_VALUE[0]";

 if($selcat!="0" && $selcat!=""){

// select all articles in category widthout start article
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
          $cfg["tab"]["art_lang"]." AS ARTLANG ".
         "WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ".
         "ARTLANG.online = '1' ORDER BY CATART.idart DESC";

// execute query
$db->query($query);

unset($articleID);
unset($linkID);

// get id's of sub articles
while ($db->next_record()) {
  if (!isStartArticle($db->f("idartlang"), $selcat, $lang))
  {
      $articleID[] = $db->f("idartlang");
      $linkID[] = $db->f("idart");
  }
} // end while

// loop through subarticles

echo '<h1>NEWSTICKER</h1>';

if (is_array($articleID)) {

    foreach ($articleID as $key => $value) {

          // select all CMS variables of the article
          $sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '2' AND typeid = '1'";
          $db->query($sql);
          $db->next_record();
          $head = $db->f("value");

          if ( strlen($head) > "CMS_VALUE[3]") {
            $head = substr($head, 0, "CMS_VALUE[3]");
            $head .= '..';
          }

          // link
          $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");

          echo '<MARQUEE onmouseover=this.stop() onmouseout=this.start() scrollAmount=1 direction=up width="164px" height=100><div id="ButtonTeaserBlog">'.urldecode($db->f("value")).'</div></MARQUEE>';

    } // end while



          unset($headline);
        unset($text);
        
    } // end foreach
    
} // end if (is_array)

//echo '';


?>
bei meiner 4.5.3 tut es wunderbar

Verfasst: Do 29. Sep 2005, 17:26
von OAA
Hallo,

bei mir funzt es unter 4.4.5 nicht

Fehlermeldung:
Fatal error: Call to undefined function: isstartarticle() in /home/httpd/vhosts/zeitler-roding.de/httpdocs/cms/front_content.php(567) : eval()'d code on line 532

was habe ich falsch gemacht

Verfasst: Do 29. Sep 2005, 17:30
von timo
das Modul läuft wohl nur unter der Version 4.5 oder höher...

Verfasst: Do 29. Sep 2005, 17:48
von Halchteranerin
timo hat geschrieben:das Modul läuft wohl nur unter der Version 4.5 oder höher...
Dann sollte man's unter Module 4.5.x verschieben, oder?

Verfasst: Do 29. Sep 2005, 17:56
von OAA
Kann man es irgendwie für 4.4.5 umschreiben oder gibt es was ähnliches?

ich würde gerne eine Artikelliste (also nur Datum und Headlin) über Newsticker einbinden...