Script-solution.de » Community » Support-Board » Foren » Boardsolution » Boardsolution v1.4x » Boardsolution v1.40 Beta » RSS Erweitern oder neues Modul schreiben
  • Willkommen, Gast!
  • Donnerstag, 17. Mai 2012, 10:57:10
 
Thema: "RSS Erweitern oder neues Modul schreiben" [ Seite 1 2 ]

Kein neuer Beitrag KingGO , 21.07.2009, 01:05
Beitrag #1   

IP: n/a
Rang: * * * * * O O
Registrierung: 17.05.2007, 20:49
Homepage: http://www.donotart.de
Wohnort: Magdeburg
 

Supporter mit 391 Punkte, 307 Beiträge
Hallo, ich möchte ganz gerne die vom Board verwendete RSS Ausgabe modifizieren. Ich möchte nicht
wie von Boardsolution voreingestellt die Neu erstellten Themen anzeigen sondern die Themen wo
zuletzt eine Antwort drauf gesetzt worden ist. Ist das ohne weiteres möglich?

 
Kein neuer Beitrag Nils , 21.07.2009, 12:11
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7620 Punkte, 7386 Beiträge
Hallo,

wenn du es nur ändern möchtest, also die Standardversion nicht mehr brauchst, öffne mal die
src/dao/posts.php und änder Zeile 622:
PHP:
1
ORDER BY b.threadid DESC'

in:
PHP:
1
ORDER BY t.lastpost_id DESC'

So sind dann die Themen mit der letzten Antwort oben. Der Text ist aber immer der des ersten
Beitrags (weiß nicht ob das so sein soll).

mfg Nils

 
Kein neuer Beitrag KingGO , 21.07.2009, 21:59
Beitrag #3   

IP: n/a
Rang: * * * * * O O
Registrierung: 17.05.2007, 20:49
Homepage: http://www.donotart.de
Wohnort: Magdeburg
 

Supporter mit 391 Punkte, 307 Beiträge
Danke Nils, ich werde es mal ausprobieren. ;)

EDIT:

Leider hat das ganze nicht funktioniert wie es sollte :/ Es wird immernoch nach Themen Neuheit
sortiert nicht nach letzte Antwort.
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte mal 24.07.2009, 18:36 von KingGO.

 
Kein neuer Beitrag Rafioso , 24.07.2009, 20:04
Beitrag #4   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1482 Punkte, 1314 Beiträge
Hi,

