rewrite view callback function detail to use template and shortcuts