Controller not working on custom post type with underscores
eduardoarandah opened this issue · 3 comments
Controllers don't work when dealing with CPT that has underscores.
My CPT is cnm_yacht
template:
single-cnm_yacht.blade.php works!
Controller:
SingleCnmYacht Controller doesn't work
Temporary solution is adding $template var to controller
but.. is there a better alternative?
if not... can we add this to instructions?
class SingleCnmYacht extends Controller {
protected $template = "single-cnm_yacht";
public function ok() {
return "hola";
}
}
This line is also a good helper to find out hierarchy:
put this one in your template:
$hierarchy = new Brain\Hierarchy\Hierarchy();
var_export( $hierarchy->getTemplates($wp_query) );
@eduardoarandah I believe that is the best solution. #49 (comment)
CPT with underscores is pretty standard, is there a reason for this not to be automatic ?
Can I help?
Agreed that this is at least a minor bug that should be fixed. I don't have time right now to get to the bottom of it, but I tracked it to here:
Lines 63 to 66 in 76a4181
This seems backwards to me. Instead using the class name to determine the correct template, we should use the names of the current template and its ancestors to generate a list of classes to load. Such a list of templates is already being generated in Loader.php:
Line 137 in 76a4181