ändere die Methode mal bitte in:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  public function get_news_from_forums($fids,$number = 0)
  {
    $db = FWS_Props::get()->db();

    if(!FWS_Array_Utils::is_integer($fids) || count($fids) == 0)
      FWS_Helper::def_error('intarray>0','fids',$fids);
    if(!FWS_Helper::is_integer($number) || $number < 0)
      FWS_Helper::def_error('intge0','number',$number);
    
    $rows = $db->get_rows(
      'SELECT MAX(b.id) lastpost_time
       FROM '
.BS_TB_POSTS.' b
       WHERE b.rubrikid IN ('
.implode(',',$fids).')
       GROUP BY b.threadid
       ORDER BY b.threadid DESC
       '
.($number > 0 ? 'LIMIT '.$number : '')
    );
    $post_ids = array();
    foreach($rows as $data)
      $post_ids[] = $data['lastpost_time'];
    
    if(count($post_ids) > 0)
    {
      return $db->get_rows(
        'SELECT
          b.*,u.`'
.BS_EXPORT_USER_NAME.'` user_name,p.user_group,t.name,t.posts,t.comallow
         FROM '
.BS_TB_POSTS.' b
         LEFT JOIN '
.BS_TB_USER.' u ON b.post_user = u.`'.BS_EXPORT_USER_ID.'`
         LEFT JOIN '
.BS_TB_PROFILES.' p ON u.`'.BS_EXPORT_USER_ID.'` = p.id
         LEFT JOIN '
.BS_TB_THREADS.' t ON b.threadid = t.id
         WHERE b.id IN ('
.implode(',',$post_ids).')
         ORDER BY b.post_time DESC'

      );
    }


Das Problem bei der Sache ist aber, dass es so nicht nur im Feed dargestellt wird, sondern auch im
Portal bei der Newsauflistung.
Sollte es dich stören, einfach nochmal bescheid geben =)

MfG
Rafioso
Dieser Beitrag wurde insgesamt 2 mal editiert. Das letzte mal 24.07.2009, 20:05 von Rafioso.

 
Kein neuer Beitrag KingGO , 24.07.2009, 23:06
Beitrag #5   

IP: n/a
Rang: * * * * * O O
Registrierung: 17.05.2007, 20:49
Homepage: http://www.donotart.de
Wohnort: Magdeburg
 

Supporter mit 391 Punkte, 307 Beiträge
Nein das stört mich nicht da ich das Portal eh deaktiviert habe :o)

Danke.

EDIT: Eine Frage hätte ich noch in welcher Datei? ^^
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte mal 24.07.2009, 23:09 von KingGO.

 
Kein neuer Beitrag Rafioso , 25.07.2009, 00:44
Beitrag #6   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1482 Punkte, 1314 Beiträge
Moin moin,

okidoki.
Ah das musst du in der selben Datei ändern, die Nils genannt hat. Also die src/dao/posts.php.
Die Methode findest du ab Zeile ~591

MfG
Rafioso

 
Kein neuer Beitrag KingGO , 25.07.2009, 04:39
Beitrag #7   

IP: n/a
Rang: * * * * * O O
Registrierung: 17.05.2007, 20:49
Homepage: http://www.donotart.de
Wohnort: Magdeburg
 

Supporter mit 391 Punkte, 307 Beiträge
Hmm habe das ganze abgeändert aber sowirklich was verändert hat sich da leider nicht.
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte mal 25.07.2009, 04:40 von KingGO.

 
Kein neuer Beitrag Nils , 25.07.2009, 09:58
Beitrag #8   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7620 Punkte, 7386 Beiträge
Hallo,

das kann eigentlich nicht sein. Ich hatte das extra ausprobiert, was ich oben gepostet habe. Das
sollte also funktionieren. Sicher, dass du keinen Fehler gemacht hast? (falsche Datei, falsche
Stelle, nicht hochgeladen, ...)

mfg Nils

 
Kein neuer Beitrag KingGO , 25.07.2009, 14:50
Beitrag #9   

IP: n/a
Rang: * * * * * O O
Registrierung: 17.05.2007, 20:49
Homepage: http://www.donotart.de
Wohnort: Magdeburg
 

Supporter mit 391 Punkte, 307 Beiträge
Ja ich bin mir sicher Niels, ich habe eben noch einmal drüber geschaut und ich habe genau das
gemacht was Du oben geschrieben hast. ich habe aktuell MyDesk oben weil es das letzte Thema ist was
eröffnet wurde.
Ich habe aber zu testzwecken einen Beitrag in einen anderen älteren Thread erstellt normal müsste
der ja jetzt oben stehen oder sehe ich das falsch?

Grüße :-)

 
Kein neuer Beitrag Rafioso , 25.07.2009, 16:35
Beitrag #10   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1482 Punkte, 1314 Beiträge
KingGO hat folgendes geschrieben:
Hmm habe das ganze abgeändert aber sowirklich was verändert hat sich da leider nicht.

Also bei mir funktioniert es.
Evtl. muss ich anmerken, dass neue Beiträge nur von den Foren angezeigt werden, die im ACP unter
Allgemeines->Einstellungen->Portal->News-Foren: ausgewählt wurden.

Aber wenn meine und die von Nils erwähnte Änderung nichts bewirken, dann glaube ich, dass eine
andere Änderung deinerseits dazwischen funkt.
Ich glaube fast, dass du die Methode get_news_from_forums in den Feeds gar nicht verwendest.

