По какой-то причине обнаружение последнего предмета является самой ошибочной точкой в Velocity, я создал о нем 3 отчета об ошибках, и хотя он говорит, что они решены - насколько мне известно, он все еще не работает идеально.
Если вы используете Velocity 1.6 и ниже, есть следующие опции:
1) Использование инструмента петли
#foreach( $navItem in $loop.watch($navItems) )
#if($loop.last)
last
#end
#end
Но это не работает (см. ошибку # 1 )
2) Использование внутреннего счетчика $velocityCount
:
#foreach( $navItem in $navItems)
#if($velocityCount == $navItems.size())
last
#end
#end
Это работает.
In Скорость 1,7 :
1) Вы можете просто использовать $foreach.last
:
#foreach( $navItem in $navItems)
#if($foreach.last)
last
#end
#end
Но это не сработает снова (см. bug # 2 и bug # 3 )
2) Сравнение текущего счетчика с размером списка:
#foreach( $navItem in $navItems)
#if($foreach.count == $navItems.size())
last
#end
#end
Это работает.
Да, такая простая задача и так много неприятностей.