Seite 5 von 7

Verfasst: 21.10.2006 12:19
von austrian-i
hi ich hab probiert das anzupassen an den short url mod von larsneo, wo die endungen so aussehen:

forum1.html (Forumsübersicht)
ftopic13.html (Threads)
ftopic13-5.html (zweite Seite eines Threads)


Code: Alles auswählen

aus 
<loc>'.$baseURL.append_sid('viewforum.php?f='.htmlspecialchars($row["forum_id"])).'</loc>
wird
<loc>'.$baseURL.append_sid('forum'.htmlspecialchars($row["forum_id"])).'.html</loc>

Code: Alles auswählen

aus
<loc>'.$baseURL.append_sid('viewtopic.php?t='.htmlspecialchars($row["topic_id"])).'</loc>';
wird
 <loc>'.$baseURL.append_sid('ftopic'.htmlspecialchars($row["topic_id"])).'.html</loc>';
beim dritten tu ich mir schwer:

Code: Alles auswählen

aus 
<loc>'.$baseURL.append_sid('viewtopic.php?t='.htmlspecialchars($row["topic_id"]).'&start='.$start).'</loc>';
wird
 <loc>'.$baseURL.append_sid('ftopic'.htmlspecialchars($row["topic_id"]).'-'.$start.html).'</loc>';
es kommt statt ftopic13-5.html immer ftopic135html (also der Punkt vor dem html fehlt) - wie muss ich den einsetzen? :oops:

Verfasst: 21.10.2006 12:35
von mgutt
als erstes. die htmlspecialchars() müssen alle weg.. keine ahnung was das soll :-?

man könnte höchstens intval(). dann muss das letzte .html vor <loc eingesetzt werden.

Verfasst: 21.10.2006 12:53
von austrian-i
hey super, danke dir mgutt!

Für Gäste gesperrte Foren nicht in der Sitemap

Verfasst: 30.10.2006 10:01
von Hosibisi
Hallo,

funktioniert super die Sitemap. Auch das Starten mit cronjob, einfach hervorragend. Ich habe nun ein Unterforum, dass nicht öffentlich ist, aber die Links trotzdem in der Sitemap sind.

Welche Einstellung ist zu ändern, damit nichtöffentliche Links nicht in der Sitemap stehen?

Gruß
Hosibisi

Bei mehr als einem verstecktem Unterforum

Verfasst: 09.01.2007 14:33
von Gobbit
Bei mehr als einem Verstecktem Forum (Kategorie) werden die links des verstecktem Forum auf der erstellten Sitemap angezeigt. Der Hund ist hier begraben: =>

Code: Alles auswählen

$i = 0;
while($row =  $db->sql_fetchrow($result))
{
   if ($hidtopic[$i] != $row["forum_id"])
   {
      //if we get here, then the fourm_id of the post in question can be displaied...
      //same tabbing reason as above
$hidtopic[$i] != $row["forum_id"] => es wird nur von einem verstecktem Forum (Kategorie) ausgegangen.


da ich kein As in php bin habe ich mir eine Notlösung gestrickt.

Einfach mit phpAdmin oder ähnlichem Werkzeug die Forum ID's der gesperrten Foren raussuchen. => Alle Foren ID's mit auth_view = 1.

Bei mir 20 und 22.

Lösung:

Code: Alles auswählen

while($row =  $db->sql_fetchrow($result))
{
   if ($hidtopic[$i] != $row["forum_id"] && "22" != $row["forum_id"] && "20" != $row["forum_id"])
   {
      //if we get here, then the fourm_id of the post in question can be displaied...
      //same tabbing reason as above

vielleicht kann sich ja einer der Cracks der Sache annehmen und das Problem geschickter lösen.

Viel Spass

Verfasst: 25.03.2007 01:19
von kird1
nichtmal diese Änderung bringt etwas bei mir.......

die versteckten Foren werden zwar in der Forenliste mit: "if ($row["auth_read"] < 1) " zuverlässig ausgeblendet - aber etwas weiter unten in der xml Datei stehen sämtliche Themen der versteckten Foren dann trotzdem in der Liste.

hat das schon jemand gefixt?

Grüße
kird1

Verfasst: 26.03.2007 15:12
von Patch
kird1 hat geschrieben:nichtmal diese Änderung bringt etwas bei mir.......

die versteckten Foren werden zwar in der Forenliste mit: "if ($row["auth_read"] < 1) " zuverlässig ausgeblendet - aber etwas weiter unten in der xml Datei stehen sämtliche Themen der versteckten Foren dann trotzdem in der Liste.

hat das schon jemand gefixt?

Grüße
kird1
das ist eigentlich gan einfach zu lösen :wink:

finde

Code: Alles auswählen

SELECT DISTINCT topic_title, topic_id, forum_id, topic_replies FROM '.TOPICS_TABLE.' ORDER BY topic_title
ersezte mit

Code: Alles auswählen

SELECT DISTINCT t.topic_title, t.topic_id, t.forum_id,t.topic_replies, f.auth_view FROM '.TOPICS_TABLE.' t left join '.FORUMS_TABLE.' f on f.forum_id = t.forum_id where auth_view < 1 ORDER BY t.topic_title
damit sind alle nicht öffentlich foren ausgeblendet

Verfasst: 26.03.2007 18:28
von kird1
Danke für Dein Posting, aber die Abfrage sieht bei mir etwas anders aus - und wenn ich das austausche, funktioniert gar nix mehr......

Code: Alles auswählen

 $sql = "SELECT t.topic_title, t.topic_id, t.topic_replies, t.forum_id, p.post_time 
    FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p 
    WHERE p.post_id = t.topic_last_post_id 
    ORDER BY p.post_time DESC"; 
Gruß
kird1

Verfasst: 26.03.2007 18:34
von Patch
das wird dir aber nichts bringen :wink:

wieso funktioniert dann bei dir gar nichts mehr?
ich hoffe bloß das der code nach der erstzung bei dir so aussieht

Code: Alles auswählen

$sql = 'SELECT DISTINCT t.topic_title, t.topic_id, t.forum_id,t.topic_replies, f.auth_view FROM '.TOPICS_TABLE.' t left join '.FORUMS_TABLE.' f on f.forum_id = t.forum_id where auth_view < 1 ORDER BY t.topic_title';
denn dann klappt das wunderbar

Verfasst: 26.03.2007 19:33
von kird1
Keine Ahnung - ging einfach nur gar nichts. Leere Seite - und in der Errorlog stand auch nichts drin.

Und ja, ich hatte die Abfrage ins PHP gesteckt ( $sql = ".........."; )

Komischerweise funktioniert es jetzt - ich hab schon dreimal geschaut, ob Du was geändert hast :lol: - aber es wird wohl doch an mir gelegen haben........

besten Dank also!

Gruß
kird1