Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: {$data.image} aufgeschlüsselt

    agepilar

    • Neu im Forum
    • Beiträge: 16
    • Geschlecht:
    {$data.image} aufgeschlüsselt
    am: 28. Dezember 2012, 02:38:25
    Moinsen,

    ich grübel schon seit einer gefühlten Ewigkeit, wo man definiert, was in der {$data.image} in der "checkout_confirmation.html" für die Anzeige des Produktbildes steht. Ich möchte gerne dieser eine andere Klasse zuweisen. Standartmäßig ist dort die Klasse "image" zugewiesen.

    Ausgabe html:
    Code: PHP  [Auswählen]
    <a class="thickbox" href="https://ssl-account.com/graffitishopkiel.de/graffitishop/print_product_info.php?pID=2&KeepThis=true&TB_iframe=true&height=450&width=750&MODsid=162deb87df6031f92899353d72ce2844" target="_blank"><img class="image" src="images/product_images/thumbnail_images/2_0.jpeg" alt=""></img>

    Weiß da jemand weiter?

    Schönen Gruß
    Ralph


    Linkback: https://www.modified-shop.org/forum/index.php?topic=23889.0

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    Re: {$data.image} aufgeschlüsselt
    Antwort #1 am: 28. Dezember 2012, 14:15:00
    Hallo agepilar.
    Ich denke hier, insofern es sich um 1.06 Beta 4 handelt:
    /inculdes/classes/order.php in der Funktion "cart()".

    Es wäre schön wenn Ihr euch mal alle angewöhnt eure Version bei Fragen dazuzuschreiben.
    Das macht hier fast niemand.

    Gruß,
    noRiddle

    agepilar

    • Neu im Forum
    • Beiträge: 16
    • Geschlecht:
    Re: {$data.image} aufgeschlüsselt
    Antwort #2 am: 28. Dezember 2012, 15:13:12
    Hi NoRiddle,

    Vielen Dank für den Hinweis, werde das sobald ich zu Hause bin ausprobieren.

    Ich nutze die 1.06 Beta 3

    schönen Gruss

    agepilar

    • Neu im Forum
    • Beiträge: 16
    • Geschlecht:
    Re: {$data.image} aufgeschlüsselt
    Antwort #3 am: 28. Dezember 2012, 19:04:43
    Ok also so ganz passt es noch nicht. In der order.php finde ich in zeile 533:

    Code: PHP  [Auswählen]
    'image' => !empty($products[$i]['image']) ? $main->getProductPopupLink($products[$i]['id'],$products[$i]['image'], 'image') : '&nbsp;',

    Dort wird also die {$data.image} definiert, soweit so gut. Hatte mich schon gefreut, dass ich nur das letzte 'image' gegen den namen meiner Klasse austauschen muss, aber leider ist dann das Bild weg und er nimmt nur noch den Link.

    Ausgabe html:
    Code: PHP  [Auswählen]
    <a class="thickbox newproductsbild" href="https://ssl-account.com/graffitishopkiel.de/graffitishop/print_product_info.php?pID=81&KeepThis=true&TB_iframe=true&height=450&width=750&MODsid=f8fa8a552fa7f4fae744313a261e2630" target="_blank">
          81_0.jpeg

    Also muss 'image' dort stehen bleiben, damit überhaupt ein Produktbild angezeigt wird. Die Erweiterung zu
    Code: PHP  [Auswählen]
    'image' => !empty($products[$i]['image']) ? $main->getProductPopupLink($products[$i]['id'],$products[$i]['image'], 'image'', class="newproductsbild") : '&nbsp;',

    funktioniert auch nicht. Bin da ein bisschen überfragt, aber irgendwo muss dann ja eine ebene Höher noch 'image' definiert sein? Oder ist der Code falsch dem Image dort eine neue Klasse aufzuzwingen?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    Re: {$data.image} aufgeschlüsselt
    Antwort #4 am: 28. Dezember 2012, 20:53:25
    Es ist schon richtig, an der genannten Stelle kannst du theoretisch die Klasse ändern,
    siehe Funktions-Definition getProductPopupLink() in /includes/classes/main.php.
    Da jedoch in genannter Funktion nur bei vergebener class="image" das Bild angezeigt wird und ansonsten ein Textlink, müsstest du die Funktion ändern.

    Was ist denn der Beweggrund für eine andere Klasse ?

    Gruß,
    noRiddle

    agepilar

    • Neu im Forum
    • Beiträge: 16
    • Geschlecht:
    Re: {$data.image} aufgeschlüsselt
    Antwort #5 am: 28. Dezember 2012, 21:21:33
    Auha... ^^

    Also Ich habe ein Produktbild welches für bestimmte Produkte die Maße 60*30 PX hat (Größe muss in der Auflistung der Produkte beibehalten werden).  Für andere Produkte nehme ich die Maße 100*100px.
    Damit jetzt z.B. auf der Startseite überall auch die ansonsten 60*30px Bilder auf 100*100PX gestreckt werden (es gibt keine Verzerrung da das Bild lediglich aus einem Farbton besteht) benutze ich folgenden Work Arround:
    Ich erstelle eine DIV Klasse "klasse-xy" und weise ihr folgende css Werte zu:
    Code: CSS  [Auswählen]
    .klasse-xy{
            position:relative;
            float: left;
            padding-top: 16px;
    }

    und packe darein das Produktbild und weise diesem eine weitere Klasse mit folgenden css Werten zu:
    Code: CSS  [Auswählen]
            .klassebild{
            padding: 0px 0px 0px 0px;
            float:left;
            width:100px;
            height:100px;
            background-color:#ffffff;
            border: solid #6B6B6B;
            border-width:1px 1px 1px 1px;
            margin-left: auto;
            margin-right: auto;
            clear:both;
    }

    Das ganze sieht dann so aus:
    Code: PHP  [Auswählen]
            <div class="klasse-xy">{if $module_data.PRODUCTS_IMAGE!=''}<a href="{$module_data.PRODUCTS_LINK}"><img src="{$module_data.PRODUCTS_IMAGE}" class="klassebild" alt="{$module_data.PRODUCTS_NAME}" /></a>{/if}</div>

    Nun hab ich den Effekt, dass dasselbe Produktbild in der Artikelliste mit  60*30px angezeigt wird und sonst das Bild überall auf 100+100px gestreckt wird. Einzig allein in der checkout_confirmation.html funktioniert das nicht.

    agepilar

    • Neu im Forum
    • Beiträge: 16
    • Geschlecht:
    Re: {$data.image} aufgeschlüsselt
    Antwort #6 am: 28. Dezember 2012, 21:32:52
    HA Geilomatik! Es funktioniert ^^

    Dein Tipp mit der  Funktions-Definition getProductPopupLink() in der /includes/classes/main.php. war die Lösung!  :cheers:

    in Zeile 219:
    Code: PHP  [Auswählen]
     return '<a target="_blank" href="'.xtc_href_link('print_product_info.php', 'pID='.$pID.POPUP_PRODUCT_LINK_PARAMETERS, $request_type).'" class="'.POPUP_PRODUCT_LINK_CLASS.'">'.'<img class="'.$class.'" alt="" src="'.$products_image.'" />'.'</a>';

    die Klasse entsprechend ersetzen:
    Code: PHP  [Auswählen]
    return '<a target="_blank" href="'.xtc_href_link('print_product_info.php', 'pID='.$pID.POPUP_PRODUCT_LINK_PARAMETERS, $request_type).'" class="'.POPUP_PRODUCT_LINK_CLASS.'">'.'<img class="klassebild" alt="" src="'.$products_image.'" />'.'</a>';

    Vielen Dank!!

    web28

    • modified Team
    • Beiträge: 9.404
    Re: {$data.image} aufgeschlüsselt
    Antwort #7 am: 29. Dezember 2012, 00:57:59
    An der Klassenfunktion sollte man tunlichst nichts ändern, das kann einfach und schnell mit CSS erledigen:

    1. dem div um {$data.image} eine css Klasse zuweisen, z.B
    Code: PHP  [Auswählen]
    <div class="checkout_product_image" ...

    2. in der CSS Datei dann die Eigenschaften zuweisen:
    Code: CSS  [Auswählen]
    .checkout_product_image img{
      padding: 0px 0px 0px 0px;
            float:left;
            width:100px;
            height:100px;
            background-color:#ffffff;
            border: solid #6B6B6B;
            border-width:1px 1px 1px 1px;
            margin-left: auto;
            margin-right: auto;
            clear:both;
    }

    Was auch funktionieren sollte und kürzer ist:

    Code: CSS  [Auswählen]
    .klassebild, img.image{
    ...
    }

    Gruss Web28

    agepilar

    • Neu im Forum
    • Beiträge: 16
    • Geschlecht:
    Re: {$data.image} aufgeschlüsselt
    Antwort #8 am: 29. Dezember 2012, 11:16:44
    junge junge, ... CSS knowledge 4 the Win, danke für die Lektion Web28  :thumbs:

    es funktionieren beide Lösungen, also habe ich die /includes/classes/main.php wieder in ihren Originalzustand versetzt und mich dann für die zweite von dir vorgeschlagene kurze Lösung entschieden.
    Nun brauch man nicht mal ein Div um die {$data.image} in der checkout_confirmation.html bauen, crazy  :blower:

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    Re: {$data.image} aufgeschlüsselt
    Antwort #9 am: 29. Dezember 2012, 15:10:13
    Ich muß gestehen ich habe gar nicht genau nachvollzogen was du machen wolltest sondern einfach auf die Frage geantwortet wo die Klasse vergeben wird.
    web28 hat natürlich Recht, man solte am Core nichts ändern wenn es nicht nötig ist.

    Danke dafür.

    Gruß,
    noRiddle
    Managed Server
    0 Antworten
    1762 Aufrufe
    07. Mai 2015, 19:00:00 von Nils
    38 Antworten
    22204 Aufrufe
    03. Oktober 2015, 09:12:42 von Tomcraft
    7 Antworten
    1963 Aufrufe
    15. Juli 2019, 17:09:46 von ttsarche
    1 Antworten
    3356 Aufrufe
    03. März 2012, 09:01:06 von jannemann