Gelöst variation.tpl -> Ergebnisse nebeneinander

tb_matze

Aktives Mitglied
14. Juli 2017
62
0
Moin,
ich hab da mal ne Frage. Es dreht sich um die TBL Variation.tpl. Die Variationen werden durch eine foreach-Schleife immer untereinander dargestellt. Könnte man diese Schleife nicht so Umbauen, das sage mal 3 Spalten mit Ergebnissen nebeneinander dargestellt werden und dann eine neue Reihe genommen wird?

Würde mich sehr freuen, wenn mir da eine Lösungsansätze geben könnte.

PHP:
{if isset($Artikel->Variationen) && $Artikel->Variationen|@count > 0 && !$showMatrix}
    {assign var="oVariationKombi_arr" value=$Artikel->getChildVariations()}
    <div class="variations {if $simple}simple{else}switch{/if}-variations top15 row">
        <div class="col-xs-12">
            <dl>
 
            {foreach name=Variationen from=$Artikel->Variationen key=i item=Variation}
            {strip}
    <dt>{$Variation->cName}{if $Variation->cTyp === 'IMGSWATCHES'} <span class="swatches-selected text-muted" data-id="{$Variation->kEigenschaft}"></span>{/if}</dt>
                <dd class="form-group{if $Variation->cTyp !== 'FREIFELD' && !$showMatrix} required{/if}">
                    {if $Variation->cTyp === 'SELECTBOX'}
                        <select class="form-control" title="{lang key="pleaseChooseVariation" section="productDetails"}" name="eigenschaftwert[{$Variation->kEigenschaft}]"{if !$showMatrix} required{/if}>
                            {foreach name=Variationswerte from=$Variation->Werte key=y item=Variationswert}
                                {assign var="bSelected" value=false}
                                {if isset($oVariationKombi_arr[$Variationswert->kEigenschaft])}
                                    {assign var="bSelected" value=in_array($Variationswert->kEigenschaftWert, $oVariationKombi_arr[$Variationswert->kEigenschaft])}
                                {/if}
                                {if isset($oEigenschaftWertEdit_arr[$Variationswert->kEigenschaft])}
                                    {assign var="bSelected" value=$Variationswert->kEigenschaftWert == $oEigenschaftWertEdit_arr[$Variationswert->kEigenschaft]->kEigenschaftWert}
                                {/if}
                                {if ($Artikel->kVaterArtikel > 0 || $Artikel->nIstVater == 1) && $Artikel->nVariationOhneFreifeldAnzahl == 1 &&
                                $Einstellungen.global.artikeldetails_variationswertlager == 3 &&
                                !empty($Artikel->VariationenOhneFreifeld[$i]->Werte[$y]->nNichtLieferbar) && $Artikel->VariationenOhneFreifeld[$i]->Werte[$y]->nNichtLieferbar == 1}
                                {else}
                                    {include file="productdetails/variation_value.tpl" assign="cVariationsWert"}
                                    <option value="{$Variationswert->kEigenschaftWert}" class="variation"
                                            data-type="option"
                                            data-original="{$Variationswert->cName}"
                                            data-key="{$Variationswert->kEigenschaft}"
                                            data-value="{$Variationswert->kEigenschaftWert}"
                                            data-content="{$cVariationsWert|escape:'html'}"
                                            {if !empty($Variationswert->cBildPfadMini)}
                                                data-list='{prepare_image_details item=$Variationswert json=true}'
                                                data-title='{$Variationswert->cName}'
                                            {/if}
                                            {if $bSelected} selected="selected"{/if}>
                                        {$cVariationsWert|trim}
                                    </option>
                                {/if}
                            {/foreach}
                        </select>
                    {elseif $Variation->cTyp === 'RADIO'}
                        {foreach name=Variationswerte from=$Variation->Werte key=y item=Variationswert}
                            {assign var="bSelected" value=false}
                            {if isset($oVariationKombi_arr[$Variationswert->kEigenschaft])}
                               {assign var="bSelected" value=in_array($Variationswert->kEigenschaftWert, $oVariationKombi_arr[$Variationswert->kEigenschaft])}
                            {/if}
                            {if isset($oEigenschaftWertEdit_arr[$Variationswert->kEigenschaft])}
                                {assign var="bSelected" value=$Variationswert->kEigenschaftWert == $oEigenschaftWertEdit_arr[$Variationswert->kEigenschaft]->kEigenschaftWert}
                            {/if}
                            {if ($Artikel->kVaterArtikel > 0 || $Artikel->nIstVater == 1) && $Artikel->nVariationOhneFreifeldAnzahl == 1 &&
                            $Einstellungen.global.artikeldetails_variationswertlager == 3 &&
                            !empty($Artikel->VariationenOhneFreifeld[$i]->Werte[$y]->nNichtLieferbar) && $Artikel->VariationenOhneFreifeld[$i]->Werte[$y]->nNichtLieferbar == 1}
                            {else}
                                <label class="variation" for="vt{$Variationswert->kEigenschaftWert}"
                                       data-type="radio"
                                       data-original="{$Variationswert->cName}"
                                       data-key="{$Variationswert->kEigenschaft}"
                                       data-value="{$Variationswert->kEigenschaftWert}"
                                       {if !empty($Variationswert->cBildPfadMini)}
                                            data-list='{prepare_image_details item=$Variationswert json=true}'
                                            data-title='{$Variationswert->cName}'
                                       {/if}>
                                    <input type="radio"
                                           name="eigenschaftwert[{$Variation->kEigenschaft}]"
                                           id="vt{$Variationswert->kEigenschaftWert}"
                                           value="{$Variationswert->kEigenschaftWert}"
                                           {if $bSelected}checked="checked"{/if}
                                           {if $smarty.foreach.Variationswerte.index === 0 && !$showMatrix} required{/if}
                                           >
                                    {include file="productdetails/variation_value.tpl"}
                                </label>
                            {/if}
                        {/foreach}

         {/if}
                </dd>
            {/strip}
            {/foreach}
            </dl>
        </div>
    </div>
{/if}
Genauer gesagt geht es mir um den Bereich, wo die Variable $Variation->cType === 'Radio' beginnt. Da wir mit Radio-Button im Shop arbeiten, würde ich diesen Bereich gerne in Spalten anzeigen lassen. Also ich meine die Ergebnisse in Spalten neben einander...:)

