Путь на сайте

Путь на сайте

от Михаил С -
Количество ответов: 16

Почему путь на сайте отображается не весь т.е. вот я зашел в категорию и вижу путь: 

В начало  Категории курсов  Курсы повышения квалификации


Перехожу в подкатегорию и вижу:

 

В начало  Категории курсов  Изучение Moodle(группа 2)

Получается что если ходить по категориям и подкатегориям то назад вернуть с помощью пути нельзя.

Мне нужно чтобы было так: 

В начало  Категории курсов  Курсы повышения квалификации  Изучение Moodle(группа 2)

 

В ответ на Михаил С

Re: Путь на сайте

от Vadim Tabunshchik -
Изображение пользователя Developers

Михаил, так сделали специально, чтобы строка навигации была компактной.

Вы сами в другом топике писали, что "На сайте много подкатегорий". Представьте, сколько текста будет в навигации, если отображать полный путь до курса (сайт->гл.категория->подкатегории->…->курс). А иначе и не получится. Или всё, или только ссылка на course/category.php?id=х

Назад вернуться можно или кнопкой в браузере, или через список категорий/курсов.

Кстати, давно как-то эта тема обсуждалась, и, по-моему, Вадим Дворовенко предлагал патч, кот. изменял строку навигации так, как вам нужно. Поищите тему на форуме, а патчик я тут прикреплю, на всякий случай (если тему не найдете) улыбаюсь

Первая часть патча - полный путь к курсу, вторая - показывает все подкатегории. Кажется так. улыбаюсь

В ответ на Vadim Tabunshchik

Re: Путь на сайте

от Михаил С -

Ох, а как патчи ставятся в мудол 1.9 ? 

В ответ на Михаил С

Re: Путь на сайте

от Vadim Tabunshchik -
Изображение пользователя Developers

Если патч небольшой (мало изменений), можно сделать замену строк "ручками". На примере фрагмента файла breadcrumbcategory.patch (открывать лучше блокнотом с поддержкой подсветки кода):

Index: moodle/course/category.php
--- moodle/course/category.php Base (1.119.2.13)
+++ moodle/course/category.php Locally Modified (Based On 1.119.2.13)
@@ -85,7 +85,18 @@
     $strcourses = get_string('courses');
 
     $navlinks = array();
-    $navlinks[] = array('name' => $strcategories, 'link' => 'index.php', 'type' => 'misc');
+    $navigation_category_id = $category->parent;
+    $category_navlinks = array();
+    while ($navigation_category_id != 0) {
+        $navigation_category = get_record('course_categories', 'id', $navigation_category_id);
+        $category_navlinks[] = array(

Указан файл, кот. изменяется - moodle/course/category.phpИзмененные строки - @@ -85,7 +85,18 @@
Серым - начало строк, красным цветом с минусом впереди - удалённые строки, зеленым цветом с + впереди - добавленные.

Или используйте спец. программы для применения патчей улыбаюсь (Тема про TinyMCE редактор на форуме и др.)

В ответ на Vadim Tabunshchik

Re: Путь на сайте

от Михаил С -

Огромное человеческое спасибо! Не ожидал такого подробного ответа )
Все получилось, все работает!

В ответ на Михаил С

Re: Путь на сайте

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

Как оно выглядит при 3-4 подкатегориях с длинными названиями категорий ?

В ответ на Виталий Лавров

Re: Путь на сайте

от Михаил С -
В ответ на Михаил С

Re: Путь на сайте

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

Нормально смотрится для тех у кого монитор full HD, а вот на каком-нибудь 19" или ноуте с 15" оно будет мешать.

В ответ на Михаил С

Re: Путь на сайте

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Хотя у Михаила вроде другая версия, скажу про почти такую же проблему в 2.4.

Эти нехорошие люди (хочется сказать куда грубее) из штаб-квартиры мудл опять намудрили, решив, что они лучше всех понимают, что же именно нужно простым пользователям. А может просто потому что не задумываются, что есть вещи, которые для них важны. Сначала делают полнуй путь к курсу в breadcrumb в версии 2.0, потом убирают его в 2.4. А всё дело в новом элементе "Текущий курс", в который перенесли активный курс в блоке навигации. А так как путь в breadcrumb берётся из навигации, то и там путь тоже укоротился. А то, что, возможно, стоит сделать путь в навигации и в breadcrumb разным, хотя бы потому, что навигация шириной 190px, а breadcrumb шириной в весь экран, почему-то не подумали. Написал по этому поводу гневное сообщение на трекере, но не надеюсь на изменения, ибо даже элементарные вещи туда приходится проталкивать по несколько лет.

Злости моей нет предела - два дня искал, где же в коде это находится. Прилагаю патч, отключающий пункт текущий курс и, как следствие, возвращающий полный путь в breadbrumb

В ответ на Vadim Dvorovenko

Re: Путь на сайте

от Sergey Zolotykhin -

огромное спасибо за патч!

я вообще не понимаю назначение блока навигация. если в курсе 20 тем, то блок растягивается почти на всю высоту страницы. что в итоге дает блог навигация мне не понятно. 

В ответ на Sergey Zolotykhin

Re: Путь на сайте

от Alexandre Scherbyna -

Блок навигации позволяет с любой страницы (раздела) одной деятельности (или ресурса) перейти на любую страницу другой непосредственно, не проходя через главную страницу этой деятельности и главную страницу курса. Т.е. он дает экономию времени (отпадает необходимость загрузки промежуточных страниц). Ну а если он у вас много места занимает, сверните его или переместите на док-панель.

В ответ на Михаил С

Re: Путь на сайте

от Petr Zakharov -

Обновили Мудл до 1.9.19+, php 5.3.3

Вместо пути теперь просто надпись Array.

Вот с выводом сообщения об ошибке:

Ошибки такие:

Navigation needs to be updated to use build_navigation()
    line 3767 of lib/weblib.php: call to debugging()
    line 37 of theme/formal_white/header.html: call to print_navigation()
    line 2773 of lib/weblib.php: call to include()
    line 157 of admin/pagelib.php: call to print_header()
    line 108 of admin/settings.php: call to page_admin->print_header()
и

Navigation needs to be updated to use build_navigation()

    line 3767 of lib/weblib.php: call to debugging()
    line 37 of theme/formal_white/header.html: call to print_navigation()
    line 2773 of lib/weblib.php: call to include()
    line 441 of lib/pagelib.php: call to print_header()
    line 200 of course/view.php: call to page_course->print_header()

Вот, что нашёл по теме, но как исправить, так и не понял: С-771 и тут.

Есть у кого идеи куда копать?

В ответ на Petr Zakharov

Re: Путь на сайте

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

Отладку отключите и не будет этих сообщений.

В ответ на Виталий Лавров

Re: Путь на сайте

от Petr Zakharov -

Дебаг я включил исключительно для этого скриншота. Проблема в том, что вместо пути курса сверху отображается Array. Т.е. какая-то функция не работает (подозрения на функцию build_navigation), почему не работает и как исправить - пока разобраться не удалось.