4.02 Warenkorbmatrix mit Bildern

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
Hallo Leute
Ich probiere gerade die matrix.tpl so zu erweitern das die Bilder von Variationskombinationen angezeigt werden. Also Statt der nur der Farbe als Namen immer auch eines der Bilder von einem Kindartikel

Habe ich hierfür erweitert um folgende

Code:
            {foreach name=kombikindervorschau from=$Artikel->oVariationKombiVorschau_arr item=oVariationKombiVorschau}
               <img src="{$oVariationKombiVorschau->cBildMini}" alt="{$Artikel->cName}" title="{$Artikel->cName}" />
            {/foreach}

geändert

Code:
<div class="table-responsive">
    <table class="table table-striped variation-matrix">
        {* ****** 2-dimensional ****** *}
        {if $Artikel->VariationenOhneFreifeld|@count == 2}
            <thead>
            <tr>
                <td>&nbsp;</td>
                 {foreach name="variationsboxHead"  from=$Artikel->VariationenOhneFreifeld[0]->Werte  item=oVariationWertHead}
                    <td class="vcenter">
                         {if $Artikel->oVariBoxMatrixBild_arr|@count > 0 &&  (($Artikel->nIstVater == 1 &&  $Artikel->oVariBoxMatrixBild_arr[0]->nRichtung == 0) ||  $Artikel->nIstVater == 0)}
                            {foreach name="vorschaubild" from=$Artikel->oVariBoxMatrixBild_arr item=oVariBoxMatrixBild}
                                {if $oVariBoxMatrixBild->kEigenschaftWert == $oVariationWertHead->kEigenschaftWert}
                                    <img src="{$oVariBoxMatrixBild->cBild}" class="img-responsive" alt=""><br>
                                {/if}
                            {/foreach}
                        {/if}
                        <strong>{$oVariationWertHead->cName}</strong>
                     [SIZE=4][B] {foreach name=kombikindervorschau from=$Artikel->oVariationKombiVorschau_arr item=oVariationKombiVorschau}
                      <img src="{$oVariationKombiVorschau->cBildMini}"  alt="{$Artikel->cName}" title="{$Artikel->cName}" />
                     {/foreach}[/B][/SIZE]
                    </td>
                {/foreach}
            </tr>
            </thead>
            <tbody>
            {assign var=pushed value=0}
            {if isset($Artikel->VariationenOhneFreifeld[1]->Werte)}
                {foreach name="variationsbox1" from=$Artikel->VariationenOhneFreifeld[1]->Werte item=oVariationWert1}
                    {assign var=kEigenschaftWert1 value=$oVariationWert1->kEigenschaftWert}
                    <tr>
                        {assign var=nRows value=$Artikel->VariationenOhneFreifeld[1]->Werte|@count}
                        <td class="vcenter">
                             {if $Artikel->oVariBoxMatrixBild_arr|@count > 0 &&  (($Artikel->nIstVater == 1 &&  $Artikel->oVariBoxMatrixBild_arr[0]->nRichtung == 1) ||  $Artikel->nIstVater == 0)}
                                {foreach name="vorschaubild" from=$Artikel->oVariBoxMatrixBild_arr item=oVariBoxMatrixBild}
                                    {if $oVariBoxMatrixBild->kEigenschaftWert == $oVariationWert1->kEigenschaftWert}
                                        <img src="{$oVariBoxMatrixBild->cBild}" alt=""><br>
                                    {/if}
                                {/foreach}
                            {/if}
                            <strong>{$oVariationWert1->cName}</strong>
                        </td>
                         {foreach name="variationsbox0"  from=$Artikel->VariationenOhneFreifeld[0]->Werte  item=oVariationWert0}
                            {assign var=bAusblenden value=false}
                            {if $Artikel->nVariationKombiNichtMoeglich_arr|@count > 0}
                                 {foreach name="variNichtMoeglich"  from=$Artikel->nVariationKombiNichtMoeglich_arr[$kEigenschaftWert1]  item=kEigenschaftWertNichtMoeglich}
                                     {if $kEigenschaftWertNichtMoeglich ==  $oVariationWert0->kEigenschaftWert &&  $Einstellungen.artikeldetails.artikeldetails_warenkorbmatrix_lagerbeachten  !== 'N'}
                                        {assign var=bAusblenden value=true}
                                    {/if}
                                {/foreach}
                            {/if}

                            {if !$bAusblenden}
                                 {assign var=cVariBox  value=$oVariationWert0->kEigenschaft|cat:':'|cat:$oVariationWert0->kEigenschaftWert|cat:'_'|cat:$oVariationWert1->kEigenschaft|cat:':'|cat:$oVariationWert1->kEigenschaftWert}
                                <td class="element form-inline">
                                     {if  isset($Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->nNichtLieferbar)  &&  $Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->nNichtLieferbar  == 1}
                                        {lang key="soldout" section="global"}
                                    {else}
                                         <div class="form-group{if  isset($smarty.session.variBoxAnzahl_arr[$cVariBox]->bError)}  has-error{/if}">
                                        {if $Artikel->fAbnahmeintervall > 1}
                                            <input
                                                size="3" class="form-control text-right"
                                                  name="variBoxAnzahl[{$oVariationWert1->kEigenschaft}:{$oVariationWert1->kEigenschaftWert}_{$oVariationWert0->kEigenschaft}:{$oVariationWert0->kEigenschaftWert}]"
                                                type="text"
                                                 value="{if  isset($smarty.session.variBoxAnzahl_arr[$cVariBox]->fAnzahl)}{$smarty.session.variBoxAnzahl_arr[$cVariBox]->fAnzahl|replace_delim}{/if}">
                                        {else}
                                            <input
                                                size="3"
                                                 class="form-control text-right{if  isset($smarty.session.variBoxAnzahl_arr[$cVariBox]->bError)}  error{/if}"
                                                 name="variBoxAnzahl[{$oVariationWert1->kEigenschaft}:{$oVariationWert1->kEigenschaftWert}_{$oVariationWert0->kEigenschaft}:{$oVariationWert0->kEigenschaftWert}]"
                                                type="text"
                                                 value="{if  isset($smarty.session.variBoxAnzahl_arr[$cVariBox]->fAnzahl)}{$smarty.session.variBoxAnzahl_arr[$cVariBox]->fAnzahl|replace_delim}{/if}">
                                        {/if}
                                        {if $Artikel->nIstVater == 1}
                                             {if  isset($Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->Preise->cVKLocalized[$NettoPreise])  &&  $Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->Preise->cVKLocalized[$NettoPreise]  > 0}
                                                <small> &times; 
                                                      {$Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->Preise->cVKLocalized[$NettoPreise]}{if   !empty($Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->Preise->cPreisVPEWertInklAufpreis[$NettoPreise])},   {$Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->Preise->cPreisVPEWertInklAufpreis[$NettoPreise]}{/if}
                                                </small>
                                             {elseif  $Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->Preise->cVKLocalized[$NettoPreise]}
                                                 {assign var=cVariBox  value=$oVariationWert1->kEigenschaft|cat:':'|cat:$oVariationWert1->kEigenschaftWert|cat:'_'|cat:$oVariationWert0->kEigenschaft|cat:':'|cat:$oVariationWert0->kEigenschaftWert}
                                                <small> &times; 
                                                      {$Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->Preise->cVKLocalized[$NettoPreise]}{if   !empty($Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->Preise->cPreisVPEWertInklAufpreis[$NettoPreise])},   {$Artikel->oVariationKombiKinderAssoc_arr[$cVariBox]->Preise->cPreisVPEWertInklAufpreis[$NettoPreise]}{/if}
                                                </small>
                                            {/if}
                                         {elseif $Einstellungen.artikeldetails.artikel_variationspreisanzeige ==  1 && ($oVariationWert0->fAufpreisNetto != 0 ||  $oVariationWert1->fAufpreisNetto != 0)}
                                            {if !isset($oVariationWert1->fAufpreis[1])}
                                                {assign var=ovw1 value=0}
                                            {else}
                                                {assign var=ovw1 value=$oVariationWert1->fAufpreis[1]}
                                            {/if}
                                            {if !isset($oVariationWert0->fAufpreis[1])}
                                                {assign var=ovw0 value=0}
                                            {else}
                                                {assign var=ovw0 value=$oVariationWert0->fAufpreis[1]}
                                            {/if}

                                            {math equation='x+y' x=$ovw0 y=$ovw1 assign='fAufpreis'}
                                            <small> &times; 
                                                 {gibPreisStringLocalizedSmarty bAufpreise=true  fAufpreisNetto=$fAufpreis fVKNetto=$Artikel->Preise->fVKNetto  kSteuerklasse=$Artikel->kSteuerklasse nNettoPreise=$NettoPreise  fVPEWert=$Artikel->fVPEWert cVPEEinheit=$Artikel->cVPEEinheit  FunktionsAttribute=$Artikel->FunktionsAttribute}
                                                </small>
                                         {elseif $Einstellungen.artikeldetails.artikel_variationspreisanzeige ==  2 && ($oVariationWert0->fAufpreisNetto != 0 ||  $oVariationWert1->fAufpreisNetto != 0)}
                                             {math equation='x+y' x=$oVariationWert0->fAufpreis[1]  y=$oVariationWert1->fAufpreis[1] assign='fAufpreis'}
                                            <small> &times; 
                                                 {gibPreisStringLocalizedSmarty bAufpreise=false  fAufpreisNetto=$fAufpreis fVKNetto=$Artikel->Preise->fVKNetto  kSteuerklasse=$Artikel->kSteuerklasse nNettoPreise=$NettoPreise  fVPEWert=$Artikel->fVPEWert cVPEEinheit=$Artikel->cVPEEinheit  FunktionsAttribute=$Artikel->FunktionsAttribute}
                                                </small>
                                        {/if}
                                        </div>
                                    {/if}
                                </td>
                            {else}
                                <td>&nbsp;</td>
                            {/if}
                        {/foreach}
                    </tr>
                {/foreach}
            {/if}
        </tbody>

