Seite 6 von 53

Verfasst: Mo 6. Feb 2006, 00:13
von MyAccount
Hab nur das hier finden können.

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

Kann's ja nicht sein, oder?

Verfasst: Mo 6. Feb 2006, 00:15
von rezeptionist
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:

Verfasst: Mo 6. Feb 2006, 00:20
von mvf
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 ;)

Verfasst: Mo 6. Feb 2006, 10:58
von MyAccount
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.

Verfasst: Mo 6. Feb 2006, 11:15
von stese
@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.

Verfasst: Mo 6. Feb 2006, 15:18
von MyAccount
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.

Verfasst: Mo 6. Feb 2006, 15:52
von stese
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.

Verfasst: Mo 6. Feb 2006, 23:33
von MyAccount
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. :-)

Verfasst: Di 7. Feb 2006, 07:32
von MyAccount
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

Verfasst: Di 7. Feb 2006, 08:32
von stese
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.

Verfasst: Di 7. Feb 2006, 15:31
von MyAccount
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

Verfasst: Di 7. Feb 2006, 16:14
von stese
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

Verfasst: Di 7. Feb 2006, 16:43
von mvf
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 :?

Verfasst: Di 7. Feb 2006, 19:54
von MyAccount
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/

Verfasst: Di 7. Feb 2006, 19:58
von stese
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)