Ich arbeite an einer Website, die die Nav-Links zum reibungslosen Scrollen zu Ankern auf der Homepage benötigt, und die Nav-Links zu einzelnen Seiten auf allen anderen Seiten verknüpft werden. Ich habe verschiedene Taktiken ausprobiert, um dies ohne Erfolg zu erreichen. Hier sind einige Möglichkeiten, wie ich das versucht habe.Smarty-Einstellung nav href basierend auf URL
URLs werden mit .htaccess
erstellt. Home hat keinen Anforderungs-URI, da es sich um die Indexseite der Site handelt. PUBLIC_URL
ist in einer Konfigurationsdatei festgelegt.
Überprüfen Sie, ob HTTP_HOST
gleich PUBLIC_URL
ist und dass keine Parameter für andere Seiten übergeben werden.
{if $smarty.server.HTTP_HOST == $smarty.const.PUBLIC_URL && $smarty.server.REQUEST_URI == ''}
<a href="#locations">Our Locations <i class="ti-angle-down"></i></a></span>
{else}
<a href="{$public_url}locations">Our Locations <i class="ti-angle-down"></i></a></span>
{/if}
prüfen, ob es irgendwelche params ist (logisch funktioniert nicht wie PUBLIC_URL
eine Konstante ist, und somit wird immer false zurück in diesem Fall).
{if $smarty.const.PUBLIC_URL == ''}
<a href="#locations">Our Locations <i class="ti-angle-down"></i></a></span>
{else}
<a href="{$public_url}locations">Our Locations <i class="ti-angle-down"></i></a></span>
{/if}
der Vorlage Gehender Basis aus (logisch funktioniert nicht wie die nav in einem eigenen Template-Datei enthalten ist) verarbeitet werden.
{if $smarty.template == 'home.tpl'}
<a href="#locations">Our Locations <i class="ti-angle-down"></i></a></span>
{else}
<a href="{$public_url}locations">Our Locations <i class="ti-angle-down"></i></a></span>
{/if}
Prüfen, ob keine Anfrage-URI vorhanden ist. Gibt immer noch falsch zurück.
{if $smarty.server.REQUEST_URI === ''}
<a href="#locations">Our Locations <i class="ti-angle-down"></i></a></span>
{else}
<a href="{$public_url}locations">Our Locations <i class="ti-angle-down"></i></a></span>
{/if}
Ich habe für ein paar Stunden auf diese aufgeklebt, und habe meine Suchanfragen auf Google erschöpft, SO und Foren Smarty. Jede Richtung wird sehr geschätzt.