Das Problem ist nun das leider immer alle Variationskombinationsbilder in jeder Spalte angezeit werden und nicht nur das passende. Kann mir jemand helfen???
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
AW: 4.02 Warenkorbmatrix mit Bildern

kann mir keiner helfen ich komme echt nicht weiter 🙁 HILFEEEEE
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
233
AW: 4.02 Warenkorbmatrix mit Bildern

Hallo,

ist im "alten" Shop nicht das Plugin am laufen, welches direkt Kind-Artikel als Matrix anzeigt und im "neuen" Shop nur die Standard-WK-Matrix?
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
233
AW: 4.02 Warenkorbmatrix mit Bildern

Auch der 4er-Shop/EVO-Template stellt im Standard nur die einfache WK-Matrix dar.

Das Plugin für die direkte Darstellung der Kinder als Matrix ist noch nicht von JTL auf den 4er umgeschrieben worden.
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
AW: 4.02 Warenkorbmatrix mit Bildern

Auch der 4er-Shop/EVO-Template stellt im Standard nur die einfache WK-Matrix dar.

Das Plugin für die direkte Darstellung der Kinder als Matrix ist noch nicht von JTL auf den 4er umgeschrieben worden.

Und das mit den Bildern klappt auch nur bei einer einfachen Variation.

