[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Quick Hack mod_rewrite Urls mit category pfad - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
vscope
Beiträge: 477
Registriert: 24. Aug 2004, 22:11
Wohnort: Austria/Vienna
Kontaktdaten: ICQ Website

Quick Hack mod_rewrite Urls mit category pfad

1. Feb 2005, 15:39

hallo habe heute für einen kunden eine kleinen hack in redaxo eingebnaut.

bis dato hat die mod_rewrite unterstützung urls so angegeben.

ID-Artikel Name.html

Mit meinem Hack macht sie Folgendes

ID-ROOTCAT-SUBCAT-ARTICLE NAME.html

Zusätzlich kann ma einfach ROOTCAT-SUBCAT-ARTICLE NAME
per Funktion getUrlByID($this->article_id,'-') eine schönen titelpfad für
die seite generieren.

Im Template
<title>Meine Seite <?=getURLbyID($this->article_id,'-')?></title>

Hierfür müsst ihr nur folgende funktion im files redaxo/include/functions/fucntion_rex_modrewrite.inc.php
austauschen.

Neue Funktion:


Code: Alles auswählen

function getURLbyID($ArticleID,$Nameonly = false){
        if(!$ArticleID) return '';
        if($GLOBALS[REX][MOD_REWRITE]){
                @include("redaxo/include/generated/articles/$ArticleID.article");
                $name = $REX[ART][$ArticleID][name];
                $path = $REX[ART][$ArticleID][path];
                $tmp = explode("-",$path);
                foreach($tmp as $var){
                    if($var != ""){
                        @include("redaxo/include/generated/categories/$var.category");
                        if($REX[CAT][$var][name]!=$name){
                            $linkpath .= $REX[CAT][$var][name]."/";
                        }
                    }
                }
                $name = $linkpath.$name;
                if($Nameonly){
                    return str_replace('/',$Nameonly,$name);
                }
                $url = $ArticleID."-".ModRewriteName($name);
        } else {
                $url = 'index.php?article_id='.$ArticleID;
        }
        return $url;
}
lg

vscope

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

3. Mai 2005, 14:57

Hej,

das ganze ist sehr nützlich. Aber wie kann man die "ID" entweder gar nicht anzeigen lassen bzw. an das Ende der URL hängen.

Oder aber wie bekommt eventuell gar so eine URL zu stande?

Code: Alles auswählen

http://www.domain.de/dresden-news.html
http://www.domain.de/dresden-grafik.html
http://www.domain.de/dresden-design.html

lg Thomas

Benutzeravatar
vscope
Beiträge: 477
Registriert: 24. Aug 2004, 22:11
Wohnort: Austria/Vienna
Kontaktdaten: ICQ Website

4. Mai 2005, 10:28

ja das wird es in 3.0 geben ;)
da denk ich grad drüber nach.
es wird ein url cache file geben im generated.
da steht für jede url ein pfad drinnen.

zusätzlich muss es eine check geben das net 2 artikel gleich heissen.
sonst weis das cms net welchen artikel man meint.

$REX_URL[12] = "produkte/cms/redaxo/";

dann kann man auch solche urls generieren
http://www.vscope.at/produkte/cms/redaxo/
und das ganze geht auch sehr schnell.

aber da muss ich noch ein bischen warten bis der jan mal so weit fertig ist.

Pascal86
Beiträge: 11
Registriert: 24. Aug 2004, 22:11

27. Mai 2005, 10:32

Hi,
Also wenn ich das so einbind wie du das sagst und im titel folgendes hinzufüg <?=getURLbyID($this->article_id,'-')?> kommt nur im header ein link mit index.php?article_id=xx

an was kann das liegen, oder hab ich vergessen ne variable anzugeben, ich möcht gern das dann oben der kategoriename steht, ich glaub so wars auch gemeint oder?

gruß Pascal

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

27. Mai 2005, 14:17

Hi,

hast du in der master.inc.php

REXREWRITE auf true gesetzt?

Gruß,
Markus

siehe auch:
http://wiki.redaxo.de/pmwiki.php/Main/T ... ModRewrite

Pascal86
Beiträge: 11
Registriert: 24. Aug 2004, 22:11

27. Mai 2005, 15:51

Hey cool danke für die schnelle antwort, manchmal sollte man doch die augen aufmachen beim lesen *g*

ciaoi Pascal

Zurück zu „Allgemeines [R2]“