3.x/Gesloten onderwerpen onderaan viewforum: verschil tussen versies

Uit phpBB.nl Wiki
Ga naar: navigatie, zoeken
(Pagina aangemaakt: De laatste tijd wordt op het forum regelmatig het verzoek gedaan om gesloten topics naar de onderkant van viewforum te verplaatsen. Daarom hier een simpele wijziging om dit te rea...)
 
Regel 7: Regel 7:
  
 
'''Zoek:'''
 
'''Zoek:'''
<code>    ORDER BY t.topic_type " . ((!$store_reverse) ? 'DESC' : 'ASC') . ', ' . $sql_sort_order;</code>
+
<code>    // Grab just the sorted topic ids
 +
    // BEGIN PORTAL CODE HACK
 +
    $sql = 'SELECT t.topic_id</code>
 +
 
 +
'''Plaats erachter:'''
 +
<code>    , topic_status</code>
 +
 
 +
'''Zoek:'''
 +
<code>    while ($row = $db->sql_fetchrow($result))
 +
    {
 +
      $topic_list[] = (int) $row['topic_id'];
 +
    }</code>
  
 
'''Vervang met:'''
 
'''Vervang met:'''
<code>    ORDER BY t.topic_status ASC, t.topic_type " . ((!$store_reverse) ? 'DESC' : 'ASC') . ', ' . $sql_sort_order;</code>
+
<code>    $closed_topics = array();
 +
    while ($row = $db->sql_fetchrow($result))
 +
    {
 +
      if ( $row['topic_status'] == ITEM_LOCKED )
 +
      {
 +
          $closed_topics[] = (int) $row['topic_id'];
 +
      }
 +
      else
 +
      {
 +
          $topic_list[] = (int) $row['topic_id'];
 +
      }
 +
    }
 +
    $topic_list = array_merge($topic_list, $closed_topics);</code>
  
 
Upload vervolgens het bestand.
 
Upload vervolgens het bestand.

Versie van 15 okt 2008 om 16:58

De laatste tijd wordt op het forum regelmatig het verzoek gedaan om gesloten topics naar de onderkant van viewforum te verplaatsen. Daarom hier een simpele wijziging om dit te realiseren. Met dank aan Mosymuis voor de code.

Een nadeel van deze wijziging is dat ook verplaatste onderwerpen onderaan het overzicht zullen komen te staan.

Open het bestand viewforum.php

Zoek: // Grab just the sorted topic ids

   // BEGIN PORTAL CODE HACK
   $sql = 'SELECT t.topic_id

Plaats erachter: , topic_status

Zoek: while ($row = $db->sql_fetchrow($result))

   {
      $topic_list[] = (int) $row['topic_id'];
   }

Vervang met: $closed_topics = array();

   while ($row = $db->sql_fetchrow($result))
   {
      if ( $row['topic_status'] == ITEM_LOCKED )
      {
         $closed_topics[] = (int) $row['topic_id'];
      }
      else
      {
         $topic_list[] = (int) $row['topic_id'];
      }
   }
   $topic_list = array_merge($topic_list, $closed_topics);

Upload vervolgens het bestand.