Есть такая штука, называается breadcrumb, не имею представления, как этот термин правильно перевести на русский (дословно хлебные крошки). В данный момент это Home ▶ Russian ▶ Технические вопросы ▶ ...
Теперь проблема.
У нас иерархическая структура курсов: Факультет>Кафедра>Дисциплина>Специальность>Курсы
Но когда ты находишься внутри курса в breadcrumb отражается только Сайт>Специальность>Курс, то есть имя категории без надкатегорий, а хотелось бы
Сайт>Факультет>Кафедра>Дисциплина>Специальность>Курс
Есть ли это где-то в настройках или нужно ковырять код?
не имею представления, как этот термин правильно перевести на русский
Ну это видимо обратный путь (путь домой)... как в сказках...
Настройки такой не помню, так что нужно ковырять код, а там может и настройка найдется...
ЗЫ: А у меня категория вообще не отображается... значит есть какая-то настройка...
ИМХО:
копать нужно в сторону функций print_navigation и build_navigation, кот. описаны в файле \lib\weblib.php.
Вот, что говорится про последнюю:
копать нужно в сторону функций print_navigation и build_navigation, кот. описаны в файле \lib\weblib.php.
Вот, что говорится про последнюю:
* This function will build the navigation string to be used by print_header and others. * It automatically generates the site and course level (if appropriate) links. * If you pass in a $cm object, the method will also generate the activity (e.g. 'Forums') * and activityinstances (e.g. 'General Developer Forum') navigation levels. * If you want to add any further navigation links after the ones this function generates, the pass an array of extra link arrays like this: array( array('name' => $linktext1, 'link' => $url1, 'type' => $linktype1), array('name' => $linktext2, 'link' => $url2, 'type' => $linktype2) ) * The normal case is to just add one further link, for example 'Editing forum' after 'General Developer Forum', with no link. * To do that, you need to pass array(array('name' => $linktext, 'link' => '', 'type' => 'title')) * However, becuase this is a very common case, you can use a shortcut syntax, and just pass the string 'Editing forum', instead of an array as $extranavlinks.
Ну и далее по тексту.
Очевидно внутрь этого условия нужно добавлять подкатегории (в build_navigation):
// Course name, if appropriate.
if (isset($COURSE) && $COURSE->id != SITEID) {
ЗЫ: Правда я все-таки не могу понять почему у вас одна категория отображается...
// Course name, if appropriate.
if (isset($COURSE) && $COURSE->id != SITEID) {
ЗЫ: Правда я все-таки не могу понять почему у вас одна категория отображается...
Я попутал, категория не отображается. А надо, чтобы отображались, причем все и как при навигации по категориям, так и находясь внутри курса.
Всё ясно, будем работать
Всё ясно, будем работать
Да че тут работать-то...
Таблица mdl_course_categories, поле parent и один цикл while...
Таблица mdl_course_categories, поле parent и один цикл while...
Ну да, только надо прикрутить к таблице mdl_course_categories поле shortname, как у курсов, и добавить это поле на страницу создания категорий-подкатегорий.
Иначе, breadcrumb будет выглядеть, как ну ООООООООООООчень длинный путь домой, что-нибудь этакое:
СДО ГТУ ► Факультет транспортных технологий ► Кафедра технологий международных перевозок и логистики ► Коммерческое обслуживание международных перевозок ► ЗТГ
Это уже будет точно какой-то bred
Иначе, breadcrumb будет выглядеть, как ну ООООООООООООчень длинный путь домой, что-нибудь этакое:
СДО ГТУ ► Факультет транспортных технологий ► Кафедра технологий международных перевозок и логистики ► Коммерческое обслуживание международных перевозок ► ЗТГ
Это уже будет точно какой-то bred
Ничего, зато всё понятно и логично. А у нас чтобы в соседнюю специальность попасть приодится переходить снова на главную и оттуда снова начинать.
А если укоротить в вашем случае получится
СДО ГТУ-ФТТ-КТМПиЛ-КОМП-ЗГТ, тоже достаточно смешно. У нас сейчас shortname у курсов прописан как раз в виде КТМПиЛ-КОМП-ЗГТ и особой ясности это не добавляет
А если укоротить в вашем случае получится
СДО ГТУ-ФТТ-КТМПиЛ-КОМП-ЗГТ, тоже достаточно смешно. У нас сейчас shortname у курсов прописан как раз в виде КТМПиЛ-КОМП-ЗГТ и особой ясности это не добавляет
>>Ничего, зато всё понятно и логично
С этим не поспоришь, но я имел в виду то, что разработчики специально опустили отображение категорий-подкатегорий в строке навигации, т. к. невозможно предугадать структуру и иерархию на каждом сайте.
Показ категорий может привести к тому, что эти breadcrumb’ы займут не одну, а 2 и более строк - названия факультетов, кафедр, дисциплин, предметов могут быть непредсказуемыми по количеству символов + иерархия
Тут одинакового рецепта для всех не придумаешь, на мой взгляд. Кого-то это устроит, кого-то нет.
>> СДО ГТУ-ФТТ-КТМПиЛ-КОМП-ЗГТ, тоже достаточно смешно
В каждом универе уже давно существует укоренившаяся система аббревиатур факультетов, кафедр и даже дисциплин (в нашем, во всяком случае, есть). Так что, про смех можно не думать.
Кстати, для быстрого перехода по категориям можно просто вставить в header.html панель навигации типа такой, как на рис.:
С этим не поспоришь, но я имел в виду то, что разработчики специально опустили отображение категорий-подкатегорий в строке навигации, т. к. невозможно предугадать структуру и иерархию на каждом сайте.
Показ категорий может привести к тому, что эти breadcrumb’ы займут не одну, а 2 и более строк - названия факультетов, кафедр, дисциплин, предметов могут быть непредсказуемыми по количеству символов + иерархия
Тут одинакового рецепта для всех не придумаешь, на мой взгляд. Кого-то это устроит, кого-то нет.
>> СДО ГТУ-ФТТ-КТМПиЛ-КОМП-ЗГТ, тоже достаточно смешно
В каждом универе уже давно существует укоренившаяся система аббревиатур факультетов, кафедр и даже дисциплин (в нашем, во всяком случае, есть). Так что, про смех можно не думать.
Кстати, для быстрого перехода по категориям можно просто вставить в header.html панель навигации типа такой, как на рис.:
Ну вот дошли руки и до этого момента. Времени действительно немного потребовалось. Всем спасибо.