Building a frontend interface
Now that we have defined the necessary minimum for data persistence functionality, we can move forward to building a frontend interface. The module requirement says that customers should be able to submit a ticket through their My Account section. We will therefore add a link called Helpdesk Tickets under the customer's My Account section.
The following are needed for a fully functional frontend:
A route that will map to our controller
A controller that will catch requests from a mapped route
A controller action that will load the layout
Layout XMLs that will update the view making it look as if we are on the My Account section while providing content of our own
A block class to power our template file
A template file that we will render into the content area of a page
A controller action that will save the New Ticket form once it is posted
Creating routes, controllers, and layout handles
We start by defining a route within the app/code/Foggyline/Helpdesk/etc/frontend...