Rezeptdatenbank & mod_rewrite

Begonnen von lemming, 20 Dezember 2007, 01:22:24

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

lemming

Hi leute,
bevor ich mich selbst dran versuche & da die forumssuche nichts ausgespuckt hat, wollte ich mal fragen ob hier jemand schon was gemacht hat?

in etwa in diese richtung:
http://www.url.de/modulname-rezeptname.html

viele dank im vorraus!
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

Fummelhase

nein ... und glaube nicht das etwas kommt

Webfan

Hallo,
Suche in .htaccess:
RewriteBase /www

Darunter anfügen:

RewriteRule ^(Rezeptdatenbank)-(.*)-([0-9]+)\.html$ modules.php?name=$1&action=viewrecipe&recipeid=$3 [L]


Suche in includes/mx_modrewrite.php:
if (isset($old)) {
$content = str_replace($old, $new, $content);


Darunter anfügen:
preg_match_all('#Rezeptdatenbank-action-viewrecipe-recipeid-(\d*)#', $content, $rezepte, PREG_SET_ORDER);
foreach ($rezepte as $rezepte1){

$rezepte2[0] = preg_replace('#Rezeptdatenbank-action-viewrecipe-recipeid-#', '', $rezepte1[0]);
$abfrage = "SELECT id, recipename FROM recipes_recipes WHERE id = '$rezepte2[0]'";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_array($ergebnis))
    {
               
$titel_rezepte_rewrite = $row["recipename"];
$titel_rezepte_rewrite = str_replace($umlaute, $ersetzung, $titel_rezepte_rewrite);
$titel_rezepte_rewrite = preg_replace('#\W#', "-", $titel_rezepte_rewrite);
$titel_rezepte_rewrite = preg_replace('#---#', "-", $titel_rezepte_rewrite);
$titel_rezepte_rewrite = preg_replace('#--#', "-", $titel_rezepte_rewrite);
$titel_rezepte_fert = "Rezeptdatenbank-";
$titel_rezepte_fert.= "$titel_rezepte_rewrite-";
$titel_rezepte_fert.= $rezepte2[0];
$replace = "#".$rezepte1[0]."(?!\d)#";
$content = preg_replace($replace, $titel_rezepte_fert, $content);
}

}



(Hier auf den richtigen Tabellennamen achten! recipes_recipes )

Der Ruhm gebührt m-t und seiner mod_rewrite Erweiterung.
Das Prinzip läßt sich einfach auch auf andere Module übertragen!


mfg

m-t

#3
Zitat von: Webfan am 20 Dezember 2007, 20:44:31
Das Prinzip läßt sich einfach auch auf andere Module übertragen!

na wenn du grad dran bist... die coppermine gallery fehlt noch :-)

edit:

ZitatSELECT id, recipename FROM recipes_recipes

ich hab die rezeptdatenbank nicht aber fehlt da nicht der prefix ?

Webfan

Zitatich hab die rezeptdatenbank nicht aber fehlt da nicht der prefix ?
Ich weiß nicht, hab das Modul nur local installiert, und da ist kein Präfix, ansonsten muß die Zeile halt heißen:
$abfrage = "SELECT id, recipename FROM  " . $prefix . "_recipes WHERE id = '$rezepte2[0]'";
oder so...

Zitatna wenn du grad dran bist... die coppermine gallery fehlt noch :-)
Um die Coppermine mach ich einen großen Bogen :-) (Und alles was mit Grafik und Bildern und so zu tun hat...  :heu: )
Aber FAQ, Kleinanzeigen, Previews und Content kann ich noch liefern:

.htaccess:

RewriteRule ^(Kleinanzeigen)-cid-(.*)-([0-9]+)\.html$ modules.php?name=$1&a_op=viewadd&cid=$3 [L]
RewriteRule ^(Kleinanzeigen)-lid-(.*)-([0-9]+)\.html$ modules.php?name=$1&a_op=visit&lid=$3 [L]
RewriteRule ^(Content)-cid-(.*)-([0-9]+)\.html$ modules.php?name=$1&cid=$3 [L]
RewriteRule ^(Content)-pid-(.*)-([0-9]+)\.html$ modules.php?name=$1&pid=$3 [L]
RewriteRule ^(Reviews)-Produkt-(.*)-([0-9]+)\.html$ modules.php?name=$1&rop=showcontent&id=$3 [L]
RewriteRule ^(FAQ)-Helpfile-(.*)-([0-9]+)\.html$ modules.php?name=$1&myfaq=yes&id_cat=$3 [L]


mx_modrewrite.php:

