pragmaMx Support Forum

alles für Webmaster => Suchmaschinen => Thema gestartet von: trulla am 28 August 2008, 17:28:51

Titel: Rezeptdatenbank in sitemap?
Beitrag von: trulla am 28 August 2008, 17:28:51
 :red:
Hallo. erst heute bin ich auf die google_sitemap.php gestoßen. Natürlich habe ich mich sofort daran gemacht, diese zu verschlimmbessern. Was ist mit Rezeptdatenbank und Encyclopädie? Da finde ich keinen Hinweis zu! Werden die in der Sitemap nicht aufgeführt? Muss ich mir dafür eventuell einen eigenen code basteln?
Danke :)
Titel: Re: Rezeptdatenbank in sitemap?
Beitrag von: Webfan am 28 August 2008, 18:20:15
Hallo  :)
Ungetestet:
Rezepte
Suche:
function google_allowed($module)
{

Davor einfügen:
function rezepte()
{
    global $limit, $prefix, $i, $item, $keywords;
    if (!google_allowed("Rezeptdatenbank"))
        return;
    $result = sql_query("select * from recipes_recipes ORDER BY submittime DESC limit " . $limit);
    if ($result) {
        while ($row = sql_fetch_object($result)) {
            $i++;
            $item[$i]['link'] = MX_HOME_URL . "/modules.php?name=Rezeptdatenbank&action=viewrecipe&recipeid=" . $row->id;
            if (preg_match('#(' . $keywords . ')#i', $row->recipename . $row->ingredients. $row->directions. $row->nutrition.$row->serves))
                $row->submittime = time();
            $item[$i]['date'] = intval($row->submittime);
        }
    }
}

Ggf: select * from ".$prefix."recipes_recipes je nachdem wie Deine Tabelle heißt

Suche:
storiescat();
stories();
content();
contentcat();
downloads();
links();
simple('Forum');

Darunter einfügen:
rezepte();


Lexikon
Hier muß noch eine Spalte für das Datum eingefügt werden, damit die Links entsprechend sorterit werden können.
Über phpMyAdmin (z.B.) die Tabelle _encyclopedia_text erweitern:
ALTER TABLE `pragmatw_encyclopedia_text` ADD `date` DATETIME DEFAULT 'CURRENT TIMESTAMP' NOT NULL ;
Die Funktion:
function ency()
{
    global $limit, $prefix, $i, $item, $keywords;
    if (!google_allowed("Encyclopedia"))
        return;
    $result = sql_query("select * from " . $prefix . "_encyclopedia_text ORDER BY date DESC limit " . $limit);
    if ($result) {
        while ($row = sql_fetch_object($result)) {
            $i++;
            $item[$i]['link'] = MX_HOME_URL . "/modules.php?name=Encyclopedia&op=content&tid=" . $row->tid;
            if (preg_match('#(' . $keywords . ')#i', $row->title . $row->text))
                $row->date = time();
            $item[$i]['date'] = intval($row->date);
        }
    }
}

entsprechend unter
rezepte();
anfügen:
ency();

Wie gesagt, alles ungetestet, deshalb ohne Gewähr.

Die Google Sitemap sollte, so ist es vorgesehen, bei google.de/sitemaps eingereicht werden.

mfg
Titel: Re: Rezeptdatenbank in sitemap?
Beitrag von: trulla am 28 August 2008, 19:38:16
 :)
Hallo, für die Rezeptdatenbank hat alles wunderbar geklappt. :thumbup:


ecyclopädie:
Beim Erstellen einer Tabelle habe ich natürlich das prefix an meine Datenbank angepasst. Leider bekomme ich die Meldung:

#1067 - Invalid default value for 'date'

Titel: Re: Rezeptdatenbank in sitemap?
Beitrag von: Webfan am 28 August 2008, 20:53:43
Hallo,
versuche mal
ALTER TABLE `{prefix}encyclopedia_text` ADD `date` TIMESTAMP DEFAULT 'CURRENT TIMESTAMP' NOT NULL ;
Datetime ist natürlich kein timestamp.
mfg

EDIT: Wenn zufällig ein Mod Zeit hat, kann die ALTER TABLE... Phrase im obigen Post bitte editiert werden (wg. prefix und der Korretkheit?)?  Danke!
mfg
Titel: Re: Rezeptdatenbank in sitemap?
Beitrag von: trulla am 28 August 2008, 21:11:56
Leider auch hier:
#1067 - Invalid default value for 'date'

:)
Titel: Re: Rezeptdatenbank in sitemap?
Beitrag von: Webfan am 28 August 2008, 21:24:27
ALTER TABLE `{prefix}_encyclopedia_text` ADD `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
:blaa: da muß natürlich ein UNterstrich _ zwischen, sorry.
mfg
Titel: Re: Rezeptdatenbank in sitemap?
Beitrag von: trulla am 28 August 2008, 21:55:56
 O0
Super, das hat geklappt. Ich hab auch schon bei google nachgeprüft.
Vor der Änderung konnte ich bei meinen beiden Webseiten 286 und 176 Seiten einreichen. Nun sind es 448 und 334
Danke und gute Nacht
Titel: Re: Rezeptdatenbank in sitemap?
Beitrag von: Webfan am 29 August 2008, 09:43:42
function ency()
{
    global $limit, $prefix, $i, $item, $keywords;
    if (!google_allowed("Encyclopedia"))
        return;
    $result = sql_query("select * from " . $prefix . "_encyclopedia_text ORDER BY tid DESC limit " . $limit);
    if ($result) {
        while ($row = sql_fetch_object($result)) {
            $i++;
            $item[$i]['link'] = MX_HOME_URL . "/modules.php?name=Encyclopedia&op=content&tid=" . $row->tid;
            if (preg_match('#(' . $keywords . ')#i', $row->title . $row->text))
                $date = time();
            $item[$i]['date'] = intval($date);
        }
    }
}

Nach der Erweuiterung um das Feld date funktionieren die Einfügen queries nicht mehr, so das das Modul teilweise umgeschrieben werden  muß.
Der obenstehende Code sortiert nach tid so daß auf das Feld date ggf. verzichtet werden kann.

mfg
Titel: Re: Rezeptdatenbank in sitemap?
Beitrag von: trulla am 29 August 2008, 12:05:09
 :)
Ok, so gehts auch. An der Anzahl der übermittelten Urls ändert sich auf diese Weise nichts.