Zur Vorgeschichte: Ich bin derzeit dabei, für einen Kunden, der jetzt eine Reihe zusätzlicher Shops betreiben will, ein Konzept zu erarbeiten, mit dem man mit nur einer Installation der Gambio-Shop-Software mehrere unabhängige Shops betreiben kann. Ziel dessen ist es natürlich die Update-Problematik zu entschärfen, und statt mehrerer Gambio-Installationen nur eine pflegen zu müssen (was schon schwer genug ist). Ein Shop im Gambio-Sinne wird ja bestimmt durch seine Datenbank, sein Template und seine Bilder. Durch eine geeignete Umschaltung dieser Parameter aufgrund der URL, mit der der Shop angesteuert wird, kann man dieses Ziel erreichen. Das funktioniert auch ganz prima, bis auf ein paar kleinere Probleme Ein Problem sind dabei jedoch die Bilder, die in diesem Konzept in einem shop-spezifischen Unterverzeichnis des "images"-Verzeichnisses liegen. Das Problem dabei ist, dass in der Gambio_Software leider nicht durchgängig die in Gambio definierten Konstanten für die Bilderverzeichnisse verwendet werden, um die Bilder anzusprechen, sondern an einigen (wenigen) Stellen statt dieser Konstanten direkt das "images...."-Verzeichnis angesprochen wird. Eine Analyse hat folgende Stellen aufgezeigt, in denen diese Konsistenz der Identifizierung von Bildern über die in Gambio definierten Konstanten für die Bilderverzeichnisse verletzt wird: PHP: gm/gm_product_export/shops.php(377): fwrite($this->_items_fp, " <url size=/"m/"><![CDATA[".HTTP_CATALOG_SERVER.DIR_WS_CATALOG.'images/product_images/info_images/'.$pdata['products_image']."]]></url>/n");gm/modules/gm_product_attributes.php(77): if(!empty($products_options['gm_filename'])) $gm_attribute_image = 'images/product_images/attribute_images/' . $products_options['gm_filename'];admin/gm/gm_product_export/shops.php(378): fwrite($this->_items_fp, " <url size=/"l/"><![CDATA[".HTTP_CATALOG_SERVER.DIR_WS_CATALOG.'images/product_images/popup_images/'.$pdata['products_image']."]]></url>/n");admin/templates/PropertiesCombisDelete.html(30): <div><span style="float: left; margin: 0 10px 0 0;">Bild:</span> <a href="../images/product_images/properties_combis_images/{$content_data.properties_combis_data.combi_image}" style="font-size: 12px; display: block; width: 80px; float: left;" target="blank"><img src="images/icons/icon_jpg.jpg" style="width: 11px; border: 0;" /> Öffnen</a><span style="clear: both; display: block;"> <!-- --> </span></div>admin/templates/PropertiesCombisEdit.html(78): <a href="../images/product_images/properties_combis_images/{$content_data.properties_combis_data.combi_image}" style="font-size: 12px; display: block; width: 80px; float: left; margin: 5px 0 0 120px;" target="blank"><img src="images/icons/icon_jpg.jpg" style="width: 11px; border: 0;" /> Öffnen</a><span style="display: block; float: left; margin: 5px 0 0 10px;"><input type="checkbox" name="delete_image" id="delete_image" value="{$content_data.properties_combis_data.combi_image}" style="float: left; width: 16px; height: 16px;" /> Bild löschen</span>admin/templates/properties/combis_table.html(26): <td class="properties_table_image">{if $content_data.combi_image != ""}<a href="../images/product_images/properties_combis_images/{$content_data.combi_image}" target="blank"><img src="images/icons/icon_jpg.jpg" style="border: 0;" /></a>{else} {/if}</td>system/views/product_info/ProductAttributesContentView.inc.php(90): if(!empty($products_options['gm_filename'])) $gm_attribute_image = 'images/product_images/attribute_images/' . $products_options['gm_filename'];templates/MobileCandy/javascript/attributes_dropdown_mode.js.php(143): var t_image = $("<img></img>").attr("src", "images/product_images/properties_combis_images/"+t_combi_image); In der Master Preview Beta sind dazu gekommen: PHP: gm/javascript/GMProductImages.js(88): $('#active_image').find('img').attr('src', 'images/product_images/popup_images/' + active_img_name);system/views/product_info/ProductAttributesContentView.inc.php(194): $t_attribute_option_image = 'images/product_images/attribute_images/' . $p_row['gm_filename'];system/views/properties/PropertiesView.inc.php(304): $t_image = '<img src="images/product_images/properties_combis_images/' . $t_selected_combi['combi_image'] . '" alt="" />'; Meine Bitte an Gambio ist daher, diese Konsistenz wiederherzustellen, es gibt keinen sinnvollen Grund, das nicht zu tun. Mit meinem eigenen USERMOD-Konzept kann ich das zwar auch updatesicher lösen, bedeutet aber wieder zusätzlichen Bedarf bei Updates Module auf Änderungen zu überprüfen. Außerdem meine ich, dass man die im Prinzip vorhandene Konsistenz auch durchgängig pflegen sollte. Das ist ja auch alles sehr einfach: der erste Eintrag der obigen Liste PHP: gm/gm_product_export/shops.php(377): fwrite($this->_items_fp, " <url size=/"m/"><![CDATA[".HTTP_CATALOG_SERVER.DIR_WS_CATALOG.'images/product_images/info_images/'.$pdata['products_image']."]]></url>/n") müsste dann wie folgt aussehen: PHP: gm/gm_product_export/shops.php(377): fwrite($this->_items_fp, " <url size=/"m/"><![CDATA[".HTTP_CATALOG_SERVER.DIR_WS_CATALOG_INFO_IMAGES.$pdata['products_image']."]]></url>/n") Und in einer Templae-Datei: Statt PHP: admin/templates/PropertiesCombisDelete.html(30): <div><span style="float: left; margin: 0 10px 0 0;">Bild:</span> <a href="../images/product_images/properties_combis_images/{$content_data.properties_combis_data.combi_image}" style="font-size: 12px; display: block; width: 80px; float: left;" target="blank"><img src="images/icons/icon_jpg.jpg" style="width: 11px; border: 0;" /> Öffnen</a><span style="clear: both; display: block;"> <!-- --> </span></div> verwendet man PHP: admin/templates/PropertiesCombisDelete.html(30): <div><span style="float: left; margin: 0 10px 0 0;">Bild:</span> <a href="../{$smarty.const.DIR_WS_IMAGES}properties_combis_images/{$content_data.properties_combis_data.combi_image}" style="font-size: 12px; display: block; width: 80px; float: left;" target="blank"><img src="images/icons/icon_jpg.jpg" style="width: 11px; border: 0;" /> Öffnen</a><span style="clear: both; display: block;"> <!-- --> </span></div>
Das Konzept ist jetzt realisiert... Die Shops http://www.led4car.de/ http://www.led4house.de/ http://www.seitronic-wheels.de/ (Noch im Aufbau und nicht zugänglich.) werden mit nur einer(!) Installation der Gambio-Shop-Software betrieben.... Im Grunde kann man mit dem Konzept beliebig viele Shops so betreiben. Das ist kein Multishop-Konzept, sondern der Betrieb unabhängiger Shops. Für die Software-Pflege ist das natürlich ein Segen, nur noch eine Installation zu haben.
Coole Lösung! Es ist der Hammer, was Du so aus dem Gambio bauen kannst Mich irritiert allerdings der mit-scrollende Hintergrund. Das flimmert in den Augen.