//FAQS Categorie (CID)
preg_match_all('#FAQ-myfaq-yes-id_cat-(\d*)#', $content, $faq, PREG_SET_ORDER);
foreach ($faq as $faq1){

$faq2[0] = preg_replace('#FAQ-myfaq-yes-id_cat-#', '', $faq1[0]);
$abfrage = "SELECT id_cat, categories FROM " . $prefix . "_faqcategories WHERE id_cat = '$faq2[0]'";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_array($ergebnis))
    {

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

$titel_faq_fert = "FAQ-Helpfile-";

$titel_faq_fert.= $titel_faq_rewrite."-";
$titel_faq_fert .= $faq2[0];
$replace = "#".$faq1[0]."(?!\d)#";
$content = preg_replace($replace, $titel_faq_fert, $content);
}

}
########################

##################################

//Kleinanzeigen Kategorien
preg_match_all('#Kleinanzeigen-a_op-viewadd-cid-(\d*)#', $content, $adds, PREG_SET_ORDER);
foreach ($adds as $adds1){

$adds2[0] = preg_replace('#Kleinanzeigen-a_op-viewadd-cid-#', '', $adds1[0]);
$abfrage = "SELECT title, cid FROM " . $prefix . "_add_categories WHERE cid = '$adds2[0]'";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_array($ergebnis))
    {

$titel_adds_rewrite = $row["title"];
$titel_adds_rewrite = str_replace($umlaute, $ersetzung, $titel_adds_rewrite);
$titel_adds_rewrite = preg_replace('#\W#', "-", $titel_adds_rewrite);
$titel_adds_rewrite = preg_replace('#---#', "-", $titel_adds_rewrite);
$titel_adds_rewrite = preg_replace('#--#', "-", $titel_adds_rewrite);
$titel_adds_fert = "Kleinanzeigen-cid-";
$titel_adds_fert.= "$titel_adds_rewrite-";
$titel_adds_fert.= $adds2[0];
$replace = "#".$adds1[0]."(?!\d)#";
$content = preg_replace($replace, $titel_adds_fert, $content);
}

}

//Kleinanzeigen Details
preg_match_all('#Kleinanzeigen-a_op-visit-lid-(\d*)#', $content, $adds, PREG_SET_ORDER);
foreach ($adds as $adds1){

$adds2[0] = preg_replace('#Kleinanzeigen-a_op-visit-lid-#', '', $adds1[0]);
$abfrage = "SELECT title, lid FROM " . $prefix . "_add_adds WHERE lid = '$adds2[0]'";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_array($ergebnis))
    {

$titel_adds_rewrite = $row["title"];
$titel_adds_rewrite = str_replace($umlaute, $ersetzung, $titel_adds_rewrite);
$titel_adds_rewrite = preg_replace('#\W#', "-", $titel_adds_rewrite);
$titel_adds_rewrite = preg_replace('#---#', "-", $titel_adds_rewrite);
$titel_adds_rewrite = preg_replace('#--#', "-", $titel_adds_rewrite);
$titel_adds_fert = "Kleinanzeigen-lid-";
$titel_adds_fert.= "$titel_adds_rewrite-";
$titel_adds_fert.= $adds2[0];
$replace = "#".$adds1[0]."(?!\d)#";
$content = preg_replace($replace, $titel_adds_fert, $content);
}

}
###########################################
// Content Categorie
preg_match_all('#Content-cid-(\d*)#', $content, $content_, PREG_SET_ORDER);
foreach ($content_ as $content_1){

$content_2[0] = preg_replace('#Content-cid-#', '', $content_1[0]);
$abfrage = "SELECT title, cid FROM " . $prefix . "_pages_categories WHERE cid = '$content_2[0]'";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_array($ergebnis))
    {

$titel_content__rewrite = $row["title"];
$titel_content__rewrite = str_replace($umlaute, $ersetzung, $titel_content__rewrite);
$titel_content__rewrite = preg_replace('#\W#', "-", $titel_content__rewrite);
$titel_content__rewrite = preg_replace('#---#', "-", $titel_content__rewrite);
$titel_content__rewrite = preg_replace('#--#', "-", $titel_content__rewrite);
$titel_content__fert = "Content-cid-";
$titel_content__fert.= "$titel_content__rewrite-";
$titel_content__fert.= $content_2[0];
$replace = "#".$content_1[0]."(?!\d)#";
$content = preg_replace($replace, $titel_content__fert, $content);
}

}


//Content Details  Page
preg_match_all('#Content-pid-(\d*)#', $content, $content_, PREG_SET_ORDER);
foreach ($content_ as $content_1){

$content_2[0] = preg_replace('#Content-pid-#', '', $content_1[0]);
$abfrage = "SELECT title, pid FROM " . $prefix . "_pages WHERE pid = '$content_2[0]'";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_array($ergebnis))
    {

$titel_content__rewrite = $row["title"];
$titel_content__rewrite = str_replace($umlaute, $ersetzung, $titel_content__rewrite);
$titel_content__rewrite = preg_replace('#\W#', "-", $titel_content__rewrite);
$titel_content__rewrite = preg_replace('#---#', "-", $titel_content__rewrite);
$titel_content__rewrite = preg_replace('#--#', "-", $titel_content__rewrite);
$titel_content__fert = "Content-pid-";
$titel_content__fert.= "$titel_content__rewrite-";
$titel_content__fert.= $content_2[0];
$replace = "#".$content_1[0]."(?!\d)#";
$content = preg_replace($replace, $titel_content__fert, $content);
}

}


