Open KES777 opened 5 years ago
my $handler = $options->{handler}; if (defined(my $variant = $options->{variant})) { $variant = "$template+$variant"; my $handlers = $self->{templates}{$variant} // []; $template = $variant if @$handlers && !defined $handler || grep { $_ eq $handler } @$handlers; } return defined $handler ? "$template.$handler" : $template;
Если нет хендлера, то можно получить 'templ' -> 'templ' Но есди задали вариант, то нельзя получить 'templ+my_variant' без хендлера
if @$handlers && !defined $handler || grep { $_ eq $handler } @$handlers;
Если нет хендлеров, то всё равно работает grep
Похоже нужно переписать его так:
if !defined $handler || @$handlers && grep { $_ eq $handler } @$handlers;
Это сделано из-за того, что варианты не поддерживают фолбэки
и нужно найти место, где заполняется $self->{ templates }
Если нет хендлера, то можно получить 'templ' -> 'templ' Но есди задали вариант, то нельзя получить 'templ+my_variant' без хендлера
Если нет хендлеров, то всё равно работает grep
Похоже нужно переписать его так: