Uploaded image for project: 'Velocity'
  1. Velocity
  2. VELOCITY-532

$velocityCount in macro not processed

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.5
    • Fix Version/s: 1.6
    • Component/s: None
    • Labels:
      None

      Description

      ---------- Forwarded message ----------
      From: mraible <matt@raibledesigns.com>
      Date: Mar 22, 2007 11:28 AM
      Subject: Issue with $velocityCount in 1.5
      To: user@velocity.apache.org

      I've been using Velocity 1.4 for a couple of years now with great success.
      Today, I tried to use Struts Menu 2.4.2 with Velocity 1.5 and found an issue
      with $velocityCount not being properly processed. My template is below.

      The problem occurs on the following line:

      #if ($velocityCount == $menu.parent.components.size())
      <li class="last">
      #else

      With 1.4, $velocityCount turns into a number when the displayCssMenu macro
      is called from #foreach. However, in 1.5, it's never turned into a number.

      Any ideas?

      Thanks,

      Matt

      #macro( displayCssMenu $menu )
      #if ($displayer.isAllowed($menu))

        1. set menu title
          #set ($title = $displayer.getMessage($menu.title))

      #if (!$menu.url) #set ($url="javascript:void(0)") #else #set
      ($url=$menu.url) #end

        1. create a single menu item
          #if ($menu.components.size() == 0)
          #if ($velocityCount == $menu.parent.components.size())
          <li class="last">
          #else
          <li>
          #end
          #if ($menu.name == $currentMenu)
          $url ${title}
          #else
          $url ${title}
          #end
          #else ## create multiple menu items in a menu
          #if ($menu.components.size() > 0)
          #set ($hasViewableChildren = false)
          #foreach ($menuIt in $menu.components)
          #if ($displayer.isAllowed($menuIt))
          #set($hasViewableChildren = true)
          #end
          #end
          #end

      <li#if ($hasViewableChildren) class="menubar"#end>
      $url ${title}
      #end

      #if ($menu.components.size() > 0)
      #if ($hasViewableChildren)
      <ul>
      #end

      #foreach ($menuIt in $menu.components)
      #displayCssMenu($menuIt)
      #end

      #if ($hasViewableChildren && ($velocityCount ==
      $menu.parent.components.size()))
      </ul>
      #else
      </li>
      #end
      #else
      </li>
      #if ($velocityCount == $menu.parent.components.size())
      </ul>
      #end
      #end
      #end
      #end

      #displayCssMenu($menu)

      View this message in context: http://www.nabble.com/Issue-with-%24velocityCount-in-1.5-tf3449438.html#a9621118
      Sent from the Velocity - User mailing list archive at Nabble.com.

      ---------------------------------------------------------------------
      To unsubscribe, e-mail: user-unsubscribe@velocity.apache.org
      For additional commands, e-mail: user-help@velocity.apache.org


      Forio Business Simulations

      Will Glass-Husain
      wglass@forio.com
      www.forio.com

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                wglass Will Glass-Husain
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: