Original AdvancedMod Rewrite 4.6.15

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Mo 6. Feb 2006, 00:13

Hab nur das hier finden können.

http://contenido.org/forum/viewtopic.ph ... tion+idart

Kann's ja nicht sein, oder?

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Mo 6. Feb 2006, 00:15

stese hat geschrieben:ich habe mein eigenes navigationsmodul dass mir die url statt mit der idcat mit der idart ausgibt - daher wird bei mir auch der artikelname in der navigation angezeigt. mvf hatte meines wissens die standard navigation dahingehend angepasst dass es auch den artikel übergibt. suche mal im forum.
Komm mfv gib uns schon den link :wink:
greets

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Mo 6. Feb 2006, 00:20

MyAccount hat geschrieben:Hab nur das hier finden können.

http://contenido.org/forum/viewtopic.ph ... tion+idart

Kann's ja nicht sein, oder?
nee der isses nicht
rezeptionist hat geschrieben:Komm mfv gib uns schon den link :wink:
musste auch erst mal gucken wie was wann wo :?
aber hier steht alles drin ;)

noch ein kleiner nachtag, ich habe nur rumgefuscht, den durchbruch gabs erst wieder nach steses eingriff, also bis zum ende lesen ;)
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Mo 6. Feb 2006, 10:58

Danke mvf,

ich erinnere mich an den Thread. Hab aber im Moment keinen Schimmer, warum dazu die idartlang gebraucht wird. Ich sehe aber, das es bei dem Standard-Hauptnavigations-Modul den Punkt idcatlang gibt.

Bevor ich das also teste, werde ich mir wohl oder über noch mal den SQL-Code und den Aufbau der DB-Tabellen ansehen. Ist einfach zu lange her.

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese » Mo 6. Feb 2006, 11:15

@myaccount
man muss verstehen was die verschiedenen variablen beinhalten:
idartlang = eindeutige artikel-id inkl. der sprachabhängigkeit
idcatlang = eindeutige kategorie-id inkl. der sprachabhängigkeit

wenn meine mod rewrite engine als parameter keine artikel abhängige id findet, erzeugt es eben nur eine kategorie abhängige url ohne artikel (woher soll er sie auch wissen). sobald also in der url als parameter eine artikelabhängige id erscheint, wird der artikelname mit in die url geschrieben, daher muss man die navigation dahingehend abändern, das er dir entweder die idart oder idartlang mit übergibt.

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Mo 6. Feb 2006, 15:18

stese hat geschrieben:wenn meine mod rewrite engine als parameter keine artikel abhängige id findet, erzeugt es eben nur eine kategorie abhängige url ohne artikel (woher soll er sie auch wissen). sobald also in der url als parameter eine artikelabhängige id erscheint, wird der artikelname mit in die url geschrieben, daher muss man die navigation dahingehend abändern, das er dir entweder die idart oder idartlang mit übergibt.
Kapiert. Und der Weg über die startidartlang ist unausweichlich, da man sonst nicht zuweisen kann, welcher der Artikel in einer Kategorie denn gemeint ist. Und dann wird daraus die idart, mit der Contendio wiederum was anfangen kann, nicht wahr?

Danke

Dann sind in den function nav() die C.startidartlang zu ergänzen und mit dieser dann über Deine Funktion die idart dem $navitems und $tpl zuzuweisen.

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese » Mo 6. Feb 2006, 15:52

theoretisch ja, lies dir mal bitte die letzten 2 seiten aus mvfs thread durch - das setzt genau dort an. und dort wird vor allem auch erklärt was welche änderung macht. und ganz wichtig: lies bitte den allerletzten post von mir dort durch - weil contenido bei deaktiviertem mod rewrite nichts mit der idartlang als parameter anfangen kann, meine modrewrite engine allerdings schon.

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Mo 6. Feb 2006, 23:33

Einfach super. Das ist ein echt tolles Modul. Ich hoffe, dass f4b das in Contenido einfließen lässt.

Vielen Dank

PS:Die Module umzuschreiben braucht allerdings eine Weile. :-)

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Di 7. Feb 2006, 07:32

Und da sind wir wieder. Hab nämlich versucht die idart auch in der Hilfsnavigation mit auszuwerfen. Dabei bin ich auf eine funktion gestoßen, die ich noch nicht kannte.

createNavigationArray() aus der Datei cms/includes/functions.navigation.php. Hast Du mit der mal gearbeitet? Macht das Sinn diese Klasse um die idart und um Deine Funktion getIdart() zu ergänzen? Die Datei macht auf mich zur Zeit einen enormen Eindruck.

Gruß MyAccount

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese » Di 7. Feb 2006, 08:32

prinzipiell mach das mod rewrite keine arbeit an den modulen, es sei denn du willst schönheitskorrekturen wie eben die artikelnamen auch in der navigation.

die datei functions.navigations.php beinhaltet jede menge navigationsfunktionen ... ich kenne die datei allerdings nicht, da ich meine eigene navigationsklasse benutze.

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Di 7. Feb 2006, 15:31

Ich hab die Klasse überarbeitet. Und auch Dein getIdart() eingebaut. Aber mir ist nochwas aufgefallen.

