Bug/Inkonsistenzen bezüglich Bildern [GXMAIN-3580]

Thema wurde von Avenger, 28. März 2014 erstellt.

  1. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    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;" /> &Ouml;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;" /> &Ouml;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;" />&nbsp;&nbsp;Bild l&ouml;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}&nbsp;{/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;" /> &Ouml;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;" /> &Ouml;ffnen</a><span style="clear: both; display: block;"> <!-- --> </span></div>
     
  2. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Guten Morgen,
    danke für den Hinweis. Wir haben den Bug ins Jira eingetragen...

    MfG,
    Timo
     
  3. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    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.
     
  4. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.544
    Danke erhalten:
    11.305
    Danke vergeben:
    1.612
    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.
     
  5. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Da hast Du eigentlich Recht....

    Habe den jetzt festgetackert....