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

Не решено Редактирование стиля в MediaWiki:Sidebar

Тема в разделе "Для новичков", создана пользователем HelpMePlease, 19 сен 2021.

Метки:
  1. HelpMePlease
    Оффлайн

    HelpMePlease Только зашёл

    Регистрация:
    19 сен 2021
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Всем привет, я разобрался как менять текст на кнопки в левом боковом меню или подключать к ним стиль.
    Обычно в MediaWiki:Sidebar я пишу например:
    Код:
    **ссылка|Button
    И в /MediaWiki:Vector.css подключаю стиль к кнопке:
    Код:
    #n-Button a {
      box-shadow: 0 0 10px rgba(255, 255, 255, 1);
      border-radius: 25px;
      background: white;
    }
    Все работает и отображается в левом меню, но например мне нужно сделать в MediaWiki:Sidebar текст на русском:
    Код:
    **ссылка|Главная
    и при подключении кода в /MediaWiki:Vector.css
    Код:
    #n-Главная a {
      box-shadow: 0 0 10px rgba(255, 255, 255, 1);
      border-radius: 25px;
      background: white;
    }
    Стиль просто не отображается, я через код элемента пытался подхватить id, чтобы к нему подключить стиль, с англиским текстом все работает, но с русским я получаю id:"n-.D0.93.D0.BB.D0.B0.D0.B2.D0.BD.D0.B0.D1.8F" и так же ничего не работает.
    Код:
    #n-.D0.93.D0.BB.D0.B0.D0.B2.D0.BD.D0.B0.D1.8F a {
      box-shadow: 0 0 10px rgba(255, 255, 255, 1);
      border-radius: 25px;
      background: white;
    }
    В общем не знаю как решить эту проблему, буду очень рад если поможете.
     
  2. Foalart
    Оффлайн

    Foalart Только зашёл

    Регистрация:
    16 июл 2021
    Сообщения:
    21
    Симпатии:
    1
    Пол:
    Женский
    может с кодировкой чего не так?
     
  3. HelpMePlease
    Оффлайн

    HelpMePlease Только зашёл

    Регистрация:
    19 сен 2021
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    все так, тут как минимум не подключиться стиль из-за точек :с с английским текстом все ок, с русским через одно место
     
  4. Foalart
    Оффлайн

    Foalart Только зашёл

    Регистрация:
    16 июл 2021
    Сообщения:
    21
    Симпатии:
    1
    Пол:
    Женский
    А с чего решили что "всё так"? Оперой проинспектируйте менюху на id -те же инопланетные буквы будут
    В локалсеттинг по умолчанию
    # MySQL table options to use during installation or update
    $wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";

    а вот на руский
    MySQL UTF-8
    ENGINE=InnoDB, DEFAULT CHARSET=utf8
    https://www.mediawiki.org/wiki/Manual:$wgDBTableOptions/ru
    Проверила в phpmyAdmin, там действительно кодировка бинарная и в моём случае в смеси с шведским utf8-swedish , вот я и думаю может из-за этого в симолы превращает, даже если нажать проинспектировать элемент с Оперы ., то вместо русского id меню показывает несусветную ересь типа :
    p-.D0.A6.D0.B2.D0.B5.D1.82.D1.8B:-list и русский не воспринимает никак.... Тоже нужно к меню иконки через css назначить, но из-за этого не даёт, просто не воспринимает как ссылку, а написав кроказябры тоже бесполезно.
    Так вот я полагаю что нужно кодировку менять в сикюэл базе . В инструкции по ссылке выше, если в локалсетинг написать ENGINE=InnoDB, DEFAULT CHARSET=utf8 и сделать phpupdate ... но у меня не сработало...Upd: кодировка считается устаревшей (Начиная с MySQL 5.5.3 вы должны использовать utf8mb4, а не utf8. )
    по запросу к базе show variables like "char%" у меня
    character_set_client utf8mb4
    character_set_connection utf8mb4
    character_set_database latin1
    character_set_filesystem binary
    character_set_results utf8mb4
    character_set_server latin1
    character_set_system utf8
    character_sets_dir /usr/share/mysql/charsets
    так вот у меня вопрос, какие переменные и/или таблицы нужно поменять в базе на utf8mb4 чтобы русский отображался порядочно в кодировках ?
    [​IMG]

    Кодировка , действительно, не причем , потому что:
    Согласно спецификации CSS — имена классов должны начинаться с латинских букв, могут содержать в себе символ дефиса и подчеркивания. Использование русских букв недопустимо.
    Давно был сайт и за 7 лет простоя уже всё с головы повылетало.
    Селектор id предназначен для определения стиля для одного, уникального элемента страницы. Данный селектор использует атрибут «id» и определяется знаком «#».
    [​IMG]
     
    Последнее редактирование: 1 окт 2021
  5. Foalart
    Оффлайн

    Foalart Только зашёл

    Регистрация:
    16 июл 2021
    Сообщения:
    21
    Симпатии:
    1
    Пол:
    Женский
    Нашли решение какое-нибудь по этому вопросу?
    Или, может быть, кто-нибудь знает и может подсказать как прилепить индивидуально стили к каждому пункту в sidebar с условием что не воспринимает id на русском?
     
  6. HelpMePlease
    Оффлайн

    HelpMePlease Только зашёл

    Регистрация:
    19 сен 2021
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Не нашли
     
  7. myagkij
    Оффлайн

    myagkij Только зашёл

    Регистрация:
    29 авг 2021
    Сообщения:
    5
    Симпатии:
    2
    Пол:
    Мужской
    Вы не так подошли к решению проблемы. Откажитесь от использования #n-.D0.93.D0.BB.D0.B0.D0.B2.D0.BD.D0.B0.D1.8F a, в пользу псевдокласса :nth-child и доберитесь до элемента через него.
     
    Foalart нравится это.
  8. Foalart
    Оффлайн

    Foalart Только зашёл

    Регистрация:
    16 июл 2021
    Сообщения:
    21
    Симпатии:
    1
    Пол:
    Женский
    Посмотрите ответ на опубликованный мной вопрос, мне помогло:)
    If the necessary id is encoded with full stops, the full stop should be escaped with a backslash in CSS selector:
    Если необходимый идентификатор закодирован с точками, точка должна быть экранирована обратной косой чертой в селекторе CSS:
     
    Последнее редактирование: 15 окт 2021

Поделиться этой страницей