1. Приглашаем вступить в нашу группу ВКонтакте.
  2. Присоединяйтесь к нашему чату по ссылке: http://t.me/mediawiki_ru

Шапка очень большой таблицы

Тема в разделе 'Основные вопросы по Media Wiki', создана пользователем Vor_tex, 26 май 2017.

  1. Vor_tex
    Оффлайн

    Vor_tex Осваивается

    Дата регистрации:
    17 дек 2014
    Сообщения:
    91
    Симпатии:
    13
    Пол:
    Мужской
    Добрый день!
    Существует большая таблица, генерируемая с помощью запроса semantic mediawiki, для удобства хотелось бы реализовать шапку этой таблицы так, чтобы при пролистывании вниз она закреплялась вверху окна...
    Я лично столкнулся с той проблемой, что вики не воспринимает тег <thead> поэтому те способы которые я находил или которые я смог осилить ни к чему хорошему не привели.
    Может кто-то знает как можно или можно ли вообще реализовать такую функцию в вики?
    Спасибо!

    P.S. С самой таблице можно ознакомиться тут: http://so-wiki.ru/wiki/Задания
  2. UksusoFF
    Оффлайн

    UksusoFF Moderator Команда форума

    Дата регистрации:
    13 май 2013
    Сообщения:
    1.522
    Симпатии:
    193
    Пол:
    Мужской
    Адрес:
    Самара
    Это реализуется на JavaScript/jQuery готовых решений для MW скорее всего нет.
  3. Юрий Бондаренко
    Оффлайн

    Юрий Бондаренко Прижился

    Дата регистрации:
    26 май 2015
    Сообщения:
    277
    Симпатии:
    70
    Пол:
    Мужской
  4. Vor_tex
    Оффлайн

    Vor_tex Осваивается

    Дата регистрации:
    17 дек 2014
    Сообщения:
    91
    Симпатии:
    13
    Пол:
    Мужской
    Наконец-то выбрал время, спасибо за наводки.
    Первый вариант попробовал - работает, но в мазиле для таблицы не хотит... почитал, давняшний баг (лет 5 уже)
    Второй вариант не могу понять как запустить на вики... не подскажете?
  5. Юрий Бондаренко
    Оффлайн

    Юрий Бондаренко Прижился

    Дата регистрации:
    26 май 2015
    Сообщения:
    277
    Симпатии:
    70
    Пол:
    Мужской
    нужно подключить скрипты и стили к вики, а затем использовать правильную разметку на страницах.
  6. Vor_tex
    Оффлайн

    Vor_tex Осваивается

    Дата регистрации:
    17 дек 2014
    Сообщения:
    91
    Симпатии:
    13
    Пол:
    Мужской
    если я сделаю подключение скриптом через LocalSettings это будет правильно?
    UPD: а что делать если вики не понимает <thead><tfoot><tbody> ?
    у меня семантик вики не генерит таблцу если использовать HTML теги(
    Последнее редактирование: 2 авг 2017
  7. Юрий Бондаренко
    Оффлайн

    Юрий Бондаренко Прижился

    Дата регистрации:
    26 май 2015
    Сообщения:
    277
    Симпатии:
    70
    Пол:
    Мужской
    Если сделаете, то правильно.


    Печаль, пробуйте...
    https://www.mediawiki.org/wiki/Manual:$wgRawHtml
    https://www.mediawiki.org/wiki/Extension:HTMLets
    https://www.mediawiki.org/wiki/Help:Magic_words#Miscellaneous
  8. Vor_tex
    Оффлайн

    Vor_tex Осваивается

    Дата регистрации:
    17 дек 2014
    Сообщения:
    91
    Симпатии:
    13
    Пол:
    Мужской
    В не очередной раз огромное спасибо за наводку!

    Шапку таблицы обернул в Thead воспользовавшись HTMLets (я кстати одну из реклам через него вставляю себе))
    Скрипты подгрузил через LocalSettings, получилось так:
    Код:
    $wgHooks['BeforePageDisplay'][] ='onBeforePageDisplay';
    
    function onBeforePageDisplay( OutputPage &$out, Skin &$skin ) {
    $script = '
    <link rel="stylesheet" type="text/css" href="../../FixedHeader/css/jquery.dataTables.css">
    <link rel="stylesheet" type="text/css" href="../../FixedHeader/css/fixedHeader.dataTables.css">
     
    <script type="text/javascript" language="javascript" src="//code.jquery.com/jquery-1.12.3.min.js">    </script>
    <script type="text/javascript" language="javascript" src="../../FixedHeader/js/jquery.dataTables.js"></script>
    <script type="text/javascript" language="javascript" src="../../FixedHeader/js/dataTables.fixedHeader.js"></script>
    
    <script type="text/javascript" language="javascript" class="init">
    $(document).ready(function() {
        $(\'table.display\').DataTable( {
            fixedHeader: {
                header: true,
         
            }
        } );
    } );
    </script>
    
    $out->addHeadItem("scripts", $script);
    return true;
    };
    Но как всегда есть НО, иногда таблица подгружается без включения FixedHeader... в чем может быть проблема? что я делаю не так?

    UPD: консоль выдает это: TypeError: $(...).DataTable is not a function
    но если перезагрузить страницу через (Ctrl+F5), то все работает...
    UPD: Решил проблему измененив немного конструкцию
    Код:
    <script type="text/javascript" language="javascript" class="init">
    $.noConflict();
    jQuery( document ).ready(function( $ ) {
        $(\'table.display\').DataTable({
            fixedHeader: {
                header: true,
                footer: true
            }
        } );
    } );
    </script>
    Последнее редактирование: 3 авг 2017
  9. Юрий Бондаренко
    Оффлайн

    Юрий Бондаренко Прижился

    Дата регистрации:
    26 май 2015
    Сообщения:
    277
    Симпатии:
    70
    Пол:
    Мужской
    https://www.mediawiki.org/wiki/Manual:Hooks/BeforePageDisplay

    https://www.mediawiki.org/wiki/ResourceLoader/Developing_with_ResourceLoader#JavaScript
    UksusoFF нравится это.
  10. Vor_tex
    Оффлайн

    Vor_tex Осваивается

    Дата регистрации:
    17 дек 2014
    Сообщения:
    91
    Симпатии:
    13
    Пол:
    Мужской
  11. Юрий Бондаренко
    Оффлайн

    Юрий Бондаренко Прижился

    Дата регистрации:
    26 май 2015
    Сообщения:
    277
    Симпатии:
    70
    Пол:
    Мужской
    или в Localsettings пару строк написать
  12. Vor_tex
    Оффлайн

    Vor_tex Осваивается

    Дата регистрации:
    17 дек 2014
    Сообщения:
    91
    Симпатии:
    13
    Пол:
    Мужской
    а чем плох тот способ который я исользовал, чем он чреват?
  13. Юрий Бондаренко
    Оффлайн

    Юрий Бондаренко Прижился

    Дата регистрации:
    26 май 2015
    Сообщения:
    277
    Симпатии:
    70
    Пол:
    Мужской
  14. Vor_tex
    Оффлайн

    Vor_tex Осваивается

    Дата регистрации:
    17 дек 2014
    Сообщения:
    91
    Симпатии:
    13
    Пол:
    Мужской