Problem mit DirectURL v3

  • Hallo,

    zunächst einmal frohes neues Jahr!
    Ich möchte gerne im Template einen bestimmten Teil nur auf der Startseite anzeigen lassen, soweit mir bekannt ist, kann man das generell wie folgt lösen:

    HTML
    {if strstr ($smarty.server.PHP_SELF, 'index')}
    Quelltext oder Box
    {/if}

    leider funktioniert das mit den DirectURL nicht einwandfrei. Zwar wird der eingeschlossene Quelltext nur auf der index.php angezeigt, allerdings ist beim direkten URL-Aufruf keine Ausgabe zu sehen. Das ist natürlich nicht ganz in meinem Sinne, da der Shop im Zweifel meist ohne den Zusatz /index.php aufgerufen wird.
    Eine Verlagerung in die Datei /module/main_content.html im Templateverzeichnis ist leider nicht möglich.
    Kann mir jemand von Euch weiterhelfen?

    Lg cerevisiam

  • Das ist eigentlich recht simpel. Der Shop arbeitet nur mit $_GET Befehlen. Also Prüfen ob diese leer sind, wenn ja -> Startseite ist geladen.

    Das könnte etwa so aussehen:

    HTML
    {php} if($_GET['coID']=='' && $_GET['cat']=='' && $_GET['cPath']=='' && $_GET['products_id']=='' && $_GET['manufacturers_id']=='' && $_GET['blog_id']=='' && $_GET['blog_cat']=='') { {/php}
         Dieser Text erscheint nur wenn die Startseite geladen wurde.
    {php} } {/php}

    Ist zwar ein bissel mehr Code, aber ne bombensichere Lösung.

  • Hallo Siekiera,

    vielen Dank für die schnelle Hilfestellung.
    Das funktioniert schon mal sehr viel besser, allerdings müsste ich jetzt noch den Bestellprozess, alle Account-Seiten und den Warenkorb ebenfalls auschliessen.
    Dort wird der Inhalt noch angezeigt.

    Ergänzung:
    Da die Zeit ein wenig drängt, habe ich es jetzt wie folgt gelöst:
    - Zweite, modifizierte index-Datei im Verzeichnis Templates angelegt (index2.html)
    - Alle relevanten Dateien im Rootverzeichnis des Shops (z.B. account.php) wie folgt geändert:

    HTML
    $smarty->display(CURRENT_TEMPLATE.'/index.html');


    geändert in:

    HTML
    $smarty->display(CURRENT_TEMPLATE.'/index2.html');

    Die Kombination der beiden Änderungen (Lösungsansatz von Siekiera, Nachbearbeitung der php-Dateien im Root) hat zum gewünschten Erfolg geführt.
    Vielleicht ist das ja für den einen oder anderen commerce:SEO Nutzer ebenfalls interessant.

    Lg cerevisiam

    2 Mal editiert, zuletzt von cerevisiam (5. Januar 2010 um 15:33)