###########################################################################

//Preview Details  Page
preg_match_all('#Reviews-rop-showcontent-id-(\d*)#', $content, $reviews, PREG_SET_ORDER);
foreach ($reviews as $reviews1){

$reviews2[0] = preg_replace('#Reviews-rop-showcontent-id-#', '', $reviews1[0]);
$abfrage = "SELECT title, id FROM " . $prefix . "_reviews WHERE id = '$reviews2[0]'";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_array($ergebnis))
    {

$titel_reviews_rewrite = $row["title"];
$titel_reviews_rewrite = str_replace($umlaute, $ersetzung, $titel_reviews_rewrite);
$titel_reviews_rewrite = preg_replace('#\W#', "-", $titel_reviews_rewrite);
$titel_reviews_rewrite = preg_replace('#---#', "-", $titel_reviews_rewrite);
$titel_reviews_rewrite = preg_replace('#--#', "-", $titel_reviews_rewrite);
$titel_reviews_fert = "Reviews-Produkt-";
$titel_reviews_fert.= "$titel_reviews_rewrite-";
$titel_reviews_fert.= $reviews2[0];
$replace = "#".$reviews1[0]."(?!\d)#";
$content = preg_replace($replace, $titel_reviews_fert, $content);
}

}


###########################################################################


Reviews und Faq ist nur für Detailansicht dabei...

mfg

m-t

Zitat von: Webfan am 20 Dezember 2007, 21:18:08
Aber FAQ, Kleinanzeigen, Previews und Content kann ich noch liefern:

super, so solls sein  :thumbup:

ich probier das die nächsten tage mal auf ner anderen domain, die module nutze ich normal nicht

lemming

ha genial! hat sichs doch gelohnt dass ich gefragt hab!!

@Webfan & m-t: vielen vielen dank das mit der rezeptdatenbank funktioniert bei mir einwandfrei!!

wenn hier grad schon so spezialisten versammelt sind, ich glaub mit nem ordentlichen mod_rewrite für den kalender wären hier sehr viele dankbar!!
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

m-t

#7
mx_modrewrite.php

Zitat// Kalender Event
preg_match_all('#Kalender-op-view-eid-(\d*)#', $content, $event, PREG_SET_ORDER);
         foreach ($event as $event1){

         $event2[0] = preg_replace('#Kalender-op-view-eid-#', '', $event1[0]);
         $abfrage = "SELECT title, eid FROM mx_events WHERE eid = '$event2[0]'";
              $ergebnis = mysql_query($abfrage);
                 while($row = mysql_fetch_array($ergebnis))
                {

                  $titel_event_rewrite = $row["title"];
                  $titel_event_rewrite = str_replace($umlaute, $ersetzung, $titel_event_rewrite);
                  $titel_event_rewrite = preg_replace('#\W#', "-", $titel_event_rewrite);
                  $titel_event_rewrite = preg_replace('#---#', "-", $titel_event_rewrite);
                  $titel_event_rewrite = preg_replace('#--#', "-", $titel_event_rewrite);
                  $titel_event_fert = "Kalender-event-";
                  $titel_event_fert.= "$titel_event_rewrite-";
                  $titel_event_fert.= $event2[0];
                  $replace = "#".$event1[0]."(?!\d)#";
                  $content = preg_replace($replace, $titel_event_fert, $content);
                           }

               }

.htaccess

Zitat##Rules für Kalender
RewriteRule ^(Kalender)-event-(.*)-([0-9]+)\.html$ modules.php?name=$1&op=view&eid=$3 [L]

Vorsicht: prefix ändern!

Abfrage mit:

Zitat$abfrage = "SELECT title, eid FROM " . $prefix . "_events WHERE eid = '$event2[0]'";

läuft bei mir nicht...

und bevor die frage kommt was mit den kategorien ist...

die sind nicht in der datenbank, da wüsst ich grad nicht wie machen :-(

breakdancer

Du schüttelst das da so locker ausm Ärmel, wo ich nur hilflos davor sitzen würde...

Von meiner Seite schonmal ein herzliches danke schön für die Mühe !

:BD:

Temhar

Hallo Mädels :)

Danke euch beiden freunde. Das ist genau was für mich.
Aber, leider klappt es bei mir noch nicht.
Ich habe alles eingefügt was ihr hier gepostet habt, jedoch sehe ich keine Änderungen in den jeweiligen Modules.

MfG