Anordung bzw. Reihenfolge der Boxen in der Artikelansicht ändern

Hallo zusammen,

mein erstes Problem ist zwar noch nicht gelöst, aber ich bin auf ein weiteres gestossen.

Ich möchte die Reihenfolge bzw. Anordnung der Boxen in der Artikelansicht ändern.

Ich möchte die Box mit der [B]Variantenauswahl[/B] direkt unter der Box [B]Artikeldetails[/B] haben.

Habe zwar google und Forensuche bemüht, aber nichts gefunden

Template: Basic 4.6.4_49061 für CE

Hier noch ein Bild

dann musst Du die Reihenfolge der Aufrufe im Template ändern

stell mal den Debug-Level in Deiner config.inc.php auf 8 - dann werden die Namen der Templatefiles im Frontend ausgegeben, sieht dann im Prinzip so aus wie hier:
http://oxid-tpl-debug.stahlwarenhaus-hebsacker.de/basic/

Hab gerade auf 8 geändert, passiert aber nichts, muss ich noch irgendwas dafür tun?

Dort steht ja in Klammern “(requires /tmp cleanup)”

Wenn ja wie und wo???

Vielen Dank

auf Deinem Webspace gibt es ein Verzeichnis “tmp” - geh mit dem FTP-Programm dort rein, markiere alle Dateien ausser der .htaccess und lösch diese (aber nicht das Verzeichnis selbst!)

das hat schonmal geklappt, wobei sich die Namen irgendwie überlappen.

Wo kann ich jetzt die Reihenfolge ändern?

Du hast zu weit unten auf der Seite geschaut :slight_smile:

weiter oben wird der Pfad page/details/details.php angezeigt - da steckt alles drin

wenn Du dieses Template aufmachst, dann siehst Du so etwas wie
[{include file="_header.tpl" location=$template_location }]
damit wird das Template für den Header integriert

oder weiter unten, da steht
<div class=“picture”>
<img src="[{ $oView->getActPicture() }]" id=“product_img” class=“photo” alt="[{ $product->oxarticles__oxtitle->value|strip_tags }] [{ $product->oxarticles__oxvarselect->value|default:’’ }]">
</div>

Es gibt also einige Dinge, die direkt im details.tpl ausdefiniert sind und einige Untertemplates für bestimmte Elemente, die ausgelagert sind und quasi am Stück eingebunden sind.

Bei der Variantenbox siehst Du "inc/variant_selector.tpl"
bzw. nicht, wird bei Dir ja seltsamerweise überlagert…
Diese Box wird also über ein eigenes Template mit eingebunden. Im details.tpl findest Du deshalb auch den Aufruf
[{include file=“inc/variant_selector.tpl”}]

Wenn Du nun also diesen Aufruf von dort wegnimmst und an einer anderen Stelle einfügst, dann erscheint auch diese Box woanders.

Nun müssen wir nur noch feststellen, wo denn die richtige Stelle für “direkt unter der Artikelbox” überhaupt ist. Als Orientierung benutzen wir die Elemente, die da zu sehen sind, also die Box “Spezifikationen” oder auch der eMail-Link “Fragen zum Artikel” und suchen passende Stellen im Template. Über die Suchfunktion des Editors kannst Du es auch versuchen, einfach mal “specification” (ist ja alles Englisch in den Templates) zu finden.

Und siehe da, um Zeile 360 taucht das auf - einige Zeilen davor sieht man “<div class=“question”>” - scheint also die korrekte Stelle zu sein. Dann packen wir unseren von weiter unten ausgeschnittenen Schnipsel dazwischen, sieht dann so aus:

...
[{oxmailto extra='id="test_QuestionMail"' address=$product->oxarticles__oxquestionemail->value|default:$oxcmp_shop->oxshops__oxinfoemail->value subject='DETAILS_QUESTIONSSUBJECT'|oxmultilangassign|cat:" "|cat:$product->oxarticles__oxartnum->value text='DETAILS_QUESTIONS'|oxmultilangassign encode="javascript"}]
        </div>
    </div>

</div>

{include file="inc/variant_selector.tpl"}]

[{ if $oView->getAttributes() }]
<strong id="test_specsHeader" class="boxhead">[{ oxmultilang ident="DETAILS_SPECIFICATION" }]</strong>
<div class="box">
...

Datei speichern, hochladen, danach nochmal /tmp leeren, damit die Änderung auch erfasst wird und im Frontend überprüfen.

hat nicht ganz funktioniert wenn ich mal die eckigen Klammern weg lasse, also

{include file=“inc/variant_selector.tpl”}

dann taucht dies als Text unter der Artikelbox auf, aber die Variantenauswahl bleibt wo sie ist???

[{include file=“inc/variant_selector.tpl”}]

die eckigen Klammern gehören unbedingt da hin

Und die ursprüngliche Zeile weiter unten rauslöschen

Hi, funktioniert leider nicht.

Der Text den ich eingesetzt habe, um zu probieren ob wir an der richtigen Stelle sind wird dafür angezeigt

Habe den Code wie folgt geändert und weiter unten auch gelöscht bzw. direkt ausgeschnitten. Aber leider ohne Erfolg…



        <div class="question">
            [{oxmailto extra='id="test_QuestionMail"' address=$product->oxarticles__oxquestionemail->value|default:$oxcmp_shop->oxshops__oxinfoemail->value subject='DETAILS_QUESTIONSSUBJECT'|oxmultilangassign|cat:" "|cat:$product->oxarticles__oxartnum->value text='DETAILS_QUESTIONS'|oxmultilangassign encode="javascript"}]
        </div>
    </div> 