Ich habe jetzt aber ein ganz anderes Probelm :/ und hoffe du kannst mir helfen.

Ich habe mir die Warenkorbmatrix in ein popup gelegt.
Code:
<div id="popuphbm" class="hidden">
        {* the matrix *}
    {if $showMatrix}
        <hr />
        <div id="product-matrix">
            <div class="well panel-wrap">
                <div class="panel panel-default">
                    <div class="panel-body">
                        {include file="productdetails/matrix.tpl"}
                    </div>
                </div>
            </div>
        </div>
    {/if}
</div>

und rufe das Popup mit
Code:
<a class="popup-dep" id="hbm">Matrix</a>
auf. Die Warenkorbmatrix wird auch angezeigt..... nur der "in den Warenkorb" Button funktioniert nicht 🙁 kannst du mir sagen wieso und was ich ändern muß??
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
AW: 4.02 Warenkorbmatrix mit Bildern

keiner Idee woran es liegen kann. Ich verzweifel daran. Das Popup selber geht der Inhalt ist korrekt nur der sch... Button will nicht 🙁
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
233
AW: 4.02 Warenkorbmatrix mit Bildern

wird dir in der firebug-Konsole ein js-error angezeigt?

btw: unsere Glaskugeln können auch nicht immer alles sehen
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
AW: 4.02 Warenkorbmatrix mit Bildern

also einen Java Fehler findet Firebug nicht. Kann es sein das ich noch zusätzlich etwas in das


