Most web site designs use responsive coding that means the tablet and mobile views are based on the desktop view. Its all one single template, when the browser viewport width is that of a tablet or mobile it loads alternate CSS only, not an entirely new template. You are limited to placement of objects by the desktop module positions. You can hide objects like columns or rows or adjust how many columns are in a row but loading an entirely new template for those viewports using device detection or other javascript methods is unreliable and prone to failure just after a few years as devices and software changes, it can be done but it’s not very reliable and it only works for a short time before it becomes a problem.
I don’t think you want to go the route of device detection and loading an entirely new template givens its issues. The best way is responsive coding where the design is based off the desktop viewport and as the browser window screen width shrinks it adjusts CSS only.
