Newsmodul und Newsartikelblättern

Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Newsmodul und Newsartikelblättern

Beitrag von Darth-Vader » Do 19. Feb 2004, 00:16

Hallo Leute,

ich hab 2 neue Module, die den ein oder andren doch interessieren könnten.

Im Prinzip tun die Module das "Gleiche" wie das Modul von Snoopy, aber sein Modul hat bei mir leider nicht funktioniert, weil ich evtl. zu blöd war oder aus welchen Gründen auch immer... :wink:

Ich hatte aber 2 Probleme:

- ich brauchte schleunigst ein Newsmodul das bei mir geht, denn die Site soll bald online gehen und der Vorstand will Ergebnisse / Vortschritte sehen
- ich brauchte kein Modul, bei dem man viel einstellen kann oder thumbnails und / oder Bilder angezeigt werden, einfach nur reines ASCII 8)


Also habe ich mir schnell einfach en eignes Newsmodul geschrieben.


ACHTUNG: :shock:
Ich weise aber ausdrücklich darauf hin, dass dies kein Kokurrenzprodukt zu Snoopy's sehr gelungenes Werk darstellen soll, eher eine abgespeckte kleine nette Alternative!
:!:


hier findet ihr die 2 module zum download:


- newsmodul:

- newsartikelblaettern:


von nun an werden "meine" module auf meiner privaten homepage auf http://www.forseth.de --> "Downloads&Sonstiges" --> "Contenido-Module" zu finden sein... :idea:


so long,
Darth. :twisted:



für hinweise bin ich, wie immer, dankbar! :lol:




so long,
euer Darth. :twisted:
Zuletzt geändert von Darth-Vader am Do 20. Mai 2004, 04:08, insgesamt 1-mal geändert.

mukraker
Beiträge: 54
Registriert: Do 19. Sep 2002, 15:20
Kontaktdaten:

Beitrag von mukraker » Fr 12. Mär 2004, 19:23

schade bei mir wird immer angezeigt:
Momentan sind keine Artikel vorhanden...

Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader » Fr 12. Mär 2004, 19:30

gib mal en paar Infos mehr, was hast du wie eingestellt, wie bist du zum installieren vorgegangen etc. , per Ferndiagnose isset ohne Infos einfach schlicht unmöglich jemandem zu helfen! ;)

mukraker
Beiträge: 54
Registriert: Do 19. Sep 2002, 15:20
Kontaktdaten:

Beitrag von mukraker » Fr 12. Mär 2004, 19:40

was muss ich den installieren, in der install.txt stand ja nichts von wegen tpls oder db tabellen erstellen!

Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader » Fr 12. Mär 2004, 19:54

ja, da steht aber einiges an hinweisen drin, und wenn man die befolgt müsste alles funktionieren, bei mir (www.asta-zw.de -> News) tut's ja auch ;)

mukraker
Beiträge: 54
Registriert: Do 19. Sep 2002, 15:20
Kontaktdaten:

Beitrag von mukraker » Fr 12. Mär 2004, 23:31

alles klar habs gecheckt!

das andere von dir angesprochene modul von Snoopy's habe ich leider im forum nicht gefunden, wäre nais wenn wer den link hier nochmal angängen könnte. danke

Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader » Sa 13. Mär 2004, 00:15

also geht es jetzt bei dir?


das von snoopy findest du unter: http://www.contenido.de/forum/viewtopic ... 09&start=0

laurisilva
Beiträge: 40
Registriert: Di 11. Nov 2003, 19:16
Kontaktdaten:

Beitrag von laurisilva » Sa 13. Mär 2004, 16:39

Hallo Darth,
geniale Module! Funktionieren einwandfrei. Kann es sein, das Du ein kleines, aber extrem wichtiges Getail vergessen hast? Nach dem ich das Modul Artikelblättern eingebaut hatte und einen Artikel mit dem Modul über ein neues Template laufen lies wurde der Text nixht angezeigt. Ich weiß ja nicht wie das bei Dir funktioniert, aber ich habe das Modul ein klein wenig modfiziert und das CMSHTML eingebaut, das ich auch für die normalen Textseiten verwende. Jetzt funktionierts super und man kann auch nachträglich an einem Artikel das Modul Artikelbättern verwenden.

