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: 1.06 beta 4 - Box ausblenden in ...

    Webi

    • Frisch an Board
    • Beiträge: 94
    1.06 beta 4 - Box ausblenden in ...
    am: 17. Dezember 2012, 09:06:37
    Guten Morgen,
    die Boxen ausblenden mit
    Code: PHP  [Auswählen]
    {if !strstr ($smarty.server.PHP_SELF, 'product_info')}{$box_1}{/if}
    ist ja kein Problem, aber wie macht man das gleichzeitig in der checkout noch ???

    Beispiel für product_info
    Code: PHP  [Auswählen]
    {if !strstr ($smarty.server.PHP_SELF, 'product_info')}
          <div id="rightcol">
            {$box_CART}
            {$box_LOGIN}
            {$box_ADMIN}
            {$box_NEWSLETTER}
            {$box_BESTSELLERS}
            {$box_INFOBOX}
            {$box_CURRENCIES}
            {$box_MANUFACTURERS_INFO}
            {$box_MANUFACTURERS}
          </div>
        {/if}


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

    xeron

    • Schreiberling
    • Beiträge: 497
    • Geschlecht:
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #1 am: 17. Dezember 2012, 10:44:20
    moin,

    setz mal das ein:

    Code: PHP  [Auswählen]
    {if !strstr ($smarty.server.PHP_SELF, 'checkout') && !strstr ($smarty.server.PHP_SELF, 'product_info')

    grüße
    André

    Webi

    • Frisch an Board
    • Beiträge: 94
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #2 am: 17. Dezember 2012, 12:32:29
    Hallo,
    bei deinem Code Schnippsel habe ich alles weg bis auf das Hintergrundbild.

    richtig wäre
    Code: PHP  [Auswählen]
    {if !strstr ($smarty.server.PHP_SELF, 'checkout') && !strstr ($smarty.server.PHP_SELF, 'product_info') }

    und wie bekomme ich dann noch in der product_info_tabs_v1.html die Anzeige erweitert ?

    Der Platz wo die Boxen waren soll jetzt mit den ArtikelDetails gefüllt werden. Wenn ich aber jetzt das
    Code: CSS  [Auswählen]
    #content {
    float:left;
    width:530px;
    padding:0 25px;
    margin-bottom:15px;
    }
    von 530 auf 730px vergrössere, stimmt die Ansicht im index nicht mehr :(

    Matt

    • Experte
    • Beiträge: 4.241
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #3 am: 17. Dezember 2012, 12:45:11
    Neue Klasse an den Body setzen, die sich darum kümmert, dass #content breiter wird, wenn sie da ist. Und idealerweise keine IDs für CSS-Regeln nehmen.

    Und wo wir gerade bei Performance sind: Es ist erheblich sinnvoller, die Abfrage direkt in der boxes.php zu integrieren. Bei der derzeitigen Lösung werden die Boxen nämlich trotzdem vom php-Parser erzeugt, aber dann im Template einfach nicht benutzt.

    Webi

    • Frisch an Board
    • Beiträge: 94
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #4 am: 17. Dezember 2012, 12:59:31
    Hallo Matt

    naja ich bin ja schon froh das ich das über die template Dateien hinbekommen habe. Das mit der Box.php wegen Perfomnce wäre wirklich besser aber sowas übersteigt mein wissen in der Sache :/

    Mit einem Besipiel dafür könnte ich vlt was anfangen.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #5 am: 17. Dezember 2012, 18:51:05
    Na, ist doch das gleiche, nur eben mit PHP-Code anstatt Smarty.
    In der boxes.php werden doch alle Boxen "included" oder "required",
    also
    Code: PHP  [Auswählen]
    if (!strpos ($PHP_SELF, 'checkout')) {
    DIE_BOXEN_DIE_DU_HABEN_WILLST
    }

    Eine Smarty-Variante dessen benötigst du im Template trotzdem noch, damit du die alternative class für die Content-Breite anlegen kannst.

    Gruß,
    noRiddle

    Webi

    • Frisch an Board
    • Beiträge: 94
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #6 am: 17. Dezember 2012, 20:05:09
    das mit der Box.php habe ich hoffentlich vernüftig hin bekommen.
    Code: PHP  [Auswählen]
    //BOC require boxes
    // -----------------------------------------------------------------------------------------
    //      Immer sichtbar
    // -----------------------------------------------------------------------------------------
      require_once(DIR_WS_BOXES . 'categories.php');

      require_once(DIR_WS_BOXES . 'last_viewed.php');
      require_once(DIR_WS_BOXES . 'search.php');
      require_once(DIR_WS_BOXES . 'content.php');
      require_once(DIR_WS_BOXES . 'information.php');
      require_once(DIR_WS_BOXES . 'languages.php');
     
     // Box ausgeblendet in Produkt Details 1/2
    if (!strpos ($PHP_SELF, 'product_info')) {
            require_once(DIR_WS_BOXES . 'loginbox.php');
            require_once(DIR_WS_BOXES . 'infobox.php');
            require_once(DIR_WS_BOXES . 'newsletter.php');
            require_once(DIR_WS_BOXES . 'manufacturers.php');
            require_once(DIR_WS_BOXES . 'manufacturer_info.php');
            require_once(DIR_WS_BOXES . 'shopping_cart.php');
     }
    // Box ausgeblendet in Produkt Details 2/2
     
    // -----------------------------------------------------------------------------------------
    //      Nur, wenn Preise sichtbar
    // -----------------------------------------------------------------------------------------
      if ($_SESSION['customers_status']['customers_status_show_price'] == 1) {
        require_once(DIR_WS_BOXES . 'add_a_quickie.php');
    //    require_once(DIR_WS_BOXES . 'shopping_cart.php');
      }
    // -----------------------------------------------------------------------------------------
    //      In der Suche verborgen
    // -----------------------------------------------------------------------------------------
      if (substr(basename($PHP_SELF), 0,8) != 'advanced') {
        require_once(DIR_WS_BOXES . 'whats_new.php');
      }
    // -----------------------------------------------------------------------------------------
    //      Nur fuer Admins
    // -----------------------------------------------------------------------------------------
      if ($_SESSION['customers_status']['customers_status_id'] == 0) {
        require_once(DIR_WS_BOXES . 'admin.php');
      }
    // -----------------------------------------------------------------------------------------
    //      Produkt-Detailseiten
    // -----------------------------------------------------------------------------------------
      if ($product->isProduct()) {
        //Aktuelle Seite ist Produkt-Detailseite
    //  require_once(DIR_WS_BOXES . 'manufacturer_info.php');
      } else {
        //Aktuelle Seite ist keine  Produkt-Detailseite
        require_once(DIR_WS_BOXES . 'best_sellers.php');
        require_once(DIR_WS_BOXES . 'specials.php');
      }
    // -----------------------------------------------------------------------------------------
    //      Nur fuer eingeloggte Besucher
    // -----------------------------------------------------------------------------------------
      if (isset($_SESSION['customer_id'])) {
        require_once(DIR_WS_BOXES . 'order_history.php');
      }
    // -----------------------------------------------------------------------------------------
    //      Nur, wenn Bewertungen erlaubt
    // -----------------------------------------------------------------------------------------
      if ($_SESSION['customers_status']['customers_status_read_reviews'] == 1) {
        require_once(DIR_WS_BOXES . 'reviews.php');
      }
    // -----------------------------------------------------------------------------------------
    //      Waehrend des Kauf-Abschlusses verborgen
    // -----------------------------------------------------------------------------------------
      if (substr(basename($PHP_SELF), 0, 8) != 'checkout') {
        require_once(DIR_WS_BOXES . 'currencies.php');
      }
    // -----------------------------------------------------------------------------------------
    //EOC require boxes

    nur was ist jetzt mit gemaint ?
    Zitat
    Eine Smarty-Variante dessen benötigst du im Template trotzdem noch, damit du die alternative class für die Content-Breite anlegen kannst.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #7 am: 17. Dezember 2012, 20:20:02
    ??

    Das ist doch schon drin:
    Code: PHP  [Auswählen]
    <div id="content{if strpos($smarty.server.PHP_SELF, 'checkout')}full{/if}">

    Bis 1.05 SP1d war's so:
    Code: PHP  [Auswählen]
    <div
    {if !strstr ($smarty.server.PHP_SELF, 'checkout')}
        id="content"
    {else}
        id="contentfull"
    {/if}
    >

    Das kannst du doch dann anpassen wie du's braucht.

    Gruß,
    noRiddle

    Webi

    • Frisch an Board
    • Beiträge: 94
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #8 am: 17. Dezember 2012, 20:22:35
    hier dreht es sich um die 1.06 Bbeta 4

    auszug aus der index.html
    Code: PHP  [Auswählen]
    <div id="breadcrumb">{$navtrail}</div>
      <div id="contentwrap">
        {if !strstr ($smarty.server.PHP_SELF, 'checkout')}
          <div id="leftcol">
              {$box_CATEGORIES}
              {$box_ADD_QUICKIE}
              {$box_CONTENT}
              {$box_INFORMATION}
              {$box_LAST_VIEWED}
              {$box_REVIEWS}
              {$box_SPECIALS}
              {$box_WHATSNEW}
           </div>
          {/if}
        <div id="content{if strpos($smarty.server.PHP_SELF, 'checkout')}full{/if}">
          {if strstr ($smarty.server.PHP_SELF, 'index')}
            {if $smarty.get.cPath==null and $smarty.get.manufacturers_id==''}
              {if $BANNER}{$BANNER}{/if}
            {/if}
          {/if}
          {$main_content}
        </div>
        {if !strstr ($smarty.server.PHP_SELF, 'checkout')}
          <div id="rightcol">
            {$box_CART}
            {$box_LOGIN}
            {$box_ADMIN}
            {$box_NEWSLETTER}
            {$box_BESTSELLERS}
            {$box_INFOBOX}
            {$box_CURRENCIES}
            {$box_MANUFACTURERS_INFO}
            {$box_MANUFACTURERS}
          </div>
        {/if}
      </div>
      <p class="footer">{$smarty.const.TITLE} &copy; {$smarty.now|date_format:"%Y"} | Template &copy; 2009-{$smarty.now|date_format:"%Y"} by <span class="cop_magenta">mod</span><span class="cop_grey">ified eCommerce Shopsoftware</span></p>
    </div>

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #9 am: 17. Dezember 2012, 21:14:54
    Mir vergeht gerade die Lust dir zu helfen.
    Lies einfach nochmal was ich geschrieben habe und schau' in deinen gerade geposteten Code.

     :blower:

    Webi

    • Frisch an Board
    • Beiträge: 94
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #10 am: 17. Dezember 2012, 21:55:20
    naja dann habe ich ebend Pech gehabt, denn das kapiere ich nie im Leben.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #11 am: 17. Dezember 2012, 22:00:44
    Hätte ich ja Verständnis für,
    aber wenn du auf meinen Post mit den Beispielen schreibst
    "hier dreht es sich um die 1.06 Beta 4"
    muß ich ja denken du liest gar nix richtig sondern erwartest, daß dir jemand hier eine fertige Lösung präsentiert.
    In dem von dir selbst geposteten Code der Beta 4 steht doch genau das was ich als erstes geschrieben habe.
    Was also willst du mir mit dem oben zitierten Satzfragment sagen ?

    Gruß,
    noRiddle

    P.S.
    wenn du nicht weißt was Matt mit der class im body meinte und nicht weißt was der Code in der index.html bewirkt den ich zitiert habe, dann mußt du danach fragen, hier hat niemand eine :glaskugel: ...

    Webi

    • Frisch an Board
    • Beiträge: 94
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #12 am: 17. Dezember 2012, 22:16:02
    wenn ich hier bin, sollen die Boxen rechts komplett weg sein.

    Der Inhalt sollte sich dann um die breite der Boxen nacht rechts vergrössern.

    Und so sollte es am Ende aussehen.
    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Matt

    • Experte
    • Beiträge: 4.241
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #13 am: 17. Dezember 2012, 22:22:37
    Code: XML  [Auswählen]
    <div id="content{if strpos($smarty.server.PHP_SELF, 'checkout') || strpos($smarty.server.PHP_SELF, 'product_info')}full{/if}">

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: 1.06 beta 4 - Box ausblenden in ...
    Antwort #14 am: 17. Dezember 2012, 23:58:27
    Nicht ganz, denn nach dem Bild, daß Webi gepostet hat zu urteilen, möchte er ja in der product_info die linken Boxen schon noch drin haben.
    Webi, du mußt dann halt eine eigene class für den Fall product_info generieren und die dann mit CSS formatieren.
    In der bereits genannten boxes.php mußt du natürlich entsprechend die Boxen die links noch sichtbar sein sollen für den Fall, daß man sich in der product_info befindet konfigurieren.

    Falls du nicht verstehst:
    Matt's Code bedeutet in Worten:
    <div id="content{wenn das Wort 'checkout' in der URL vorkommt oder wenn 'product_info' in der URL vorkommt}full">
    Also lautet die id für das div
    • "content" wenn man sich nicht auf einer checkout- oder einer product_info -Seite befindet
      und
    • "contentfull" wenn man sich auf einer der genannten Seiten befindet

    Zur Info:
    Wenn du SEO-URLs aktiviert hast sieht man das product_info zwar nicht in der URL, intern ist es aber da, da ja lediglich die SEO-URL intern auf die "echte" URL, nämlich
    http://www.DEINE_DOMAIN.de/product_info?product_id=XXumgeleitet wird.

    Jetzt müsstest du doch klarkommen.

    Gruß,
    noRiddle
    2 Antworten
    3107 Aufrufe
    26. Dezember 2012, 15:50:28 von Dato
    2 Antworten
    1377 Aufrufe
    16. November 2017, 18:57:56 von rjung
               
    anything