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: Wieder einmal Boxen ausblenden - Startseite und Contentseiten Problem?!

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.869
    • Geschlecht:
    Hallo,

    entweder stelle ich mich mal wieder oder ich check was nicht (Pi mal Daumen das Selbe  :-D)

    Hiermit kann ich in der boxes.php doch sagen, dass diese Box nur auf der Startseite angezeigt werden soll, richtig?
    Code: PHP  [Auswählen]
    if (strpos($PHP_SELF, 'index')!==false && !isset($_GET['cPath']) && !isset($_GET['manufacturers_id'])) {
      require_once(DIR_WS_BOXES . 'categories.php');
      $smarty->assign('home', 1);
    }

    Soweit sogut, in den ganzen Kategorien, Produktdetailseiten wird es dann auch richtigerweise nicht mehr angezeigt.

    Nur leider wird diese Box dann weder in Contentseiten (Lieferzeiten, AGB, etc.) noch in account.php, login.php, advanced_search.php etc. dargestellt.

    Erreichen möchte ich aber:
    lade diese Box auf Startseite, Content-Seiten, Mein Konto, Suche etc.
    ABER lade nicht auf Produktseiten, Kategorieseiten, checkout...

    Wie stelle ich das am besten an?

    Grüße
    Dominik

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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.001
    • Geschlecht:
    Mach's in der index.html deines Templates so:
    Code: PHP  [Auswählen]
    {if !strpos($smarty.server.PHP_SELF, 'checkout') && $smarty.get.cPath == null && $smarty.get.products_id == null}
    {$die_BOXEN}
    {/if}

    In Worten:
    Wenn 'checkout' nicht in der URL vorkommt (= Checkout-Seite)
    und $_GET['cPath'] nicht gesetzt ist (= Kategorie)
    und $_GET['products_id'] nicht gesetzt ist (= Produktseite),
    dann zeige die folgenden Boxen.

    Gruß,
    noRiddle

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.869
    • Geschlecht:
    Servus Oli,

    danke dir wieder mal für deine Hilfe. Das Problem über die index.html hatte ich vorher ja schon gelöst. Wollte eben der Performance wegen die Sache in die boxes.php verlegen, um unnötige Datenbankabfragen zu minimieren.

    Deswegen hab ich das nun anders gelöst, ich hoffe, das stimmt so:
    Code: PHP  [Auswählen]
    if (!isset($_GET['cPath']) && !$product->isProduct()) {
      require_once(DIR_WS_BOXES . 'categories.php');
      $smarty->assign('catpath', 1);
    }

    Hierdurch sollte die Box auf Produkt- & Kategorieseiten nicht abgefragt werden.

    Den Checkout hab ich so gelöst, dass nur eine einzige bestimmte Box geladen wird:
    Code: PHP  [Auswählen]
    if (strpos($PHP_SELF, FILENAME_SHOPPING_CART) || strpos($PHP_SELF, 'checkout')) {
      require_once(DIR_WS_BOXES . 'advantages.php');
      $smarty->assign('buying_process', 1);
    }

    Somit erscheint die box_CATEGORIES also generell im Shop, aber weder im checkout noch auf den Produkt-/Kategorieseiten.

    Grüße
    Dominik
    2 Antworten
    3109 Aufrufe
    26. Dezember 2012, 15:50:28 von Dato
    2 Antworten
    3474 Aufrufe
    03. März 2011, 13:43:53 von chris755
    21 Antworten
    13253 Aufrufe
    12. Februar 2014, 17:19:37 von noRiddle (revilonetz)
    1 Antworten
    202 Aufrufe
    22. Februar 2024, 07:17:50 von MrGrafix
               
    anything