Class "Pathview" - Wie bekomme ich eine andere URL definiert ?

Begonnen von breakdancer, 08 November 2007, 00:30:59

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

breakdancer

Hallo,

auf meiner Site läuft ja das mx-Rainbow. Im oberen Bereich integriert ist dabei die Anzeige des aktuellen Pfades, der sich je nach aufgerufenem Modul verändert.

z. B. Home > SMF-Board

Das Wort "Home" ist dabei verlinkt mit - klar - der Homepage, wer darauf klickt, kommt also zur Startseite zurück. Eingefügt wird das Ganze in der theme.html über

<div id="pathview">&nbsp;{CURRENTPATH}</div></td>   

Mein Problem ist nun, dass der Homelink allerdings nicht wie ich das möchte tatsächlich auf meine Home-URL zeigt (www.kirmes-und-volksfest.de) sondern auf hxxp://www.kirmes-und-volksfest.de/index.php - und damit nach mod_rewrite auf hxxp://www.kirmes-und-volksfest.de/home.html.

Wo kann ich denn den Link ändern, dass er tatsächlich auch auf die Base-URL zeigt und nicht auf die index.php bzw. home.html ?

Grund für diese Anfrage ist, dass Suchmaschinen die einzelne Seite und deren Inhalte ja derzeit unter zwei Adressen finden und mir daher die Gefahr des Duplicate Content zu groß ist...

Liebe Grüße

Markus


siggi

Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

*g* Ja nee, das ist ja soweit klar.

Ich finde nur die Stelle nicht, wo der Pfad definiert wird... In welcher Datei muss ich das denn ändern ?

Liebe Grüße

Markus

siggi

Ich denke, das wird in der mod_rewrite - datei definiert. da wird ja auch z.b. 'modules.php?name=foo' durch 'foo.html' ersetzt oder umgekehrt :)
Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

Hm,

glaube ich nicht... Die Umschreibung auf "home.html", ja die wird über das mod_rewrite gesteuert, das stimmt natürlich.

Aber irgendwo muss doch {CURRENTPATH} erstmal festgelegt werden und damit auch die index.php, die dann im zweiten Schritt beim Aufruf in die home.html umgeschrieben wird.

Verstehst Du, was ich meine ? Die Umschreibung wäre ja nicht möglich, wenn nicht irgendwo festgelegt würde, dass die index.php an dieser Stelle aufgerufen werden soll...

Grüßle

Markus

siggi

/**
* erstellt den Navigationspfad zum aktuellen Modul
*/
function mx_theme_currentpath($spacer = '&nbsp;>&nbsp;')
{
    global $prefix;
    $maxwordlen = 18;

    $link[] = '<a href="./" title="' . _HOME . '">' . _HOME . '</a>';
    // Module
    if (isset($_REQUEST['name']) && mxModuleAllowed(MX_MODULE)) {
        $result = sql_query("select custom_title from ${prefix}_modules WHERE title='" . mxAddSlashesForSQL(MX_MODULE) . "'");
        list($custom_title) = sql_fetch_row($result);
        $custom_title = str_replace("_", " ", ((empty($custom_title)) ? MX_MODULE : $custom_title));
        $short_title = mxCutString($custom_title, $maxwordlen, "..", "");
        $link[] = "<a href=\"modules.php?name=" . urlencode(MX_MODULE) . "\" title=\"" . $custom_title . "\">" . $short_title . "</a>";
    }
    // Administration
    else if (defined('mxAdminFileLoaded')) {
        $link[] = "<a href=\"admin.php\" title=\"" . _ADMINMENU . "\">" . _ADMINMENU . "</a>";
    }
    return implode($spacer, $link);
}


gesehen in der functions.php ab Zeile 355 :)

function theme_define_placeholders()
{
    global $sitename;
    // mxDebugFuncVars($GLOBALS['navimpath']);
    $part[] = array("{VIEWBENCH}", mxViewBench());
    $part[] = array("{FOOTMESSAGE}", footmsg(1, 0));
    $part[] = array("{CURRENTPATH}", mx_theme_currentpath());
   ...


gesehen in der functions.php ab Zeile 60 :)
Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

#6
Aaaah, prima ! Danke schön ! !

Da hatte ich die Datei nach "pathview" durchsucht und natürlich nichts gefunden.

Dann werde ich doch mal grad meine Datenbank konsultieren, was die dazu sagt... Da muss ja auch das Home-Modul hinterlegt sein...

Werd mal schauen, ob das einfach so "unfallfrei" zu ändern ist, sprich, ob sich da eine Änderung auf das System negativ auswirkt...

Ma guggen.

Grüße

Markus

breakdancer

Herrschaftzeiten,

das geht leider so auch nicht. In der DB bin ich nicht fündig geworden...

Ich vermute ja mal, dass in dieser Zeile hier:

[$link] = '<a href="./" title="' . _HOME . '">' . _HOME . '</a>';

die URL im Klartext hinterlegt werden kann ?

Fragende Grüße

Markus

siggi

Zitat von: breakdancer...ja die wird über das mod_rewrite gesteuert, das stimmt natürlich.

Zitat
# individuelle Rewrite-Regeln:
RewriteRule ^home\.htm(l?) index.php [L]

gefunden in der mod_rewrite.htaccess in root-verzeichnis von pragmaMx 0.1.9  ab Zeile 30 :)
Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

Ja, aber ich möchte ja nicht die Umschreibung aussetzen, das soll ruhig weiter so bleiben.

Ich möchte lediglich, dass beim Klick auf den Homelink (s. o.) anstatt die home.html (index.php) der Root der Seite aufgerufen wird.

Mehr will ich ja gar nicht...  :cry

siggi

Manno Markus  :puzzled:

Dann deaktiviere diese Rule doch einfach und setze wie ich oben schon geschrieben "./" anstatt "index.php".
Und schon hast du das, was du willst. :)
Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

Vergessen wir das Thema...

Es funktioniert nicht. Hab mich ja an Deine Anweisungen gehalten...

In der functions.php stand von Anfang an "./" anstelle "index.php" und wenn ich jetzt die spezielle rewrite-rule auskommentiere, findet er beim Klick auf "Home" die Seite nicht mehr und bringt eine Fehlermeldung...

Hab also leider nicht das, was ich wollte...

Aber ich will Dir da jetzt auch kein zu großes Theater drum machen... Dann geht das halt so einfach net...

Trotzdem danke schön und Grüße

Markus