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: {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?

    rabenkinder.com

    • Neu im Forum
    • Beiträge: 23
    Hi,

    Ich nutze das YAML 1.0.6-Template für modified eCommerce Shopsoftware angepasst.
    Nun versuche ich die Anordnung der Produkte in der product_listing_v1.html anzupassen und dabei ist mir aufgefallen, dass die Seiten-Navigation zu groß dargestellt wird und aus dem Layout ausbricht.

    bei der product_listing_v1.html steht: {/foreach} {$NAVIGATION}
    bei der new_products_overview.html steht: {/foreach} {$NAVIGATION_BAR}

    product_listing_v1.html:
    [ Für Gäste sind keine Dateianhänge sichtbar ]

    new_products_overview.html:
    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Das _BAR in der ersten Datei zu übernehmen führt nur dazu, dass die Navigation gar nicht mehr angezeigt wird.

    Was nun tun?
    Wo wird die $NAVIGATION bzw. $NAVIGATION_BAR definiert?

    Gruß Christoph



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

    hendrik

    • Experte
    • Beiträge: 2.038
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #1 am: 16. August 2010, 06:42:48
    Der HTML-Code für Smarty $NAVIGATION ist hardcodiert. Das ist noch ne Altlast aus der guten alten osc-Zeit. Müssen wir auch mal entsorgen.

    Du findest Definitionen hier:

    $NAVIGATION_BAR: products_new.php, Zeile 88 ca.

    Code: PHP  [Auswählen]
    $smarty->assign('NAVIGATION_BAR', .........
    $NAVIGATION: includes/modules/product_listing.php, Zeile 28 ca.

    Code: PHP  [Auswählen]
            $navigation = .............
    Gruß
    Hen

    rabenkinder.com

    • Neu im Forum
    • Beiträge: 23
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #2 am: 16. August 2010, 09:51:08
    Hallo Hen,

    Danke für deine Antwort.

    Kann ich die Definition aus der products_new auch in die product_listing übernehmen? Denn das sieht ja eigentlich ganz gut aus.

    Gruß Christoph

    hendrik

    • Experte
    • Beiträge: 2.038
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #3 am: 16. August 2010, 10:00:11
    [...]
    Kann ich die Definition aus der products_new auch in die product_listing übernehmen? Denn das sieht ja eigentlich ganz gut aus.
    [...]

    Habs nicht getetestet, sollte aber problemlos sein.
    HTML Copy-Paste
    Ausdruck "$products_new_split" zu "$listing_split" anpassen.

    Gruß
    Hen

    rabenkinder.com

    • Neu im Forum
    • Beiträge: 23
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #4 am: 16. August 2010, 10:32:30
    Code: PHP  [Auswählen]
    $smarty->assign('NAVIGATION_BAR', '
                       <div style="width:100%;font-size:smaller">
                              <div style="float:left">'
    .$product_listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCT_LISTING).'</div>
                              <div style="float:right">'
    .TEXT_RESULT_PAGE.' '.$product_listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, xtc_get_all_get_params(array ('page', 'info', 'x', 'y'))).'</div>
                              <br style="clear:both" />
                       </div>
                       '
    );
    Habe ich das nun richtig angepasst?

    Frage: In welche php-Datei gehört das dann? Ich habe keine product_listing.php oder etwas ähnliches gefunden. Lediglich die ~.html und da gehört das ja nicht hin, oder?

    Gruß Christoph

    hendrik

    • Experte
    • Beiträge: 2.038
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #5 am: 16. August 2010, 10:39:35
    Ich schrieb "nur den HTML-Text" übertragen. Nicht den Gesamtausdruck.
    und:

    [...]
    Ausdruck "$products_new_split" zu "$listing_split" anpassen.
    [...]

    Gruß
    Hen

    rabenkinder.com

    • Neu im Forum
    • Beiträge: 23
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #6 am: 16. August 2010, 11:59:25
    Tschuldigung.

    Wenn ich den HTML-Code wie genannt kopiere kommt folgendes bei raus:

    product_listing.html:

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="index"}

    {if $CATEGORIES_NAME}<h2>{$CATEGORIES_NAME}</h2>{/if}
    {if $CATEGORIES_HEADING_TITLE || $CATEGORIES_DESCRIPTION || $CATEGORIES_IMAGE || $MANUFACTURER_DROPDOWN}
            <div id="frameListHead" class="floatbox">
                    {if $CATEGORIES_IMAGE}<img src="{$CATEGORIES_IMAGE}" alt="{$CATEGORIES_NAME}" class="imgLeft" />{/if}
                    {$CATEGORIES_HEADING_TITLE}<br />
                    {if $CATEGORIES_DESCRIPTION}{$CATEGORIES_DESCRIPTION}{/if}<br />
                    {if $MANUFACTURER_DROPDOWN}{$MANUFACTURER_DROPDOWN}{/if}<br />
            </div>
    {/if}
    <br />
    {assign var="elementNow" value="0"} {* Zurücksetzen der Varible *}
    {foreach name=aussen item=module_data from=$module_content}

    {* Überprüfung welche Spalte derzeit aktuell ist *}
            {if $elementNow == "0" }
            <div class="subcolumns">
                    <div class="c33l">
                            <div class="subcl">
            {elseif $elementNow == "1" }
                    <div class="c33l">
                            <div class="subc">
            {elseif $elementNow == "2" }
                    <div class="c33r">
                            <div class="subcr">
            {/if}

    {* Content *}

      <h1 class="productListing1ColHead"><a href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a></h1>
      <div class="productListing1ColBody">

        <div class="floatbox">
                                    <div class="productListing1ColBodyImg">
                                            {if $module_data.PRODUCTS_IMAGE}
                      <a href="{$module_data.PRODUCTS_LINK}"><img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.PRODUCTS_NAME}" class="thumb_img" /></a>
                    {else}{* if no picture available  *}
                      Leider kein Bild vorhanden.
                    {/if}
                                    </div>
            <div class="productListing1ColBodyTxt">

                                    {if $module_data.PRODUCTS_SHORT_DESCRIPTION!=''}<div class="productListing1ColDesc">{$module_data.PRODUCTS_SHORT_DESCRIPTION}</div>{/if}
                                                    <div class="productListing1ColPriceInfo">{$module_data.PRODUCTS_PRICE}{if $module_data.PRODUCTS_VPE}<br />{$module_data.PRODUCTS_VPE}{/if}<br />
                                                    <span class="productListing1ColTaxInfo">{$module_data.PRODUCTS_TAX_INFO}{$module_data.PRODUCTS_SHIPPING_LINK}</span></div>
                                                    {if $module_data.PRODUCTS_SHIPPING_NAME}
                                                    <div class="productListing1ColShiptime">
                                                    {#text_shippingtime#}
                                                    {if $module_data.PRODUCTS_SHIPPING_IMAGE}<img src="{$module_data.PRODUCTS_SHIPPING_IMAGE}" alt="{$module_data.PRODUCTS_SHIPPING_NAME}" />{/if}
                                                    {$module_data.PRODUCTS_SHIPPING_NAME}
                                            </div>
                {/if}
                <div class="productListing1ColButtons">
                                                            <span class="productListing1ColViewButton"><a href="{$module_data.PRODUCTS_LINK}"><img src="{$tpl_path}buttons/{$language}/small_view.gif" alt="{$module_data.PRODUCTS_NAME}" /></a></span>
                  </div>
            </div></div>
      </div>

      {* Content END*}
                            </div>
                    </div>
    {* Subcolums schließen *}
    {if $elementNow == "2" }
            </div>
    {/if}

    {* Spaltennummer ändern *}
    {if $elementNow <"2" }
            {assign var="elementNow" value=""}
    {else}
            {assign var="elementNow" value="0"}
    {/if}
    {/foreach}
    {* Leere Zellen einfügen *}
    {assign var="but1" value=""}
    {assign var="but2" value=""}
    {* Wenn Spalten unvollständig füge leere Spalten hinzu *}
    {if $but1%3 == 0 }
            <div class="c33l"><div class="subc"> </div></div>
            <div class="c33r"><div class="subcr"> </div></div>
            </div>
    {elseif $but2%3 == 0 }
            <div class="c33r"><div class="subcr"> </div></div>
            </div>
    {/if}

    </div>

    {* NAVIGATION *}
    <div style="width:100%;font-size:smaller">
                      <div style="float:left">'.$listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_LISTING).'</div>
                      <div style="float:right">'.TEXT_RESULT_PAGE.' '.$listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, xtc_get_all_get_params(array ('page', 'info', 'x', 'y'))).'</div>
                      <br style="clear:both" />
               </div>
     
    und so sieht das dann aus:

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    rabenkinder.com

    • Neu im Forum
    • Beiträge: 23
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #7 am: 19. August 2010, 11:09:24
    Hallo zusammen,

    ich muss mich leider nochmal zu meinem Unverständnis bekennen.

    Gerade habe ich die Beiträge alle nochmal Wort für Wort gelesen und muss sagen, dass ich blind war.
    Die "product_listing.ph"p hatte ich einfach nicht gefunden, da ich im falschen Ordner gesucht habe. Habe das "includes" überlesen.

    Werde da nun mein Glück mit versuchen und anschließend von den Ergebnissen berichten.

    Nochmal Entschuldigung und vielen Dank für Eure Hilfsbereitschaft.

    Gruß Christoph

    P.S.: kann jemand den langen Quelltext aus dem vorherigen Beitrag kürzen oder löschen? Ist ja alles Humbug was da steht.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #8 am: 19. August 2010, 11:25:42
    [...]
    P.S.: kann jemand den langen Quelltext aus dem vorherigen Beitrag kürzen oder löschen? Ist ja alles Humbug was da steht.

    Quatsch... dazu ist die Funktion doch da. ;-)

    Da habe ich schon wesentlich längeren Code hier im Forum gesehen und du hast ja wenigstens den PHP-Button gefunden! :o

    P.S.: Danke für die Rückmeldung und viel Erfolg.

    Grüße

    Torsten

    rabenkinder.com

    • Neu im Forum
    • Beiträge: 23
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #9 am: 19. August 2010, 16:44:35
    So. Ich habe nun die Lösung.

    Grundsätzlich war der Hinweis oben goldrichtig! - Danke Hendrik! - Ich stand bloß auf der Leitung.

    Ursprünglich lautete die shop/includes/modules/product_listing.php (ca Zeile 28) so:

    Code: PHP  [Auswählen]
    $navigation = '
                    <table border="0" width="100%" cellspacing="0" cellpadding="2">
                      <tr>
                        <td class="smallText">'
    .$listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS).'</td>
                        <td class="smallText" align="right">'
    .TEXT_RESULT_PAGE.' '.$listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, xtc_get_all_get_params(array ('page', 'info', 'x', 'y'))).'</td>
                      </tr>
                    </table>'
    ;
            if (GROUP_CHECK == 'true') {
                    $group_check = "and c.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
    ich habe es nun geändert und es sieht nun so aus:

    Code: PHP  [Auswählen]
    $navigation = '<div style="width:100%;font-size:smaller"><div style="float:left">'.$listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS).'</div><div style="float:right">'.TEXT_RESULT_PAGE.' '.$listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, xtc_get_all_get_params(array ('page', 'info', 'x', 'y'))).'</div><br style="clear:both" /></div>';
            if (GROUP_CHECK == 'true') {
                    $group_check = "and c.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
    leider musste ich die Zeilenumbrüche entfernen, da der sonst nicht die ' ' um den Quelltext erkannt hat.

    Das Layoutproblem hatte aber einen anderen Grund:

    das {$NAVIGATION} stand hinter dem letzten </div>-Tag.

    Hier bitte ich aber nochmal kurz um Mithilfe: Wenn ich den {$NAVIGATION} einfach vor dem </div> einfüge, meckert smarty, dass es ein Problem mit einem ungeschlossenen \{if} hätte, geöffnet in Zeile 37.
    Nach meinem Wissen habe ich nun für jedes geöffnete if auch ein /if gefunden. Aber ich wüsste trotzdem gerne die Lösung.

    Damit die Fehlermeldung nicht mehr kommt, habe ich das {$NAVIGATION} mit einem <span></span> umgeben.
    Der Code für die ifs steht weiter oben bei

    [...]
    Wenn ich den HTML-Code wie genannt kopiere kommt folgendes bei raus:

    product_listing.html:
    [...]

    Danke für Eure Unterstützung.

    Gruß Christoph

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    {$NAVIGATION} in der product_listing_v1.html zerschießt Layout?
    Antwort #10 am: 19. August 2010, 16:55:41
    Ja prima! Schön, dass du den Fehler gefunden hast, beseitigen konntest und Danke für die positive Rückmeldung. :thx:

    Grüße

    Torsten

    16 Antworten
    7333 Aufrufe
    21. Juni 2012, 08:24:21 von Jossi
    4 Antworten
    4985 Aufrufe
    01. August 2011, 08:30:53 von franky_n
    2 Antworten
    559 Aufrufe
    04. August 2024, 20:09:33 von scaleshop.at
    1 Antworten
    4167 Aufrufe
    08. Juni 2009, 16:18:27 von Peter Will