<div id="popuphbm" class="hidden"> {* the matrix *} {if $showMatrix} <hr /> <div id="product-matrix"> <div class="well panel-wrap"> <div class="panel panel-default"> <div class="panel-body"> {include file="productdetails/matrix.tpl"} </div> </div> </div> </div> {/if} </div>

schreiben muß damit der Warenkorb button im Popup überhaupt eine funktion hat??? Obriger Code steht derzeit genau so in der details.tpl und ohne die div umlagerung geht es auch

<div id="popuphbm" class="hidden">
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
AW: 4.02 Warenkorbmatrix mit Bildern

Also Ich habe jetzt nochmal etwas anderes probiert und zwar in dem Popup einen kompletten Artikel über Iframe zu laden. DAs funktioniert und dann geht auch der "normale" Warenkorb Button.

Es muß also am {include file="productdetails/matrix.tpl"} include liegen das dieser nicht ausreicht.

Wenn mir das jemand programmieren kann gern ich zahle auch dafür 🙂 Ich will das Thema nur endlich fertig haben 😀
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.724
355
AW: 4.02 Warenkorbmatrix mit Bildern

Ist denn die Matrix auch innerhalb des Formulars eingebunden? Klingt nämlich nicht so.
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
AW: 4.02 Warenkorbmatrix mit Bildern

Ist denn die Matrix auch innerhalb des Formulars eingebunden? Klingt nämlich nicht so.

??? was meinst du??? Ich habe nur das popup angelegt (wie unter *gelöscht* beschrieben)

Code:
<div id="popuphbm" class="hidden"> 
        {* the matrix *}     {if $showMatrix}         <hr />         <div id="product-matrix">             <div class="well panel-wrap">                 <div class="panel panel-default">                     <div class="panel-body">                         {include file="productdetails/matrix.tpl"}                     </div>                 </div>             </div>         </div>     {/if} </div>

und

<a class="popup-dep" id="hbm">Matrix</a>
Wo muß ich das Formular einbinden???
 
Zuletzt von einem Moderator bearbeitet:

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.724
355
AW: 4.02 Warenkorbmatrix mit Bildern

??? was meinst du??? Ich habe nur das popup angelegt (wie unter *gelöscht* beschrieben)

Wo es im Übrigen auch nicht funktioniert. Der Shop hängt alle Modal Overlays beim Aufruf automatisch ans Ende der Seite, also vor den geschlossenen </body> Tag. Dadurch befindet sich die Matrix auch außerhalb des Formulars auf der Artikeldetailseite.
 
Zuletzt von einem Moderator bearbeitet:

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
AW: 4.02 Warenkorbmatrix mit Bildern

Wo es im Übrigen auch nicht funktioniert. Der Shop hängt alle Modal Overlays beim Aufruf automatisch ans Ende der Seite, also vor den geschlossenen </body> Tag. Dadurch befindet sich die Matrix auch außerhalb des Formulars auf der Artikeldetailseite.

@Martin
Was muß ich denn dann ändern??? Wohin mit dem Code? Ich will das Popup auf der Artikeldetailseite und in der Artikelliste aufrufen
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.724
355
AW: 4.02 Warenkorbmatrix mit Bildern

Das wird mit der jetzigen Implementierung garnicht funktionieren. Nimm stattdessen das was Bootstrap vorgibt:

Code:
[COLOR=#ff0000]<a class="btn btn-default" href="#" data-target="#popup_matrix" data-toggle="modal">Matrix</a>[/COLOR]

    {if $showMatrix}
[COLOR=#ff0000]        <div id="popup_matrix" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
            <div class="modal-dialog modal-lg">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                        <span class="modal-title"></hspan>
                    </div>
                    <div class="modal-body">[/COLOR]
                        <hr />
                        <div id="product-matrix">
                            <div class="well panel-wrap">
                                <div class="panel panel-default">
                                    <div class="panel-body">
                                        {include file="productdetails/matrix.tpl"}
                                    </div>
                                </div>
                            </div>
                        </div>
[COLOR=#ff0000]                    </div>
                </div>
            </div>    
        </div>[/COLOR]
    {/if}

Das rote jeweils ergänzen. Damit lädt sich das Modal an exakt der Stelle wo es eingebunden ist.
 

Ähnliche Themen