MfG
Rafioso

 
Kein neuer Beitrag KingGO , 26.07.2009, 00:14
Beitrag #11   

IP: n/a
Rang: * * * * * O O
Registrierung: 17.05.2007, 20:49
Homepage: http://www.donotart.de
Wohnort: Magdeburg
 

Supporter mit 391 Punkte, 307 Beiträge
hmm, ich lese das über die RSS vom Forum aus.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$xml = simplexml_load_string(file_get_contents('http://netcode.sunsonic.de/Board/index.php?action=news_feed&mode=rss20'));
$items = $xml->xpath('/rss/channel/item');
$rss = '<!-- RSS-FEED MOD Start --><p class="rssbox"><strong>:: Netcode Forum ::</strong><br /><br />';
$count=0;
function kurz($string$umbruch = 20)
{
  if (strlen($string)>$umbruch)
    $string = substr($string,0,($umbruch-3))."...";
    return $string;
}

foreach$items as $item )
{
  if($count<10)
  {
    $rss.= '<a href="'.htmlspecialchars($item->link).'" title="'.htmlspecialchars(iconv("UTF-8","ISO-8859-1"$item->title)).'">'.htmlspecialchars(iconv("UTF-8","ISO-8859-1", kurz($item->title, 21))).'</a><br />';
    $count++;
  }
}

 
Kein neuer Beitrag Rafioso , 26.07.2009, 00:57
Beitrag #12   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1482 Punkte, 1314 Beiträge
Moin,

hast du deswegen extra eine neue Datei angelegt, oder in welcher Datei steht denn der Code drinn?
Falls ja, wars eigentlich nicht nötig. Mit der front/src/feed/rss20.php kann man doch super arbeiten.
Und die oberen Änderungen beziehen sich unter anderem auch auf die front/src/feed/rss20.php.

Ich glaube die Änderung siehst du am Besten, wenn du zum Test einfach mal das Portal aktivierst =)

MfG
Rafioso
Dieser Beitrag wurde insgesamt 3 mal editiert. Das letzte mal 26.07.2009, 01:20 von Rafioso.

 
Kein neuer Beitrag KingGO , 26.07.2009, 10:00
Beitrag #13   

IP: n/a
Rang: * * * * * O O
Registrierung: 17.05.2007, 20:49
Homepage: http://www.donotart.de
Wohnort: Magdeburg
 

Supporter mit 391 Punkte, 307 Beiträge
Ne diesen Code habe ich in einer extra Datei in meinen CMS integriert, wenn ich im Seitentext
irgendwo hinschreibe <!-- RSS MOD--> wird er an dieser stelle ausgegeben.

 
Kein neuer Beitrag Nils , 26.07.2009, 10:03
Beitrag #14   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7620 Punkte, 7386 Beiträge
Hallo,

also wenn ich mir mal die ersten Themen im Feed angucke, scheint es richtig zu sein:

  1. MyDesk | Was erwartet ihr von einem Onli ... (25.07.)
  2. NET Radio Version 1.0 (22.07.)
  3. Großes Lob, oder ... (20.7.)

Was siehst du, was anders sein müsste?

