コースの中に「ページ」と「ブック」を作成し
歯車マーク>設定を編集する よりそれぞれにタグをつけました。
ブックの画面を開いたときは画面にタグが表示されているのですが
ページのほうはタグがどこにも表示されていませんでした。
ブックとページの画面のスクリーンショットです。 1枚目ブック 2枚目ページ
タグで検索をかけると検索結果に「ページ」も出てくるので
タグの設定自体は上手くいっているようです。
タグが画面に表示されるようにする設定が別で必要なのでしょうか?
よろしくお願い致します。
> タグが画面に表示されるようにする設定が別で必要なのでしょうか?
いいえ、最新のMoodle 3.6.2+ (Build: 20190215) のコード (mod/page/view.php) を確認しましたところ、ページにはタグは表示されない仕様のようです。
かなり大変なプログラム修正だとは思いますが、ブックモジュール (mod/book) のview.phpの243行目あたりを移植してページにもタグを表示できるようになるのではと思います。
if (core_tag_tag::is_enabled('mod_book', 'book_chapters')) {
echo $OUTPUT->tag_list(core_tag_tag::get_item_tags('mod_book', 'book_chapters', $chapter->id), null, 'book-tags');
よろしければ、代わりに標準の「タグ」ブロックをコースに追加されてはいかがでしょうか。
恐らく、下記プログラム修正でご希望の動作を実現することができるかと思います。
Moodleバージョン:
Moodle 3.6.2+ (Build: 20190215)
修正対象プログラム:
mod/page/view.php
修正箇所:
90行目
[ 修正前 ]
echo $OUTPUT->box($content, "generalbox center clearfix");
if (!isset($options['printlastmodified']) || !empty($options['printlastmodified'])) {
$strlastmodified = get_string("lastmodified");
echo html_writer::div("$strlastmodified: " . userdate($page->timemodified), 'modified');
}
echo $OUTPUT->footer();
[ 修正後 ]
echo $OUTPUT->box($content, "generalbox center clearfix");
echo $OUTPUT->tag_list(core_tag_tag::get_item_tags('core', 'course_modules', $cm->id), null, 'page-tags');
if (!isset($options['printlastmodified']) || !empty($options['printlastmodified'])) {
$strlastmodified = get_string("lastmodified");
echo html_writer::div("$strlastmodified: " . userdate($page->timemodified), 'modified');
}
echo $OUTPUT->footer();