Exempel unter

Code: Alles auswählen

http://www.coaching-informationen.de/front_content.php?idcat=270

Code: Alles auswählen

<!-- start Artikelblättern -->
  <table border =\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" valign=\"top\">
<span align=\"right\"><h2>Erstellt am ".$created." </h2></span>
   <tr>
   <td colspan=\"3\" align=\"left\" width=\"100%\" valign=\"top\">CMS_HTML[1]
   </td>
    </tr><tr height=\"40\"><td colspan=\"3\" >&nbsp;</td></tr>
   <tr valign=\"top\">
    <td align=\"left\" width=\"33%\">";
  if($next != " ") {echo "<a href=\"".$next."\">&laquo;&nbsp;letzter Artikel, geschrieben nach diesem Artikel</a>";}
  else {echo $next;}
  echo "</td><td align=\"center\">Artikel ".($key+1)." von ".$rows."</td>
    <td align=\"right\" width=\"33%\" >";
  if ($prev != " ") {echo "<a href=\"".$prev."\">letzter Artikel, geschrieben vor diesem Artikel&raquo;</a>";}
  else {echo $prev;}
  echo "</td>
   </tr>
   <tr valign=\"bottom\">
    <td colspan=\"3\" align=\"center\" height=\"30\">
     <a href=\"".$link."?idcat=".$idcat."\">&laquo;&nbsp;Zur&uuml;ck zur&nbsp;&Uuml;bersicht&nbsp;&raquo;</a>
    </td>
   </tr>
  </table>
  <!-- end Artikelblättern -->
Eine Sache stört mich noch: kann man die die Links, die vom Modul "Newsmodul" erzeugt werden mit einem Parameter generieren? Dann wär das ganze auch noch Google freundlich. Bin leider kein PHP-Profi. Gerade für die Newsseiten, deren Content sich oft ändert wär eine suchmaschinenerfassung wichtig.
-------------------------------------------------------
www.anian-leistner-webdesign.de

laurisilva
Beiträge: 40
Registriert: Di 11. Nov 2003, 19:16
Kontaktdaten:

Beitrag von laurisilva » Sa 13. Mär 2004, 16:40

Hallo Darth,
geniale Module! Funktionieren einwandfrei. Kann es sein, das Du ein kleines, aber extrem wichtiges Getail vergessen hast? Nach dem ich das Modul Artikelblättern eingebaut hatte und einen Artikel mit dem Modul über ein neues Template laufen lies wurde der Text nixht angezeigt. Ich weiß ja nicht wie das bei Dir funktioniert, aber ich habe das Modul ein klein wenig modfiziert und das CMSHTML eingebaut, das ich auch für die normalen Textseiten verwende. Jetzt funktionierts super und man kann auch nachträglich an einem Artikel das Modul Artikelbättern verwenden.

Exempel unter

Code: Alles auswählen

http://www.coaching-informationen.de/front_content.php?idcat=270

Code: Alles auswählen

<!-- start Artikelblättern -->
  <table border =\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" valign=\"top\">
<span align=\"right\"><h2>Erstellt am ".$created." </h2></span>
   <tr>
   <td colspan=\"3\" align=\"left\" width=\"100%\" valign=\"top\">CMS_HTML[1]
   </td>
    </tr><tr height=\"40\"><td colspan=\"3\" >&nbsp;</td></tr>
   <tr valign=\"top\">
    <td align=\"left\" width=\"33%\">";
  if($next != " ") {echo "<a href=\"".$next."\">&laquo;&nbsp;letzter Artikel, geschrieben nach diesem Artikel</a>";}
  else {echo $next;}
  echo "</td><td align=\"center\">Artikel ".($key+1)." von ".$rows."</td>
    <td align=\"right\" width=\"33%\" >";
  if ($prev != " ") {echo "<a href=\"".$prev."\">letzter Artikel, geschrieben vor diesem Artikel&raquo;</a>";}
  else {echo $prev;}
  echo "</td>
   </tr>
   <tr valign=\"bottom\">
    <td colspan=\"3\" align=\"center\" height=\"30\">
     <a href=\"".$link."?idcat=".$idcat."\">&laquo;&nbsp;Zur&uuml;ck zur&nbsp;&Uuml;bersicht&nbsp;&raquo;</a>
    </td>
   </tr>
  </table>
  <!-- end Artikelblättern -->