Hoffe es kann mir einer da weiter helfen, da ich in Smarty wenig Erfahrung hab.
 
Zuletzt bearbeitet:

tb_matze

Aktives Mitglied
14. Juli 2017
62
0
Ui es kann mir da keiner einen Tipp geben, wie ich das umsetzen kann?
Schade, das nicht mal ne Vorschlag oder was ähnliches kommst ...
Aber ich freue mich das es solche Foren gibt und finde das Sie uns helfen .. Sag allen Danke...
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.878
519
Halle
Hallo,
Könnte man diese Schleife nicht so Umbauen, das sage mal 3 Spalten mit Ergebnissen nebeneinander dargestellt werden und dann eine neue Reihe genommen wird?
Ja, könnte man!

Wenn dich auch das WIE interessiert, dann müßte es eigentlich reichen, das dl-Tag durch einen <div class="row"> Container zu ersetzen und den dd-Tag duch ein entsprechendes <div class="col-XXX>. Das könnte dann z.B. ein col-xs-4 für eine dreispaltige Ansicht sein.
 

tb_matze

Aktives Mitglied
14. Juli 2017
62
0
Hallo FPrüfer,
erstmal Danke für deine Antwort. Ja es klappt so und ist so einfach... Da hätte man auch selbst drauf kommen können. Doch ich war da wohl auf der Schiene "Programmierlösung" und hab die einfache Machbarkeit nicht gesehen.. Danke noch mal ..