В настоящее время существует ошибка (или, может быть, это по дизайну, но было бы глупо быть как таковой) с помощником autocrumb, что означает, что замены шаблона регулярного выражения не выполняются, если у конкретного сегмента нет дефиса (-
) или подчеркивание (_
).
Обычно для использования в ваших конфигурациях может быть достаточно использовать конфигурационную переменную $config['strip_regexp']
, но, увы, не в этом случае.
В этом случае (при условии что привычка мне больше параметров на конце URL), вы можете сделать следующее:
$ci = get_instance();
if(preg_match('#\d+/[a-z0-9]+$#i', $ci->uri->uri_string())) {
$config['exclude_segment'] = $config['exclude_segment'] + array(
$total = $ci->uri->total_segments(),
$total-1
);
}
Это должно быть вставлено только под $config['exclude_segment'] = array();
в app/config/breadcrumb.php
файл, который в основном говорит, если URL заканчивается с numbers/letter-number-pattern
, а затем удаляет последние два сегмента URL-адреса из палитры.
Это меньше, чем идеально, но ошибка должна быть исправлена в первую очередь. Очевидно, это предполагает, что ваша структура URL не изменится. Вы можете добавить дополнительные условные обозначения в if
, чтобы убедиться, что это происходит только на желаемых страницах.
спасибо. Я, хотя есть правильный способ, не взламывая помощников, но я предполагаю, что сначала улажу этот метод, пока они не выйдут с исправлением ошибки. – cyberfly