Eine Sache stört mich noch: kann man die die Links, die vom Modul "Newsmodul" erzeugt werden mit einem Parameter generieren? Dann wär das ganze auch noch Google freundlich. Bin leider kein PHP-Profi. Gerade für die Newsseiten, deren Content sich oft ändert wär eine suchmaschinenerfassung wichtig.
-------------------------------------------------------
www.anian-leistner-webdesign.de

Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader » Sa 13. Mär 2004, 23:08

bei mir funzt es wunderbar: http://www.asta-zw.de --> News oder Wohnnungsanzeigen



Am besten geht man beim Verwenden der Module so vor:

Die Kategorie, in der die Newsartikel später liegen werden, erhält ein Template, das nur das Modul Newsartikelblättern enthält, somit muss man den Newsartikeln nichts mehr zuweisen, da sie dann automatisch das Template der Kategorie nehmen.
Einzige Ausnahme bildet dann der Startartikel in dieser Kategorie, welcher dann die Newsübersicht darstellt und er bekommt deshalb ein andres Template zugewiesen, nämlich eins, das nur das Modul Newsmodul enthält.

Aber eigentlich steht das alles in der install drin, lest die doch erst bitte oder sagt wenn ihr Probleme habt dazu, dass ihr nach der vorgegangen seid.

Hilft das weiter?


was meinst du mit einem parameter generieren...?
Zuletzt geändert von Darth-Vader am So 14. Mär 2004, 15:56, insgesamt 3-mal geändert.

mukraker
Beiträge: 54
Registriert: Do 19. Sep 2002, 15:20
Kontaktdaten:

Beitrag von mukraker » So 14. Mär 2004, 13:20

wie kann ich dies news auf jeder beliebigen seite ausgeben lassen ??
z.b. wie hier rechts
http://www.kmu-foerderzentrum.de/index. ... =1&idart=7


besten dank

mukraker
Beiträge: 54
Registriert: Do 19. Sep 2002, 15:20
Kontaktdaten:

Beitrag von mukraker » So 14. Mär 2004, 17:02

ok hab hier mal mein ersten eigenen versuche, problem ist das der text nicht angezeigt wird


schöner wäre es noch wenn man einen text eingeben könnte, der für diese extra newsausgabe ist, aber bei der kompletten anzeige der news soll dieser text nicht erscheinen. Wie man das machen könnte ist mir aber völlig unklar

Code: Alles auswählen

<?php