Bei mehr als einem Mandanten, macht der zweite Ärger mit dem pathresolver, wenn man modRewrite use_client auf 0 hat. Der erste Mandant funktiert allerdings immer, egal wie ich bei ihm aber auch beim zweiten Mandaten use_client einstelle. Mandant Nr 1 bleibt davon völlig unberührt.

Ohne use_client 1 auf dem zweiten Mandanten geht es nicht. Ist dieses Verhalten richtig? Wahrscheinlich gilt das dann auch für alle weiteren Mandanten, oder?!

Vielleicht habe ich aber auch nur etwas übersehen.

Gruß MyAccount

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese » Di 7. Feb 2006, 16:14

wenn mehrere clients genutzt werden ist es im regelfall so, dass eine domain direkt in ein mandanten verzeichnis pointet. bei mehreren mandanten verzeichnissen muss in jedes mandantenverzeichnis die .htaccess (die domain pointet ja eh drauf, also egal)

nur für den sonderfall dass mehrere mandanten im gleichen verzeichnis verwaltet werden müssen, gibt es diesen use_client schalter

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Di 7. Feb 2006, 16:43

hallo stese

vieleicht findest du kurz zeit um mal in diesen thread zu schauen
http://contenido.org/forum/viewtopic.php?p=70734

das modul picture resize hat probleme im IE mit mr beim anzeigen des popups, soll heissen die url in der statuszeile sieht gut aus, FF macht alles brav popup mit image, IE öffnet das popup zeigt danb aber kein image an

schalte ich mr aus funzt es auch im IE

würde mich freuen wenn du mir sagen könntest wo imkumerschen modul ich ansetzen müsste :?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Di 7. Feb 2006, 19:54

stese hat geschrieben:wenn mehrere clients genutzt werden ist es im regelfall so, dass eine domain direkt in ein mandanten verzeichnis pointet. bei mehreren mandanten verzeichnissen muss in jedes mandantenverzeichnis die .htaccess (die domain pointet ja eh drauf, also egal)

nur für den sonderfall dass mehrere mandanten im gleichen verzeichnis verwaltet werden müssen, gibt es diesen use_client schalter
Jein. Bei mir wenigstens nicht.

Mandant clientId 1 (Contenido Beispiel-Mandant)
cms.domain_1.tld

Mandant clientId 2
cms.domain_2.tld

Verzeichnis direkt unter /
cms
cms.domain_2.tld
conlib
contenido
pear

In der contenido/includes/config.php


Code: Alles auswählen

/* Advanced ModRewrite settings
 * ----------------------------
 *
 * global ModRewrite Settings.
 *
 * edit by stese - 051228 - ModRewrite
 */
 
/* Use advanced mod_rewrites  ( 1 = yes, 0 = none ) */ 
$cfg['mod_rewrite']['use'] = 0;

/* Path to the htaccessfile with trailling slash from domain-root! */
$cfg['mod_rewrite']['rootdir'] = '/';

/* Start TreeLocation from Root Tree (set to 1) or get location from first category (set to 0) */
$cfg['mod_rewrite']['startfromroot'] = 0;

/* is multilanguage? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_language'] = 0;

/* use language name in url? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_language_name'] = 0;

/* is multiclient in only one directory? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_client'] = 0;

/* use client name in url? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_client_name'] = 0;

/* use lowercase url? ( 1 = yes, 0 = none ) */
$cfg["mod_rewrite"]['use_lowercase_uri'] = 1;
Standard-stese-.htaccess beider Domains :-)

Code: Alles auswählen

#AddHandler php-cgi .php .php4

<IfModule mod_rewrite.c>
RewriteEngine on

# achtung bitte basisverzeichnis anpassen!
RewriteBase /

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&parts[]=$8&artname=$9 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&parts[]=$8 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&artname=$8 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&artname=$7 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&artname=$6 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&artname=$5 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/(.*).html$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&artname=$4 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/(.*).html$ front_content.php?parts[]=$1&parts[]=$2&artname=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/$ front_content.php?parts[]=$1&parts[]=$2 [QSA,L]
RewriteRule ^([^/]+)/(.*).html$ front_content.php?parts[]=$1&artname=$2 [QSA,L]
RewriteRule ^([^/]+)/$ front_content.php?parts[]=$1 [QSA,L]
RewriteRule ^(.*).html$ front_content.php?artname=$1 [QSA,L]
RewriteRule ^$ front_content.php [QSA,L]
</IfModule>
Webserver-Verzeichnis:
cms.domain_1.tld => kunde/blabla/schnickschnack/cms
cms.domain_2.tld => kunde/blabla/schnickschnack/cms.domain_2.tld

admin.domain_1.tld => kunde/blabla/schnickschnack/

Aufruf des Backends über admin.domain_1.tld/contenido/

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese » Di 7. Feb 2006, 19:58

wo liegt die .htaccess? wo weisen die domains direkt hin? in der cms/config.ph steht auch die variable load_client auf der korrekten client id dieses verzeichnisses?`(letzteres tippe ich mal ist nicht der fall)

Gesperrt