ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » News+Einzelnde Katigorien anzeigenlassen

Geschlossen
  1. #1
    User Pic
    Noir Mitglied
    Registriert seit
    28.07.2005
    Beiträge
    223
    Beitragswertungen
    0 Beitragspunkte
    Hallo Community,
    ich brüchte Hilfe bei einer News mod und zwar werden die News in der MySql Datenbank nach nr und katogorie abgespeichert. Jetzt habe ich leider erfolglos die news.php editiert. Könnte mir jemand bitte eine Tipp geben wie ichs machen kann oder so etwas zu recht "basteln", das die News in Katgegorien angezeigt werden.
    Ein Beispiel :externer Link. So stelle ich mir das vor. Währe echt net !!!
    Setze auch gerne einen Banner von dem jenigen auf die HP.


    Gruß Noir


    verwendete ilchClan Version: 1.1
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Tim76 Mitglied
    Registriert seit
    20.04.2006
    Beiträge
    72
    Beitragswertungen
    0 Beitragspunkte
    Das wollte ich bei mir auch so machen nur leider konnte mir keiner Helfen!

    Siehe: externer Link

    Vielleicht findet sich ja nun jemand!
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Nero Hall Of Fame
    Registriert seit
    12.11.2005
    Beiträge
    987
    Beitragswertungen
    0 Beitragspunkte
    hab mal was gebstelt:

    Dieser Code muss nun alles überschreiben von ca zeile 42, oder von dort an wo
     if ( !is_numeric($menu->get(1))
    steht bis und mit der else anweisung (zeile ca 138).
    if ( !is_numeric($menu->get(1)) OR $menu->get(1) == 'kat')  {
       if ($menu->getA(1) == 'k'){
          $kate = " AND news_kat = '".escape($menu->get(2),'string')."' ";
          $akate = " a.news_kat = '".escape($menu->get(2),'string')."' AND ";
       }else{$kate = '';$akate='';}
      if($menu->get(2) == 'rss' || $menu->get(2) == 'atom')
      {
          #ob_clean();
          $feed_type = $menu->get(1);
          
        $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
        $erg = db_query($abf);
        $row = db_fetch_assoc($erg);
        $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
        
        $abf = "SELECT
          a.news_title as title,
          a.news_id as id,";
        $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,"; 
        $abf .=  
         "a.news_kat as kate,
          a.news_text as text,
          b.name as username
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE ".$akate." a.news_recht = 0
        ORDER BY news_time ASC LIMIT 15";
        $erg = db_query($abf);
        $tpl = new tpl( 'news_'.$menu->get(1).'.htm' );
        
        header('Content-type: application/' . $menu->get(1)  . '+xml');
    
        $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                               'UPDATED' => $last_update), 0);
        while ($row = db_fetch_assoc($erg))
        {
          if($feed_type == 'atom')
          {
              $row['datum'] = str_replace(' ', 'T', $row['datum']) . 'Z';
          }
          
          $a = explode('[PREVIEWENDE]', $row['text']);
          $tpl->set_ar_out(array('TITLE' => $row['title'],
                                 'TXT' => bbcode($a[0]),
                                 'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']). '/index.php?news-' . $row['id'],
                                 'AUTHOR' => $row['username'],
                                 'DATE' => $row['datum']
                                 ), 1);
        }
        $tpl->out(2);
        exit;
      }
      else
      {
        $design->header();
        $limit = $allgAr['Nlimit'];
        $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
        $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] .$kate, $limit , '?news' , 'news' );
        $anfang = ($page - 1) * $limit;
        
        $tpl = new tpl ( 'news.htm' );
        
        $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE ".$akate." (".$_SESSION['authright']." <= a.news_recht
           OR a.news_recht = 0 )
        ORDER BY news_time DESC 
        LIMIT ".$anfang.",".$limit;
        #echo '<pre>'.$abf.'</pre>';
        
        $erg = db_query($abf);
        while ($row = db_fetch_assoc($erg)) {
          
          $k0m  = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = ".$row['id']." AND cat = 'NEWS'");
          $row['kom']  = db_result($k0m,0);
          $row['katelink'] = $row['kate'];
          $row['kate'] = news_find_kat($row['kate']);
          $row['datum'] = $lang[$row['dayofweek']].' '.$row['datum'];
          if ( strpos ( $row['text'] , '[PREVIEWENDE]' ) !== FALSE ) {
            $a = explode('[PREVIEWENDE]' , $row['text']);
            $row['text'] = $a[0];
          }
          $row['text'] = bbcode($row['text']);
          $tpl->set_ar_out($row,0);
        }
        $tpl->set_out('SITELINK', $MPL,1);
        unset($tpl);
      }
    
      
      
    } else {


    nun sollte man die kategorien mit vollgendem link aufrufen können:
    deineeadresse zur ilchpage/index.php?news-kat-kategoriename.


    Mfg Nero


    Zuletzt modifiziert von Nero am 28.08.2006 - 22:24:11
    ilch-Portal coming soon lachen

    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Noir Mitglied
    Registriert seit
    28.07.2005
    Beiträge
    223
    Beitragswertungen
    0 Beitragspunkte
    thx werde gleich mal kucken
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Noir Mitglied
    Registriert seit
    28.07.2005
    Beiträge
    223
    Beitragswertungen
    0 Beitragspunkte
    mmh noch fehler drinn und der erkennt die funktion nicht.
    Also müsste was an /func/allg.php ändern.
    Kannst diers mal ankucken www.dmgc.info
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Nero Hall Of Fame
    Registriert seit
    12.11.2005
    Beiträge
    987
    Beitragswertungen
    0 Beitragspunkte
    so hab den code oben geändert sollte nun funtzen, habs auf meiner page getestet.

    Mfg Nero
    ilch-Portal coming soon lachen

    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Tim76 Mitglied
    Registriert seit
    20.04.2006
    Beiträge
    72
    Beitragswertungen
    0 Beitragspunkte
    Ist auf alle Fälle super und hilft mir weiter!

    Nur wie mache ich das dann, wenn ich z.B. 2 News-Kategorien auf einer Seite sehen möchte? Weißt du wie ich meine?

    Hab z.B. 4 Newskategorien (Allgemein, Downloads, Galerie, Sonstiges) und möchte, dass die Download- und Galerienews zusammen angezeigt werden! Wie funktioniert das?

    Wäre um jede Hilfe dankbar!

    Gruß

    Tim
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Noir Mitglied
    Registriert seit
    28.07.2005
    Beiträge
    223
    Beitragswertungen
    0 Beitragspunkte
    geil hast super hinbekommen danke viel mals !


    Zuletzt modifiziert von Noir am 29.08.2006 - 18:28:35
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Max Mitglied
    Registriert seit
    17.06.2006
    Beiträge
    38
    Beitragswertungen
    0 Beitragspunkte
    Einen kleinen Fehler gibts noch:

    Wenn die gefilterten Kategorien mehr als eine Seite in Anspruch nehmen, kann man sich die zweite Seite nicht mehr ansehen weil die Kategorie nicht in dem Link mitübergeben wird der auf die nächste Seite führt.

    Beispiel:
    Einfach bis zum Ende der Seite scrollen und auf die zweite Seite klicken.
    Ergebnis:
    Es werden wieder alle Kategorien angezeigt.


    Zuletzt modifiziert von Max am 19.07.2007 - 12:42:33
    Never argue with an idiot. They'll just bring you down to their level, and beat you with experience.
    -vem.eighteenseconds.de-
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
        $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
        $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] .$kate, $limit , '?news' , 'news' );

    |
    |
    V
    $mkate = escape($menu->get(2),'string');
    $lkate = empty($mkate) ? '?news' : "?news-kat-$mkate";
    $page = ( $menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
        $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] .$kate, $limit , $lkate , 'news' );


    *Updated

    Ich hoffe das ist richtig.


    Zuletzt modifiziert von Mairu am 20.07.2007 - 08:05:34
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Max Mitglied
    Registriert seit
    17.06.2006
    Beiträge
    38
    Beitragswertungen
    0 Beitragspunkte
    Das erzeugt einen Links wie diesen:

    vem.eighteenseconds.de/index.php?news-kat-$akate-p2

    traurig
    Never argue with an idiot. They'll just bring you down to their level, and beat you with experience.
    -vem.eighteenseconds.de-
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Wie dumm von mir.
    Naja dort von das steht ?news-kat-$akate statt den ' mal " benutzen also
    $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] .$kate, $limit , "?news-kat-$akate" , 'news' );
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Max Mitglied
    Registriert seit
    17.06.2006
    Beiträge
    38
    Beitragswertungen
    0 Beitragspunkte
    das erzeugt einen link wie diesen:

    http://vem.eighteenseconds.de/index.php?news-kat- a.news_kat = 'Allgemein' AND -p2


    ausserdem ist mir noch etwas aufgefallen falls keine kategorie ausgewählt ist wird ein link wie dieser erzeugt:

    http://vem.eighteenseconds.de/index.php?news-kat--p2


    der führt durch die beiden -- auch ins nichts.


    Zuletzt modifiziert von Max am 19.07.2007 - 22:00:39
    Never argue with an idiot. They'll just bring you down to their level, and beat you with experience.
    -vem.eighteenseconds.de-
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Habe meinen ersten post nochmal verändert und hoffe das es so nun stimmt.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Max Mitglied
    Registriert seit
    17.06.2006
    Beiträge
    38
    Beitragswertungen
    0 Beitragspunkte
    Perfekt! Jetzt funktioniert es! Dankeschön lachen

    Ich wiederhole:

    $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
        $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] .$kate, $limit , '?news' , 'news' );
    |
    |
    V
    $mkate = escape($menu->get(2),'string');
    $lkate = empty($mkate) ? '?news' : "?news-kat-$mkate";
    $page = ( $menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
        $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] .$kate, $limit , $lkate , 'news' );
    Never argue with an idiot. They'll just bring you down to their level, and beat you with experience.
    -vem.eighteenseconds.de-
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Max Mitglied
    Registriert seit
    17.06.2006
    Beiträge
    38
    Beitragswertungen
    0 Beitragspunkte
    Ein ganz offensichtlicher Fehler ist mir leider erst jetzt aufgefallen. traurig

    Die Links zu normalen Newsseiten (also ohne eine Kategorie im Link) stimmen zwar, führen jetzt aber immer nur mehr auf die erste Newsseite.
    Never argue with an idiot. They'll just bring you down to their level, and beat you with experience.
    -vem.eighteenseconds.de-
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Jaja so ist das wenn man nicht aufpasst zunge
    $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : ( $menu->getA(3) == 'p' ? $menu->getE(3) : 1 ));

    So sollte die Zeile mit $page am Anfang wohl aussehen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Max Mitglied
    Registriert seit
    17.06.2006
    Beiträge
    38
    Beitragswertungen
    0 Beitragspunkte
    thx deluxe
    Never argue with an idiot. They'll just bring you down to their level, and beat you with experience.
    -vem.eighteenseconds.de-
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten