Seite 4 von 6
Verfasst: 08.06.2004 18:06
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

Verfasst: 08.07.2004 17:06
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
Verfasst: 14.07.2004 12:47
von Toni
Hallo Wuppi,
wuerdest du uns dein aktuelles "Inhaltsverzeichniss" zum Download anbieten. Haette da grosses Interesse.
Gruss Toni
Verfasst: 14.07.2004 18:59
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> <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'> </span>" . $actionc . "<span class='gensmall'> </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'> </span>" . $actionf . "<span class='gensmall'> </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'> - </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);
?>
Verfasst: 14.07.2004 20:59
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
Verfasst: 14.07.2004 21:21
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
Verfasst: 24.07.2004 20:01
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

Verfasst: 19.08.2004 02:55
von sandri
hallo,
erst einmal tolle Arbeit die Ihr geleistet habt.
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
Verfasst: 19.08.2004 15:20
von Acid
Die Konstante
PAGE_SITEMAP muss noch in die constants.php eingetragen werden, z.B.
Verfasst: 19.08.2004 16:08
von sandri
vielen Dank Acid !
läuft nun prima
