Верстка своего стиля

Inside

Прижился
Регистрация
06.03.2014
Сообщения
31
Реакции
1
День добрый!

Подскажите, где найти в файлах записи, что находятся в head? В скинах обыскал, но так и не нашел. Использую стиль Vector.

Или... как начать верстать свой шаблон? Помнится, где-то встречал, что можно сделать белую страницу и добавлять к ней классы, но не помню, где такое видел. Подскажите, пожалуйста.
 

Вложения

  • mediawiki html.jpg
    mediawiki html.jpg
    187,2 КБ · Просмотры: 12
Есть инструкция на английском, как делать скины https://www.mediawiki.org/wiki/Manual:Skinning_Part_1
Если коротко, то нужны два класса.
У первого папа SkinTemplate он нужен для того, чтобы добавить ресурсы в шкуру, такие как ява скрипты и стили.
У второго папа BaseTemplate, он отвечает за весь HTML который отдается браузеру. Как бы базовые классы подготавливают все необходимые данные, нужно их просто разместить на свое усмотрение.

а head добавляется вызовом $this->html( 'headelement' ); из наследника BaseTemplate.
 
Есть инструкция на английском, как делать скины https://www.mediawiki.org/wiki/Manual:Skinning_Part_1
Если коротко, то нужны два класса.
У первого папа SkinTemplate он нужен для того, чтобы добавить ресурсы в шкуру, такие как ява скрипты и стили.
У второго папа BaseTemplate, он отвечает за весь HTML который отдается браузеру. Как бы базовые классы подготавливают все необходимые данные, нужно их просто разместить на свое усмотрение.

а head добавляется вызовом $this->html( 'headelement' ); из наследника BaseTemplate.
Файл SkinTemplate есть, а вот BaseTemplate нет. Вывод я нашел как сделать, но вот самое содержимое этого вывода где расположено? Классы лежат в самом векторе, их можно удалить и добавлять свои + к ним выводы соответствующие.
 
Не путайте, SkinTemplate и BaseTemplate к шкуре вектора не относятся. Это базовые классы для всех шкур и находятся в движке Медиавики.
Head формируется динамически в зависимости от многих факторов. В шкуре нужно просто вставить его при помощи $this->html( 'headelement' );. Если вам нужно добавить свои скрипты и стили в шкуру, то делается это через ResourceLoader в классе потомке от SkinTemplate.

Если вам нужно добавить или изменить какие-то стили в шкуре, то это можно сделать через страницы вашей вики MediaWiki:Vector.css только для шкуры вектора и MediaWiki:Common.css для всех шкур.
 
Это понятно. Как удалить все содержимое в head? У меня на все ресурсы один дизайн. Я хочу сверстать с нуля.
 
Делайте собственный skin и там отдавайте head какой захотите.
Но это не верное решение, в head нет ничего лишнего. Там только те ресурсы, которые были добавлены шкурой и расширениями для своей работы.
 
Делайте собственный skin и там отдавайте head какой захотите.
Но это не верное решение, в head нет ничего лишнего. Там только те ресурсы, которые были добавлены шкурой и расширениями для своей работы.
Я понимаю, что там нет ничего лишнего, но проще будет сверстать стиль с нуля, чем удалить лишнее. Если чего-то хватать не будет, я из старого вырву в новый. Это не проблема.

Мне нужно знать, где именно расположены все эти элементы, которые добавлены в head?
 
Да нет их нигде, они формируются динамически. Сам движок и все расширения (в том числе и skins) добавляют в ResourceLoader скрипты и стили которые нужны для их работы, затем на основе этого и еще кучи всего формируется head. Его нужно просто вставить.
Если вам нужны собственные стили и/или скрипты для вашей шкуры, то вы их также должны загружать через ResourceLoader, в документации все описано, если что-то непонятно из документации - спрашивайте.

Если у вас какое-то свое видение того, каким должен быть head, то тут вам вряд ли кто поможет.
 
Не могу понять, как добавить свои скрипты тогда. Где указывать ссылки на них.
 
сначала нужно их все указать для ResourceLoader как модули (скорее всего вам потребуется всего один модуль)
https://www.mediawiki.org/wiki/Manu...les_and_scripts_.28Resource_Loader_modules.29

Затем, в классе производном от SkinTemplate, по обстоятельствам добавляете модули, которые нужны в этот момент, при помощи
$out->addModules( 'skins.foobar.js' ); // где 'skins.foobar.js' должно быть имя вашего модуля.
https://www.mediawiki.org/wiki/Manual:Skinning_Part_2#Skin_code

Таким образом в вики куча ява скриптов и стилей, но в head попадают только те, которые нужны. ( те которые посчитали нужными для данного запроса вики движок и расширения)
 
Последнее редактирование:
Назад
Верх