Hallo 
folgende Feststellung:
Enterprise Edition 5.0.6
mit 1 Hauptshop + 2 Subshops die vom Elternshop die Einstellungen erben (1 Häkchen beim Anlegen eines Subshops gewählt)
Modul installiert welches eine PHP Klasse überlädt, dieses Modul nur in einem Subshop aktiviert.
Die Modul Funktionalität greift nicht…
Erst wenn ich das Modul zusätzlich im Hauptshop aktiviere, dann greift die Überladung.
Weiß jemand zufällig die Ursache woran dies liegen könnte? Oder wie ich herausfinde warum dies so ist?
Viele Grüße
indianer3c
Finde die ShopID Setzung kurios… Wenn man in den Einstellungen unter “Mall” nicht “http” am Anfang stehen hat, dann wird beim ersten instantiieren der ShopID eine zufällige ShopID genommen… Ansonsten immer die ShopID = 1
Hi indianer3c,
das klingt tatsächlich kurios. Wie kann man das genau reproduzieren? Geht es nur um den Wert von oxshopid für aModules in oxconfig? Oder bezieht sich das auch auf andere Konfigurationswerte? Kannst du evtl. sogar eine Stelle im Code benennen, wo eine “zufällige ShopID genommen” wird?
Hallo Martin 
meine Shop-Version lautet: OXID EE 5.0.8
Benutze ich innerhalb meines Moduls die OXID Methode getShopConfVar() in der /core/oxconfig.php und ich habe im Admin unter -> Stammdaten -> Grundeinstellungen -> Mall-Tab bei Shop-URL die URL ohne “http” eingetragen wird die Abfrage
...
$sQ = "select oxvartype, ".$this->getDecodeValueQuery()." as oxvarvalue from oxconfig where oxshopid = '{$sShopId}' and oxmodule = '{$sModule}' and oxvarname = ".$oDb->quote($sVarName);
$oRs = $oDb->select( $sQ );
...
getShopConfVar() in der /core/oxconfig.php
nicht ausgeführt, weil die Abfrage getConfigParam() mit dem Parameter “sMallShopURL” über init() und getShopId() mir den Session Wert zurückliefert.
...
if ( $sUrl && $this->isCurrentUrl( $sUrl ) ) {
$this->_iShopId = $sId;
break;
}
...
getShopId() in der /core/oxconfig.php
Grund ist dafür die Methode isCurrentUrl, weil diese ein false zurückliefert.
Hmm, ich kann dir leider immer noch nicht folgen. Falls du es für einen Bug hältst, kannst du es ja im Bugtracker eintragen.
Ich kann mir aber ehrlich gesagt den konkreten Anwendungsfall gerade nicht vorstellen. Außerdem: Warum sollte man eine URL ohne http:// angeben? Dann wäre es doch keine URL mehr!