Inhaltsverzeichnis

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

wg. der Links/Seite-Begrenzung hat keiner eine Idee? :( Mein php ist für diesen teil wirklich grauenhaft ....

Naja komm ich halt mit dem nächsten Problem ;)

Hab festgestellt (in folge weiterer SuMa-Optimierungen), das es nur ein ein Titel für alle Unterseiten gibt. Sieht erstens nicht so gut aus, außerdem wirds besser bewertet wenn im Titel etwas steht was im Content auch steht ;)

Es findet sich nur der Eintrag "$page_title = 'Sitemap'; " in der Datei. Mein Idee wäre, das dieses bei der Einstiegsseite auch so bleibt, sobald man auf eine Kategorie klickt, müsste halt "Sitemap >> Kategoriename" im Titel stehen, bei klick auf Forum halt "Sitemap >> Kategoriename >> Forenname"

Der Ansatz den ich hab, macht das ganze Konzept kaputt: ich übergebe den Kategorienamen und den Forenname per URL ... per Short-URL könnte man das zwar retuschieren, aber der Name säh immer noch übel aus. Also müsste ich das ganze anders an die Datei sitemap.php übergeben - leider hab ich da keine idee wie ich das machen könnte. Wenn ich die Namen übergeben hab, kann ich halt "$page_title = 'Sitemap >> '.$category.' >> '.$forumname';" machen ....

Kann mir hier jemand den entscheidenden Tip geben?

Bis denne
Wuppi

PS: an die Seitenbegrenzung bin ich natürlich immer noch interessiert ;)
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hallöle

das eine Problem ist mittlerweile gelöst (Forenname in den Title). Aber die Seitennummerierung bekomm ich net hin ... mir fehlt ein Ansatz.

Hülf ;)

Bis denne
Wuppi
Toni
Mitglied
Beiträge: 121
Registriert: 16.01.2004 18:02

Beitrag von Toni »

Hallo Wuppi,

wuerdest du uns dein aktuelles "Inhaltsverzeichniss" zum Download anbieten. Haette da grosses Interesse. :grin:

Gruss Toni
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

kommt ;)

hab noch ne weitere Modifikation gemacht: Alle Menus sind jetzt sofort offen - nur wenn man an die Beiträge klickt, muß man halt das Untermenu auswählen (www.numismatikforum.de/fsitemap.html)

Grund war, das je mehr menus da sind, desto weniger PR bleibt am ende über. Meine Seite hat PR4, die Sitemap-Einstiegsseite hat PR3 - dann das Kategoriemenu PR2, Forenmenu PR1 -und Beiträge?! Unter ferner liefen ...

Jetzt kann die Einstiegsseite PR3 bekommen - und gleich die ganzen Kategorien mit ... die Beiträge müssten so auf PR1 kommen ... zwar noch nicht ideal ... aber besser.

Ich werde wahrscheinlich noch ne 2. Sitemap draufpappen ... von der Forenübersicht aus ... halt diese schlichte, wengiger schöne ... damit die Beiträge mehr PR abbekommen ... diese Sitemap bleibt aber, weil ich die schöner find ;) ... oder ich verlinke direkt auf die Forenübersichten fsitemap10-10.html von der Home aus ... (würde es auch tun)

Wenn man jetzt den Inhalt eines Forums öffnet, hats gleich das passende <title>-Tag ...

Code: Alles auswählen

<?php
/***************************************************************************
* Save this file as:   sitemap.php 
* Version:      beta, still in development
* Email:      webmaster@retriever-hilfe.de
* Purpose of hack:   Basically generates a list of topics and
*      displays them with link to the topic.
*
* Tested on:   phpBB 2.0.8
*
***************************************************************************/

/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata);
//
// End session management
//

$t=$HTTP_GET_VARS['t']; 
$f=$HTTP_GET_VARS['f'];

//
// Start output of page
//
define('SHOW_ONLINE', true);

// Titel ermitteln 

if ($_GET['f'] != 0) 
{
$resultf = mysql_query("SELECT cat_title FROM " . CATEGORIES_TABLE . " WHERE cat_id = " . $_GET['f']);
$row = mysql_fetch_array($resultf);
$catname = $row["cat_title"];
$page_title = "Inhaltsverzeichnis - ". $catname;
} else $page_title = "Inhaltsverzeichnis"; 

if ($_GET['t']  != 0)
{
$resultt = mysql_query("SELECT forum_name FROM " . FORUMS_TABLE  . " WHERE forum_id = " . $_GET['t']);
$row = mysql_fetch_array($resultt);
$forumname = $row["forum_name"];
$page_title = "Inhaltsverzeichnis - ". $catname ." - ". $forumname;
} 

include($phpbb_root_path . 'includes/page_header.'.$phpEx);

