После долгих поисков этот это самое близкое, что у меня есть. я использую {$smarty.server.REQUEST_URI}
чтобы получить вторую часть URL после http. Естественно, я заканчиваю с большим количеством text1 / text2 / text3. Теперь я извлек последнюю строку текста, расположенную после последней косой черты.
из моего понимания я должен использовать strpos, чтобы получить позицию последнего прямого слеша, в идеале начать с конца и остановиться на первом слэше, который в действительности будет последним, поскольку мы начали справа налево, а затем использовать substr для получения что-нибудь из этого strpos и далее.
Вы можете сделать это следующим образом (если вы используете Smarty2):
{assign var="dirs" value="/"|explode:$smarty.server.REQUEST_URI}
{math equation ="x-y" x=$dirs|@count y=1 assign="last"}
{$dirs[$last]}
и так:
{assign var="dirs" value="/"|explode:$smarty.server.REQUEST_URI}
{$dirs[$dirs|@count-1]}
если вы используете Smarty 3
Шаблон не является подходящим местом для такой обработки. Разберите строку запроса в PHP и присвойте шаблону значения, которые должны отображаться. Системы шаблонов были изобретены для отделения логики (обработка данных, выполненная в коде) от представления (HTML и прочее, выполненное в шаблонах).