Category Farben Hallo, wie kann ich, wie bei www.wcm.at, die News in einer Katgeorie in einer anderen Farbe darstellen lassen?
Category Farben Hier ein Beispiel anhand der News Template: Code: <?php global $insert; // Kategorienfarben if ($insert[story_category_id] == 1) { $farbe1 = "#008000"; $farbe2 = "#CCFFCC"; } if ($insert[story_category_id] == 2) { $farbe1 = "#FFFFFF"; $farbe2 = "#FFFF80"; } // Teaser Bild? if ($insert[story_teaser]) $teaserline = "<img src="$insert[story_teaserpath]/images/teaser/$insert[story_teaser]" border="0" align="right" hspace="10" vspace="10">"; $EST_TEMPLATE = <<<TEMPLATE <!-- Template news --> <table cellspacing="0" cellpadding="0" width="100%" align="center" bgcolor="#000000" border="0"> <tr> <td> <table cellspacing="1" cellpadding="3" width="100%" border="0"> <tr> <td bgcolor="$farbe1"> <font face="Arial" color="#ffffff" size="2"> <b>$insert[story_title]</b> </font> </td> </tr> <tr> <td bgcolor="$farbe2"> <font face="Arial" size="1"> Geschrieben am: $insert[story_time] in Kategorie: $insert[story_category] [ <a href="printer.php?id=$insert[story_id]">Drucken</a> | <a href="story.php?id=$insert[story_id]">$insert[story_comments] Kommentar(e)</a> ]<br /> </font> </td> </tr> <tr> <td bgcolor="#ffffff"> $teaserline <font face="Arial" size="2"> $insert[story_text]<br /><br /> </font> </td> </tr> <tr> <td align="right" bgcolor="#ccffcc"> <font face="Arial" size="1"> Quelle: $insert[story_source] </font> </td> </tr> </table> </td> </tr> </table> <br /> TEMPLATE; ?> Durch Anpassen von if ($insert[story_category_id] == *KATEGORIENUMMER*) { $farbe1 = "*KATEGORIEFARBE*"; $farbe2 = "*KATEGORIEFARBE*"; } kann man jede Kategorie in einer anderen Farbe erscheinen lassen. Ähnlich funktioniert das auch bei den anderen Templates.
Category Farben Ok das klappt!! Nun möchte ich folgendes machen. Ich möchte meine Seite in mehrere Bereiche einteilen, Games, Kino, DVD. Wenn man auf einen der buttons drückt, soll die komplette website in einer anderen farbe dargestellt werden, also der header soll anders sein, und auch das menu. Wie mache ich das?
Category Farben Man könnte in der site_header Template folgendes machen, damit sich bei category.php?id= die Farbe des Headers entsprechend ändert: Code: if ((preg_match("/category/i",$_SERVER['PHP_SELF'])) and ($_GET['id'])) { if ($_GET['id'] == 1) { $farbe = "#008000"; // Farbe für Kategorie 1 } if ($_GET['id'] == 2) { $farbe = "#FFFFFF"; // Farbe für Kategorie 2 } } else { $farbe = "#000000"; // Standardfarbe } Danach muss im HTML Teil der Farbwert durch $farbe ersetzt werden
Category Farben Hat sich erledigt! Andere Frage: Bei mir werden die News NUR auf der Startseite in zwei Newsreihen angezeigt aber in den einzelnen Kategorien nicht!
Category Farben Die zwei Newsreihen in den Kategorien gibt es erst seit Version 1.8. Die Freeware Fassung basiert noch auf der etwas älteren Version 1.7.
Category Farben Noch eine Frage : Wie kann ich bei den Newsblöcken einstellen, dass dort nur artikel aus einer bestimmten Kategorie angezeigt werden?
Category Farben Unter Andere/Websites den Block jeweils von "News: Alles" auf "News: gewünschte Kategorie" umstellen.
Category Farben Nein, ich meinte bei den artikeln, kann ich da auch die kategorien einstellen, welche angezeigt werden sollen?
Category Farben Nein, nicht über den Admin Bereich. Man könnte aber das Script entsprechend abändern, in dem man folgende Zeile in core.php ändert: Code: $result = DBQuery("SELECT * FROM esselbach_st_review WHERE review_hook = '0' AND review_page = '1' ORDER BY review_id DESC LIMIT 10"); Um z.B. nur Kategorie 2 zu zeigen: Code: $result = DBQuery("SELECT * FROM esselbach_st_review WHERE review_hook = '0' AND review_page = '1' AND review_category = '2' ORDER BY review_id DESC LIMIT 10");
Category Farben Ok super das klappt. Ich möchte nun aber in dem einen Block (was ich schon gemacht habe) die neusten Artikel der katgeorie 1 anzeigen lassen. Nun möchte in dem Block daneben die neusten Artikel der kategorien 8 anzeigen lassen!
Category Farben Man könnte den Block der normalerweise für die News ist, durch den Artikelblock ersetzen. Dazu muss folgendes in core.php geändert werden: 1) Code: ($var) ? $cat = "story_category = '$var' AND" : $cat = ""; durch: Code: ($var) ? $cat = "review_category = '$var' AND" : $cat = ""; 2) Code: $currentdate = date("Y-m-d H:i:s", mktime()); $result = DBQuery("SELECT * FROM esselbach_st_stories WHERE $cat story_hook = '0' AND story_time < ('$currentdate') ORDER BY story_time DESC LIMIT 10"); while ($insert = mysql_fetch_array($result)) { if (strlen($insert[story_title]) > $var4) $insert[story_title] = substr($insert[story_title], 0, $var5)."..."; $insert[story_url] = "story.php?id=$insert[story_id]"; $thisblock .= GetTemplate("main_block_list"); } durch: Code: $result = DBQuery("SELECT * FROM esselbach_st_review WHERE $cat review_hook = '0' AND review_page = '1' ORDER BY review_id DESC LIMIT 10"); while ($insert = mysql_fetch_array($result)) { (strlen($insert[review_title]) > $var4) ? $insert[story_title] = substr($insert[review_title], 0, $var5)."..." : $insert[story_title] = $insert[review_title]; $insert[story_url] = "review.php?id=$insert[review_id]"; $thisblock .= GetTemplate("main_block_list"); } Danach muss noch folgende Zeile in mod_admin.php geändert werden: Code: $query = DBQuery("SELECT category_id, category_name FROM esselbach_st_categories LIMIT 99"); durch: Code: $query = DBQuery("SELECT reviewcat_id, reviewcat_name FROM esselbach_st_reviewcat LIMIT 99");
Category Farben Super klappt, wie immer ! Noch eine Frage zum RSS-Feed: Ist möglich aus dem RSS-Feed die News automatisch rauszulesen, um diese dann automatisch in einem Newsletter zu verwenden.
Category Farben Ok klar! Andere Frage: Wie kann ich bei den RSS Feeds die Anzahl der News bestimmen, die angezeigt werden?
Category Farben Schon gefunden, sorry!! Und gleich die nächste Frage: Wie lassen sich die News Blöcke nur auf der Startseite anzeigen und nicht auf allen Unterseiten?
Category Farben Dazu müsste man die Blöcke in den PHP Teil auslagern, z.B. so: Man öffnet site_header und fügt nach: Code: <?php global $insert; den Block ein: Code: if (preg_match("/index.php/i",$_SERVER['PHP_SELF'])) { $block_html = <<<BLOCK_HTML <table cellspacing="0" cellpadding="0" width="160" bgcolor="#000000" border="0"> <tr> <td> <table cellspacing="1" cellpadding="3" width="100%" border="0"> <tr> <td bgcolor="#009966"> <font face="Verdana, Arial, sans-serif" color="#ffffff" size="2"><b>Beispielsblock</b></font></td> </tr> <tr> <td bgcolor="#ffffff"><font size="2"> <li><a href=index.php">Homepager</a><br /></li> </font></td> </tr> </table> </td> </tr> </table> <br /> BLOCK_HTML; } Und verwendet $block_html im HTML Teil der Template, wo der Block erscheinen soll.
Category Farben Das klappt irgendwie nicht. Hier mal der Link zur Seite http://www.playnow-online.net/ Die Blöcke "Aktuelle News" und "Neuste Artikel" sollen nur auf der Startseite angezeigt werden.
Category Farben Die obere Modifikationen funktioniert nur bei der site_header bzw. site_footer Template. Um diese Blöcke nur auf index.php darzustellen muss folgendes in core.php hinzugefügt werden Finde: Code: echo GetTemplate("site_header"); und füge folgendes hinzu: Code: if (preg_match("/index.php/i",$_SERVER['PHP_SELF'])) { Finde: Code: WriteCache("news", "header_block", $thisblock, MkTime()+3600); } und füge folgende Zeile hinzu: Code: }