echo "<br><table width='100%' class='forumline' border='0' cellspacing='0' cellpadding='0' align='center'>
  <tr> 
    <th class='thCornerL'>Inhaltsverzeichnis</th>
  </tr>";

// nicht SuMa-Tauglich:
// echo "<center><a href='" . $PHP_SELF . "' class='nav'>Alles einklappen</a>&nbsp;&nbsp;<a href='" . $PHP_SELF . "?f=all&t=all' class='nav'>Alles ausklappen</a></center>";

echo "
<tr>
   <td width='100%' valign='top' align='center'>
      <table width='100%' border='0' cellspacing='1' cellpadding='1'>";


$resultc = mysql_query("SELECT * FROM " . CATEGORIES_TABLE . " ORDER BY cat_order");
while($rowc=  mysql_fetch_assoc($resultc))
{
   $countf = 0;
   $countna = 0;
   $resultcf = mysql_query("SELECT * FROM " . FORUMS_TABLE . " WHERE cat_id =" . $rowc["cat_id"] . " ORDER BY forum_order");
   while($rowcf=  mysql_fetch_assoc($resultcf))
   {
      $countf = $countf + 1;
      $is_auth_ary = array();
      $is_auth_ary = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata, $rowcf[]);
      if ((!$is_auth_ary[$rowcf['forum_id']]['auth_read']) or (!$is_auth_ary[$rowcf['forum_id']]['auth_view']))
      {
         $countna = $countna + 1;
      }
   }
   if ($countf <> $countna)
   {
      $actionc = (($f == $rowc["cat_id"]) || ($f == 'all')) ? "<a href='fsitemap.html'><img src='images/icon_opened.gif' border='0' alt=' - '></a>" : "<a href='fsitemap.html'><img src='images/icon_closed.gif' border='0' alt=' + '></a>";
      $actionc1 = (($f == $rowc["cat_id"]) || ($f == 'all')) ? "<a href='fsitemap.html' class='nav'>" . $rowc["cat_title"] . "</a>" : "<a href='fsitemap.html' class='nav'>" . $rowc["cat_title"] ."</a>";
      echo "<tr><td width='30' align='center' class='row1' nowrap='nowrap'><span class='gensmall'>&nbsp</span>" . $actionc . "<span class='gensmall'>&nbsp</span></td><td colspan='3' align='left' class='row1' width='100%'>" . $actionc1 . "</td></tr>";
   }
   if ( ($f == 'all') || ($f == $rowc["cat_id"]) )
   {   
      $resultf = mysql_query("SELECT * FROM " . FORUMS_TABLE . " WHERE cat_id =" . $rowc["cat_id"] . " ORDER BY forum_order");
      while($rowf=  mysql_fetch_assoc($resultf))
      {
         $is_auth_ary = array();
         $is_auth_ary = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata, $rowf[]);
         if ((!$is_auth_ary[$rowf['forum_id']]['auth_read']) or (!$is_auth_ary[$rowf['forum_id']]['auth_view']))
         {
            // nothing to do
         }
         else
         {
            $actionf = (($t == $rowf["forum_id"]) || ($t == 'all')) ? "<a href='fsitemap". $rowc["cat_id"] . '.html'. "'><img src='images/icon_opened.gif' border='0' alt=' - '></a>" : "<a href='fsitemap".  $rowc["cat_id"] . "-" . $rowf["forum_id"] . '.html'. "'><img src='images/icon_closed.gif' border='0' alt=' + '></a>";
            $actionf1 = (($t == $rowf["forum_id"]) || ($t == 'all')) ? "<a href='fsitemap". $rowc["cat_id"] . '.html'.  "' class='nav'>" . $rowf["forum_name"] . "</a>" : "<a href='fsitemap".  $rowc["cat_id"] . "-" . $rowf["forum_id"] . '.html'."' class='nav'>" . $rowf["forum_name"] . "</a>";
                echo "<tr><td width='30' align='center' class='row1'><span class='gensmall'>|</span></td><td width='30' align='center' class='row1' nowrap='nowrap'><span class='gensmall'>&nbsp</span>" . $actionf . "<span class='gensmall'>&nbsp</span></td><td colspan='2' align='left' class='row1' width='100%'>" . $actionf1 . "<span class='gensmall'>" . " - " . $rowf["forum_desc"] . "</span></td></tr>";
            if ( ($t == 'all') || ($t == $rowf["forum_id"]) )
            {
               $resultt = mysql_query("SELECT * FROM " . TOPICS_TABLE . " WHERE forum_id=" . $rowf["forum_id"] . " ORDER BY topic_time");
               while($rowt=  mysql_fetch_assoc($resultt))
               {
                     echo "<tr><td width='30' align='center' class='row1'><span class='gensmall'>|</span></td><td width='30' align='center' class='row1'><span class='gensmall'>|</span></td><td width='30' align='center' class='row1' nowrap='nowrap'><span class='gensmall'>&nbsp;-&nbsp;</span></td><td align='left' class='row1' width='100%'><a href='ftopic" . $rowt["topic_id"] . '.html'. "' class='nav'>" . $rowt["topic_title"] . "</a></td></tr>";
               }
            }   
         }         
      }
   }   
}

