pragmaMx Support Forum pragmaMx Support Forum

Encyclopedia und mod_rewrite

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline trulla

  • *****
  • 527
  • +1/-14
  • Geschlecht: Weiblich
Encyclopedia und mod_rewrite
« am: 03 Januar 2010, 16:22:43 »
 :) Hallo, verspätet wünsche ich allen ein frohes Neues Jahr

Ein Großteil meiner Webseite nutzt die Encyclopedia . Leider schaffe ich es nicht, per mod- rewrite die Links so anzupassen, dass der Titel mit im Browser steht.

Beispiel:
http://www.pewro.de/baerenwelt/Encyclopedia-op-content-tid-10.html

sollte heissen
http://www.pewro.de/baerenwelt/Encyclopedia-op-content-tid-Eisbaer-10.html oder ähnlich

Ist hier jemand, der mehr Ahnung hat, als ich?


Webfan

Re: Encyclopedia und mod_rewrite
« Antwort #1 am: 04 Januar 2010, 16:14:58 »
Ungetestet, deshalb Sicherungskopie!!!
Suche in .htaccess
# individuelle Rewrite-Regeln:Darüber anfügen:
## Neuzugefügte rewrite rules (Encyclopedia)
RewriteRule ^(Encyclopedia)-Term-(.*)-([0-9]+)\.html$ modules.php?name=$1&op=content&tid=$3 [L]

Suche in includes/mx_modrewrite.php
        if ($replaces) {
            if ($customfile) {
                @include($customfile);
            }
            $content = str_replace(array_keys($replaces), array_values($replaces), $content);
Darunter anfügen (wenn es nicht durch die anderen Module schon da steht!):
// Umlaute
$umlaute = array("ä", "ü", "ö", "Ä", "Ü", "Ö", "ß");
$ersetzung = array("ae", "ue", "oe", "Ae", "Ue", "Oe", "ss");
  global $prefix;
Darunter ferner anfügen:
             //Encyclopedia
preg_match_all('#Encyclopedia-op-content-tid-(\d*)#', $content, $enc, PREG_SET_ORDER);
foreach ($enc as $enc1){

$enc2[0] = preg_replace('#Encyclopedia-op-content-tid-#', '', $enc1[0]);
$abfrage = "SELECT tid, title FROM " . $prefix . "_encyclopedia_text WHERE tid = '$enc2[0]'";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_array($ergebnis))
    {

$titel_enc_rewrite = $row["title"];
$titel_enc_rewrite = str_replace($umlaute, $ersetzung, $titel_enc_rewrite);
$titel_enc_rewrite = preg_replace('#\W#', "-", $titel_enc_rewrite);
$titel_enc_rewrite = preg_replace('#---#', "-", $titel_enc_rewrite);
$titel_enc_rewrite = preg_replace('#--#', "-", $titel_enc_rewrite);

$titel_enc_fert = "Encyclopedia-Term-";

$titel_enc_fert.= $titel_enc_rewrite."-";
$titel_enc_fert .= $enc2[0];
$replace = "#".$enc1[0]."(?!\d)#";
$content = preg_replace($replace, $titel_enc_fert, $content);
}

}



Offline trulla

  • *****
  • 527
  • +1/-14
  • Geschlecht: Weiblich
Re: Encyclopedia und mod_rewrite
« Antwort #2 am: 04 Januar 2010, 16:44:27 »
 :thumbup:
Danke, ich bin beeindruckt, wie schnell du das hinbekommen hast. Funktioniert wunderbar..

Break_Dancer

Re: Encyclopedia und mod_rewrite
« Antwort #3 am: 26 April 2010, 14:39:57 »
Kurze Nachfrage zu diesem Thema:

Ist es eigentlich vorgesehen, die von den Usern in den vergangenen Monaten erarbeiteten Umschreibungen (auch Weblinks etc....) in den PMX-Stamm zu übernehmen ?

Problem derzeit ist halt, dass nach einem Update jedesmal wieder die zwei Dateien .htaccess und die mx_modrewrite.php anzupassen sind.

Grüße

Markus

Offline Krolok

  • *
  • 5
  • +0/-0
  • Geschlecht: Männlich
Re: Encyclopedia und mod_rewrite
« Antwort #4 am: 14 Mai 2010, 15:14:21 »
Sauber, funktioniert bestens, VIELEN VIELEN DANK!!!!   :thumbup:  :thumbup:  :thumbup:

... wäre es noch machbar, dass "Encyclopedia-Term-" auch noch verschwindet und nur noch z.B: "Eisbaer.html" dort steht?


Gruß
[Krolok]
« Letzte Änderung: 14 Mai 2010, 15:20:46 von Krolok »
Gruß
Krolok


Die Zähne gewetzt und Ihnen nach...!  (...)

Offline Krolok

  • *
  • 5
  • +0/-0
  • Geschlecht: Männlich
Re: Encyclopedia und mod_rewrite
« Antwort #5 am: 20 Mai 2010, 18:13:46 »
hab heute bemerkt, dass die Suche innerhalb der Ency und dem generierten Zusatz "query-SUCHBEGRIFF" die Ganze Funktion zu Nichte macht ... habs erstmal wieder rausgenommen... hat jmd. ne Lösung dafür ?

Danke!
Gruß
Krolok


Die Zähne gewetzt und Ihnen nach...!  (...)