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...