Hey Lonnie,
Glad to hear you're having some success. Try adding the following to the bottom of constants.ftl:
[#assign routeUrl = "../r" + timesTable.getRouteShortName()?default("undefined")?left_pad(3, "0") + ".htm"]
Just to break down what's happening in the line above:
".htm" : each route landing page begins with an 'r' and ends in '.htm', and is then made of the 3 character route id (and where the route id has less then 3 characters, it's padded with zeros)
timesTable : timesTable is a controller object that contains all the route and schedule information
.getRouteShortName() : is a method of timesTable that is used to retrieve the route_short_name data for this route
?default("undefined") : if .getRouteShortName() returns an empty string for some reason, use 'undefined' as a default value ... good here, since it won't make the page blow up with errors early if there's no short-name available
?left_pad(3, "0") : for strings that are shorter than 3 characters in length, pad the string with "0" until it is 3 characters long -- makes sense for TriMet, since we wanted 004 to point to the line 4's timetable, etc...
If you don't need any of the defaults or padding, feel free to remove, etc... And the lines following the routeNum assignment are those that appear on the timetable for things like the pdf, etc... More customization can
Take care,
Frank