/********************************************************
* Newsmodul - OUTPUT
*
* Es wurde Code vom Modul "Artikelliste" von "(c) Author Jan Lengowski" verwendet!
*
* Author    :     Lars D. Forseth <lars@forseth.de>
* Created   :     Feb. 4th 2004
*********************************************************/


  /* number of latest articles to get */
  //$anzahl = "CMS_VALUE[1]";
  $anzahl = "10";

  if((!$anzahl) or ($anzahl < 1)) {$anzahl = 10;}
  /* length of extract */
 // $laenge = "CMS_VALUE[2]";
  $laenge = "30";
  if((!$laenge) or ($laenge <= 0)) {$laenge = 250;}
  //echo $laenge;


  // get $anzahl articles from DB mit group by weil sonst alles doppel ist
  $sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, ARTLANG.created, CONTENT.value, ".
         "CONTENT.idtype, CONTENT.typeid FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"].
         " AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT WHERE ".
         "ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang=CONTENT.idartlang ".
         "AND CONTENT.idtype<=2 AND CONTENT.typeid<=2 AND CAT.idcat=CMS_VALUE[0] AND ARTLANG.idlang = '$lang' ".
         "AND ARTLANG.online = '1' AND CATART.is_start='0' GROUP BY ARTLANG.idart ORDER BY ARTLANG.artsort ASC,ARTLANG.created ".
         "DESC ";
  $db->query($sql);
  $found = $db->num_rows();	


  if ($found != 0) {

    echo "
    <table width=\"320\"align=\"middle\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"text\">";

    $artikel = array(array());
    $j=0;
    $db->next_record();
    $idart_last=$db->f("idart");



    for ($i=0; $i < $found; $i++) {
      $artikel[$j][0] = $db->f("idart");
      $artikel[$j][1] = $db->f("idcat");
      $artikel[$j][2] = substr($db->f("created"),8,2).".".substr($db->f("created"),5,2).".".substr($db->f("created"),0,4);


      while ($idart_last == $db->f("idart")) {
        if (($db->f("idtype") == 2) && ($db->f("typeid") == 1)) {
          /* filter article text */
          $html_text = strip_tags(urldecode($db->f("value")));
          $array = array ("&auml;" => "ä", "&ouml;" => "ö", "&uuml;" => "ü", "&szlig;" => "ß", "&Auml;" => "Ä", "&Ouml;" => "Ö", "&Uuml;" => "ü", "&nbsp;" => " ", """ => "\"", "<" => "<", ">" => ">", "&" => "&");
          $html_text = strtr($html_text, $array);

          for ($d=$laenge; $d < $laenge+20; $d++) {
            $cut = substr($html_text, $d);
            if ((ord ($cut) == 32)||(ord ($cut) == 44)||(ord ($cut) == 45)) {
              $html_text = substr($html_text , 0, $d);
            } // end if
          } // end for

          $html_text = htmlentities(substr($html_text,0,$laenge))." ....";
          /* search for words longer than 50 chars and shorten them + \n */
          $c = 0;
          for ($n=0; $n < strlen($html_text); $n++) {
            $c++;
            if (($html_text[$n] == " ") or ($html_text[$n] == "\n") or ($html_text[$n] == "\r")) {$c = 0;}
            if ($c > 48) {
             $html_text = substr_replace($html_text, "-\n", $n, 0);
             $n = $n+4;
             $c = 0;
            } // end if($c>45)
          } // end for
          $html_text = nl2br($html_text);
          $artikel[$j][5] = str_replace("<br />", "<br>", $html_text);

        } elseif (($db->f("idtype") == 1) && ($db->f("typeid") == 1)) {
          $artikel[$j][3] = strip_tags(urldecode($db->f("value")));
        } elseif (($db->f("idtype") == 1) && ($db->f("typeid") == 2)) {
          $artikel[$j][4] = strip_tags(urldecode($db->f("value")));

        } // end elseif

        $idart_last = $db->f("idart");
        $db->next_record();
        $i++;

      } // end while


      $idart_last = $db->f("idart");
      $j++;
      $i--;


    } // end for



   /* if((!$blatt) or ($blatt == "") or ($blatt < 0)) $blatt = 0;
    $blattmax = ((ceil($j/$anzahl)));
    $blatt1 = $blatt+1;*/
echo "<hr><pre>";
print_r($artikel);
echo "</pre>";

    // print articles
    for ($i=0; $i < $found; $i++) {
      $k = $i-1;
      $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0]."";
      echo "
      <tr>";
      echo "
       <td  style=\"border-bottom: Black 1px solid;\" valign=\"top\">".
       "<a href=\"".$sess->url("$navmod_link")."\"><b>".$artikel[$i][3]."</b></a>". // title of article
      "</td>".
      "<td  style=\"border-bottom: Black 1px solid;\" valign=\"top\" align=\"right\"><b>".$artikel[$i][2]."</b></td>". // date of article
     "</tr>
      <tr>".
      "<td valign=\"top\" colspan=\"2\">".$artikel[$i][5]." ". // extract of article
       "<br><br><div align=\"right\"><a href=\"".$sess->url("$navmod_link")."\">". // "more" link
        "<i>&raquo;&raquo; mehr</i></a>".
        "</div><br><br><br><br>".
      "</td>
      </tr>
      ";
    } // end for



    /* print page-prev- and page-next-link, if necessary
    if ($j > $anzahl) {
      echo "
      <tr>
       <td colspan=\"3\">
        <table align=\"center\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"text\">
         <tr valign=\"top\">".
         "<td width=\"40\" align=\"left\">";
      if ($blatt1 > 1) {
      $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".($blatt-1)."";
      echo "
           <a href=\"".$sess->url("$navmod_link")."\"><i>&laquo; prev</i></a>";
      } else {echo " ";}
      echo "
          </td>".
         "<td align=\"center\">&ndash;&nbsp;&nbsp;Seite ".$blatt1." / ".$blattmax."&nbsp;&nbsp;&ndash;</td>".
         "<td width=\"40\" align=\"right\">";
      if ($blatt1 < $blattmax) {
      $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".($blatt+1)."";
      echo "
           <a href=\"".$sess->url("$navmod_link")."\"><i>next &raquo;</i></a>";
      } else {echo " ";}
      echo "
          </td>".
        "</tr>
         <tr><td colspan=\"3\" height=\"15\">&nbsp;</td></tr>
        </table>
       </td>
      </tr>
      ";
    } // end if($j>$anzahl) */



    echo '</table>';
  } // end if($db->num_rows() != 0)



  /* no news articles in DB */
  else {echo "<br><br><br>Momentan sind keine Artikel vorhanden...<br><br>";}


?>


laurisilva
Beiträge: 40
Registriert: Di 11. Nov 2003, 19:16
Kontaktdaten:

Beitrag von laurisilva » Mo 15. Mär 2004, 21:19

Hallo Darth,
jetzt hab ich gecheckt wie Du das Modul verwendest. Ich habs modifiziert (s. oben) damit ich insgesamt nur ein Modul für Artikeltext und Artikelblättern brauche. Hat mir ein neues Layout erspart.

Noch mal zu den Parametern:
leider erzeugen die Module Newsmodul und Artikelblättern Links wie
http://www.coaching-informationen.de/fr ... &idart=518
Google hat damit leider Probleme und kann die Seiten nicht lesen, weil nach front_content.php? vier Parameter wie client lang idcat und idart kommen. Die Parameter lang und client kann man ja leicht löschen, wenn man nicht mehrer Strachen und Clienten verwaltet. Was mich stört ist, dassnicht ein Link mit einem Parameter wie z.B. http://www.coaching-informationen.de/fr ... ?idcat=270 erzeugt werden. Meine Frage ist nun, ob mann das mit relativ kleinem Aufwand umschreiben kann? Das würde wie gesagt den großen Vorteil bringen, dass Google die Newsseiten auch indizieren kann.

Viele Grüsse
Anian
-------------------------------------------------------
www.anian-leistner-webdesign.de

Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader » Di 16. Mär 2004, 01:42

wenn ich bei dir
http://www.coaching-informationen.de/fr ... ?idart=518 eingeb, dann bekomm ich en login zu nem geschützen bereich. :roll:


es einzige was problemlos ging war http://www.coaching-informationen.de/fr ... &idart=518. 8)



um das wenigsten zu erreichen, musst du lediglich überall im quelltext

Code: Alles auswählen

$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0]."";


durch

Code: Alles auswählen

$navmod_link ="front_content.php?idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0]."";

ersetzen. :idea:




Gruss,
Darth.

laurisilva
Beiträge: 40
Registriert: Di 11. Nov 2003, 19:16
Kontaktdaten:

Beitrag von laurisilva » Di 16. Mär 2004, 11:39

Genau das ist ja das Problem, das man nicht einfach einen Parameter löschen kann :wink: . Das ist schon klar, das der Link dann nicht funktioniert.
Das mit dem ersetzen hatte ich ja oben schon selbst beschrieben. Dann hat man aber immer noch zwei Parameter. Ich hätte das halt gerne so wies z.B. in der Navigation oder dem Sitemapmodul erzeugt wird.

Anian
-------------------------------------------------------
www.anian-leistner-webdesign.de

Gesperrt