echo "</table></td></tr></table>";

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
Zuletzt geändert von Wuppi am 19.08.2004 19:47, insgesamt 1-mal geändert.
Toni
Mitglied
Beiträge: 121
Registriert: 16.01.2004 18:02

Beitrag von Toni »

Hallo Wuppi,

irgendetwas laeuft da nicht richtig. Hatte es ja genauso wie du eingebaut (short urls!).

Der Hauptlink ist ok (/fsitemap.html). Nun zeigt er nur meine Kategorieren an. Wenn ich ueber diese mit der Maus gehe, wird bei jeder Kategorie "/fsitemap.html) angezeigt. D.h. erneuter Aufruf des Inhaltsverzeichnisess.

Hast du evtl. etwas an deiner htaccess geaendert ?
Ist das wirklich deine aktuelle Version?

Gruss Toni
Toni
Mitglied
Beiträge: 121
Registriert: 16.01.2004 18:02

Beitrag von Toni »

Hallo Wuppi,

Und es laeuft doch !!!!

Da ich das Script nicht mit "f=all" aufrufe, musste ich am Anfang ein "$f=all" einbauen.

Denke du gibts bei dir vermutlich den Parameter mit, nur dass man durch die shurt urls dies nicht sieht.

Gruss Toni
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

sorry ... nen bissel spät ...

Die sitemap.php ist genau so ...

Aber in der .htaccess hab ich noch was geändert:


Code: Alles auswählen

# Short-URLs sitemap.php
RewriteCond %{REQUEST_FILENAME} /fsitemap([0-9]*)-([0-9]*).*
RewriteRule (.*) /sitemap.php?f=%1&t=%2

RewriteCond %{REQUEST_FILENAME} /fsitemap([0-9]*)
RewriteRule (.*) /sitemap.php?f=all
Mit dem zweiten rewrite sag ich halt das er alte fsitemap10.html (die also nur ne kategorie geöffnet haben, nicht mehr machen soll - immer ganz. fsitemap10.html gibt es ja jetzt nicht mehr - nur noch Kategorie & Forum ... also sitemap.php?f=all - und bei fsitemap.html wird natürlich auch das f=all mitübergeben ...

Das man bei klick auf eine Kategorie (früher: fsitemap10.html) jetzt immer fsitemap.html hat, ist absicht ... warum soll ich nur ne Kategorie öffnen, die anderen schließen ... Am liebsten wäre mir natürlich das die fsitemap.html links dort auch wegkämen - aber hab noch keinen schönen Platz dafür gefunden, für den link - so das man mit offener Forenübersicht (also das eigentliche INHALTSverzeichnis) schnell wieder auf urzustand kommt. Aber das sind eigentlich nur spielerreien für google ...

Gruß
Wuppi

PS: hoffe das war jetzt verständlich ;)
sandri
Mitglied
Beiträge: 2
Registriert: 19.08.2004 02:48

Beitrag von sandri »

hallo,

erst einmal tolle Arbeit die Ihr geleistet habt.
:D


Leider erhalte ich aber ab und zu die Fehlermeldung:

Code: Alles auswählen

phpBB : Kritischer Fehler 

Error creating new session

DEBUG MODE

SQL Error : 1054 Unknown column 'PAGE_SITEMAP' in 'field list'

INSERT INTO phpbb_sessions (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in) VALUES ('94954fbedd91223b2085a9212cf844c4', 2, 1092875942, 1092875942, 'd95d893f', PAGE_SITEMAP, 1)


Line : 152
File : /includes/sessions.php



und zwar meistens dann wenn ich direkt darauf zugreife und nicht voher im Forum war. Vielleicht hängt es ja damit zusammen.


Habt Ihr vielleicht eine Lösung für das Problem zur Hand.

Vielen Dank im voraus

ciao Sandri
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Die Konstante PAGE_SITEMAP muss noch in die constants.php eingetragen werden, z.B.

Code: Alles auswählen

define('PAGE_SITEMAP', -22);
sandri
Mitglied
Beiträge: 2
Registriert: 19.08.2004 02:48

Beitrag von sandri »

vielen Dank Acid !

läuft nun prima :D
Antworten

Zurück zu „phpBB 2.0: Mod Support“