Edit: Haben das jetzt per ICQ geklärt. War mein Fehler. Ich hab da letztes Mal nicht richtig
geguckt :)
Das Problem ist das gleichzeitige Gruppieren und Sortieren. Das ist immer so eine Sache. Aber wenn
man es ganz anders macht, gehts:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
  public function get_news_from_forums($fids,$number = 0)
  {
    $db = FWS_Props::get()->db();

    if(!FWS_Array_Utils::is_integer($fids) || count($fids) == 0)
      FWS_Helper::def_error('intarray>0','fids',$fids);
    if(!FWS_Helper::is_integer($number) || $number < 0)
      FWS_Helper::def_error('intge0','number',$number);
    $rows = $db->get_rows(
      'SELECT t.id
       FROM '
.BS_TB_THREADS.' t
       WHERE t.rubrikid IN ('
.implode(',',$fids).')
       ORDER BY t.lastpost_id DESC
       '
.($number > 0 ? 'LIMIT '.$number : '')
    );
    $tids = array();
    foreach($rows as $data)
      $tids[] = $data['id'];
    
    $rows = $db->get_rows(
      'SELECT MIN(b.id) first_post_id
       FROM '
.BS_TB_POSTS.' b
       WHERE b.threadid IN ('
.implode(',',$tids).')
       GROUP BY b.threadid'

    );
    $post_ids = array();
    foreach($rows as $data)
      $post_ids[] = $data['first_post_id'];
    
    if(count($post_ids) > 0)
    {
      return $db->get_rows(
        'SELECT
          b.*,u.`'
.BS_EXPORT_USER_NAME.'` user_name,p.user_group,t.name,t.posts,t.comallow
         FROM '
.BS_TB_POSTS.' b
         LEFT JOIN '
.BS_TB_USER.' u ON b.post_user = u.`'.BS_EXPORT_USER_ID.'`
         LEFT JOIN '
.BS_TB_PROFILES.' p ON u.`'.BS_EXPORT_USER_ID.'` = p.id
         LEFT JOIN '
.BS_TB_THREADS.' t ON b.threadid = t.id
         WHERE b.id IN ('
.implode(',',$post_ids).')
         ORDER BY t.lastpost_id DESC'

      );
    }
    
    return array();
  }


mfg Nils
Dieser Beitrag wurde insgesamt 2 mal editiert. Das letzte mal 26.07.2009, 10:35 von Nils.

 
Kein neuer Beitrag Rafioso , 26.07.2009, 17:54
Beitrag #15   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1482 Punkte, 1314 Beiträge
Hi,

und was genau ändert die neue Änderung gegenüber meine?
Ich hab meine Änderung bei mir getestet und es kam meines Erachtens zum richtigen Ergebnis.
Es wurde immer der neuste Beitrag im gewünschten Forum als erstes angezeigt, siehe Bild.

Wär nett wenns mir jemand erklärt, damit ich weiß was ich falsch gemacht habe =)

//edit
Denn die Änderung von Nils bewirkt bei mir nun z.B. dass nicht der letzte Beitrag angezeigt wird,
sondern Beitrag 1 des jeweiligen Threads.

MfG
Rafioso
Anhänge:
portal_news.jpg 31.064 Bytes 6 Downloads
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte mal 26.07.2009, 17:57 von Rafioso.

n/a n/a 1 2     ( Anzeige: 1 - 15 , Gesamt: 17 ) Weiter Letzte Seite
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Thema-Aktionen:

Toggle Ähnliche Themen zu "RSS Erweitern oder neues Modul schreiben"
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, kein 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, verschoben
  RSS 1 1178 11.01.2012, 10:33
Von: Mars
11.01.2012, 11:47
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, kein 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Frohes Neues 4 2404 01.01.2012, 00:34
Von: Mars
02.01.2012, 21:00
Von: langer Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Neues Modul zum Frontend hinzufügen 3 10589 19.11.2009, 20:06
Von: Nils
13.11.2011, 13:57
Von: Kevin Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, kein 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Fehler beim Beitrags schreiben 5 1024 27.10.2011, 17:36
Von: Dieter
28.10.2011, 09:19
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, kein 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Nutzung von PHP auf Frontend Modul Seiten 5 1454 04.09.2011, 16:04
Von: Doerfler
07.09.2011, 14:13
Von: Rafioso Zum letzten Beitrag
  • 0.159937 Sek., 11 DB-Zugriffe, 6.674 MiB
  • Boardsolution v1.43 | © Nils Asmussen 2003-2009
Valid XHTML and CSS © 2003 - 2009 script-solution.de, Powered by Joomla!