После многих поисков это самое близкое, что я получил. Я использую {$smarty.server.REQUEST_URI}
чтобы получить вторую часть URL-адреса после http. Естественно, я получаю много текста1/text2/text3. Теперь я извлекаю последнюю строку текста, расположенную после последней косой черты.
из моего понимания я должен использовать strpos, чтобы получить позицию последнего forwardslash, в идеале начать с конца и остановиться на первой косой черте, которая на самом деле была бы последней, поскольку мы начали с права налево, а затем использовали 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 и прочее, выполненное в шаблонах).