</div>  

    [{include file="inc/variant_selector.tpl"}] 

    Erscheint trotzdem nicht hier???

[{ if $oView->getAttributes() }]
<strong id="test_specsHeader" class="boxhead">[{ oxmultilang ident="DETAILS_SPECIFICATION" }]</strong>
<div class="box">


Das ganze sieht dann so aus

Hallo,
kopiere mal bitte testweise das hier dahin, wo jetzt “trotzdem nicht hier” steht:

[{if $oView->getVariantList() || $oView->drawParentUrl()}]

    <strong id="test_variantHeader" class="boxhead">
        [{if $oView->drawParentUrl()}]
            <a id="test_backToParent" href="[{$oView->getParentUrl()}]">[{oxmultilang ident="INC_PRODUCT_VARIANTS_BACKTOMAINPRODUCT"|oxmultilangassign|cat:" "|cat:$oView->getParentName() }]</a>
        [{else}]
            [{oxmultilang ident="INC_PRODUCT_VARIANTS_VARIANTSELECTIONOF"|oxmultilangassign|cat:" `$product-&gt;oxarticles__oxtitle-&gt;value`" }]
        [{/if}]
    </strong>
    <div class="box variantslist">

    [{ if $oView->drawParentUrl() && count( $oView->getVariantList() ) }]
      <b id="test_variantHeader1">[{ oxmultilang ident="INC_PRODUCT_VARIANTS_OTHERVARIANTSOF" }] [{ $oView->getParentName() }]</b>
      <br>
      <div class="txtseparator inbox"></div>
    [{/if}]

    [{include file="inc/variant_selector.tpl"}]

    [{if $oView->isMdVariantView()}]
      <noscript>
    [{/if}]

Hallo, das hier muss alles verschoben werden, damit es funktioniert:

[{if $oView->getVariantList() || $oView->drawParentUrl()}]

    <strong id="test_variantHeader" class="boxhead">
        [{if $oView->drawParentUrl()}]
            <a id="test_backToParent" href="[{$oView->getParentUrl()}]">[{oxmultilang ident="INC_PRODUCT_VARIANTS_BACKTOMAINPRODUCT"|oxmultilangassign|cat:" "|cat:$oView->getParentName() }]</a>
        [{else}]
            [{oxmultilang ident="INC_PRODUCT_VARIANTS_VARIANTSELECTIONOF"|oxmultilangassign|cat:" `$product-&gt;oxarticles__oxtitle-&gt;value`" }]
        [{/if}]
    </strong>
    <div class="box variantslist">

    [{ if $oView->drawParentUrl() && count( $oView->getVariantList() ) }]
      <b id="test_variantHeader1">[{ oxmultilang ident="INC_PRODUCT_VARIANTS_OTHERVARIANTSOF" }] [{ $oView->getParentName() }]</b>
      <br>
      <div class="txtseparator inbox"></div>
    [{/if}]

    [{include file="inc/variant_selector.tpl"}]

    [{if $oView->isMdVariantView()}]
      <noscript>
    [{/if}]

Hallo, das hier muss alles verschoben werden, damit es funktioniert:

[{if $oView->getVariantList() || $oView->drawParentUrl()}]

    <strong id="test_variantHeader" class="boxhead">
        [{if $oView->drawParentUrl()}]
            <a id="test_backToParent" href="[{$oView->getParentUrl()}]">[{oxmultilang ident="INC_PRODUCT_VARIANTS_BACKTOMAINPRODUCT"|oxmultilangassign|cat:" "|cat:$oView->getParentName() }]</a>
        [{else}]
            [{oxmultilang ident="INC_PRODUCT_VARIANTS_VARIANTSELECTIONOF"|oxmultilangassign|cat:" `$product-&gt;oxarticles__oxtitle-&gt;value`" }]
        [{/if}]
    </strong>
    <div class="box variantslist">

    [{ if $oView->drawParentUrl() && count( $oView->getVariantList() ) }]
      <b id="test_variantHeader1">[{ oxmultilang ident="INC_PRODUCT_VARIANTS_OTHERVARIANTSOF" }] [{ $oView->getParentName() }]</b>
      <br>
      <div class="txtseparator inbox"></div>
    [{/if}]

    [{include file="inc/variant_selector.tpl"}]

    [{if $oView->isMdVariantView()}]
      <noscript>
    [{/if}]

    [{foreach from=$oView->getVariantListExceptCurrent() name=variants item=variant_product}]
        [{if $smarty.foreach.variants.first}]
          [{assign var="details_variants_class" value="firstinlist"}]
        [{elseif $smarty.foreach.variants.last}]
          [{assign var="details_variants_class" value="lastinlist"}]
          <div class="separator inbox"></div>
        [{else}]
          [{assign var="details_variants_class" value="inlist"}]
          <div class="separator inbox"></div>
        [{/if}]

        [{$variants_head}]
        [{include file="inc/product.tpl" product=$variant_product size="thinest" altproduct=$product->getId() class=$details_variants_class testid="Variant_"|cat:$variant_product->oxarticles__oxid->value}]
        [{assign var="details_variants_head" value=""}]
    [{/foreach}]

    [{if $oView->isMdVariantView()}]
      </noscript>
    [{/if}]

    </div>

[{/if}]

Super, danke!

So hat es jetzt geklappt

ups - vor lauter Oberlehrer-Brille total vernachlässigt - klar muss das mit…

:p:D;) trotzdem vielen Dank euch beiden!