pragmaMx Support Forum

pragmaMx => Zusatzmodule => Thema gestartet von: lemming am 20 Dezember 2007, 01:22:24

Titel: Rezeptdatenbank & mod_rewrite
Beitrag von: lemming am 20 Dezember 2007, 01:22:24
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!
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: Fummelhase am 20 Dezember 2007, 15:24:40
nein ... und glaube nicht das etwas kommt
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: Webfan am 20 Dezember 2007, 20:44:31
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
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: m-t am 20 Dezember 2007, 20:52:04
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 ?
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: Webfan am 20 Dezember 2007, 21:18:08
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
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: m-t am 20 Dezember 2007, 21:30:06
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
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: lemming am 21 Dezember 2007, 14:32:02
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!!
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: m-t am 21 Dezember 2007, 15:57:35
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 :-(
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: breakdancer am 21 Dezember 2007, 17:53:08
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:
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: Temhar am 21 Dezember 2007, 19:35:08
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
Titel: Re: Rezeptdatenbank & mod_rewrite
Beitrag von: m-t am 21 Dezember 2007, 19:40:01
prefix...