При использовании бесплатного / коммерческого шаблона Joomla из Template Club X / Y / Z, как лучше всего включить мои собственные стили CSS?
При использовании бесплатного / коммерческого шаблона Joomla из Template Club X / Y / Z, как лучше всего включить мои собственные стили CSS?
Ответы:
Всегда полезно отделить стили CSS от существующего стиля шаблона, если вы используете предварительно созданный шаблон Joomla.
«CSS» означает «Каскадные таблицы стилей», в данном контексте «Каскадное» означает, что, поскольку к одному фрагменту HTML может применяться несколько правил таблицы стилей, используемое правило выбирается путем каскадного перехода от более общих правил к требуемому конкретному правилу ( выбрано наиболее конкретное правило) или на основе порядка правил для любого элемента (выбрано последнее найденное правило).
Пока ваш настроенный файл CSS загружается после файлов CSS шаблона по умолчанию, вы можете добавлять свои собственные стили для переопределения определенных элементов по мере необходимости (есть некоторые исключения, подробнее об этом ниже).
Чтобы загрузить пользовательскую таблицу стилей в <head>
тег Joomla , следующий код может быть добавлен в index.php
файл вашего шаблона ( YOURDOMAIN.COM/templates/yourtemplate/index.php
), прямо перед конечным </head>
тегом, чтобы гарантировать, что ваш файл загружен последним.
JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/custom.css');
(Файл CSS может иметь любое имя и не обязательно должен быть в подпапке / css /, но так он чище.)
Также можно добавить обычный <link>
тег, но он менее гибок, чем вышеупомянутая опция:
<link rel="stylesheet" href="/joomla//templates/mytemplate/css/custom.css" type="text/css" />
!Важный
Некоторые расширения могут загружать свои стили CSS после ваших (или даже добавлять стили непосредственно в файл index.php), переопределяя ваши переопределения. Обычно это можно решить, добавив !important
к вашим стилям, например.h1{color:red!important;}
Теперь самое интересное: во многих шаблонных фреймворках есть вероятность того, что пользователи захотят внести изменения в свои шаблоны, тем самым добавив простой способ включения ваших переопределений CSS. Вот некоторые из используемых методов:
RocketTheme Gantry 4
Шаблоны RocketTheme работают на основе Gantry Framework, и пользовательский файл CSS будет загружен автоматически, если он найден. Файл CSS должен быть помещен в /templates/yourtemplate/css/
папку, а имя должно быть YOURTEMPLATEFOLDER-custom.css
.
Пример: если вы используете их бесплатный Afterburner 2
шаблон, каталог шаблонов по умолчанию - /templates/rt_afterburner2/
. Добавьте файл с именем rt_afterburner-custom.css
(осторожно с подчеркиванием и дефисом) в подпапку / css /, и он будет автоматически загружен платформой Gantry.
Форма 5
Шаблоны Shape 5 поставляются с пустым custom.css
файлом в подкаталоге / css / вашего шаблона. Просто добавьте ваши стили в этот файл, и они будут включены в ваш макет.
Gavick Pro
Шаблоны Gavick Pro поставляются с пустым overrides.css
файлом в подкаталоге / css /. Но обратите внимание, что этот файл не загружается по умолчанию, его необходимо активировать Override CSS
на вкладке «Дополнительные настройки» в настройках шаблона.
Joomla Shine
Создайте пользовательский файл CSS в подпапке / css / вашего шаблона, например, custom.css
и укажите имя файла в Extensions -> Templates -> [template name] -> SEO & System -> Custom CSS/JS File(s)
.
T3 Framework
Шаблоны, основанные на T3 Framework, могут / не могут включать custom.css
файл в подпапку / css / вашего шаблона (просто создайте его, если его там нет), но при его наличии файл будет загружен после любого другого файла CSS.
Warp Framework
Шаблоны на основе Warp Framework автоматически загружают custom.css
файл, найденный в подпапке / css /. Дополнительные файлы CSS можно загрузить, добавив
$this->warp->stylesheets->add('css:yourcssfile.css');
в файл /layouts/template.config.php
.
JHtml::_('stylesheet', 'path/to/file')
а не addStyleSheet
как уже обсуждалось в другом ответе :) Кроме этого, чертовски хороший ответ. Определенно пригодится людям
JHtml::_
использовать с $this->template
?
JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/style.css');
Начиная с Joomla 3.5, вы можете создавать файл с именем user.css
и помещать его в:
шаблоны / протозвезды / CSS / user.css
Примечание: имя файла должно бытьuser.css
Шаблон protostar проверит, если:
> 0
.Если оба условия соблюдены, он автоматически импортирует этот файл для вас.
См. Запрос на извлечение на Github
Еще один шаблонный каркас Joomla, облегчающий процесс настройки.
Шаблоны Helix Framework предоставляют также простой способ добавления пользовательских стилей двумя удобными способами.
В панели управления шаблоном в бэкэнде есть поле Custom CSS. Здесь вы можете ввести свой css, который будет добавлен в качестве элемента стиля в раздел head вашей страницы и, таким образом, он также будет иметь приоритет над другими внешними css файлами. Конечно, этот вариант не идеален, если вы планируете написать несколько строк CSS, поэтому существует второй метод.
Как и многие другие шаблоны, Helix также предоставляет возможность создавать свой собственный файл custom.css. Просто создайте его и поместите в папку css шаблона. Шаблон проанализирует его и включит в раздел заголовков ваших страниц.
Johanpw проделал очень хорошую работу, ответив на свой вопрос ... особенно в отношении переопределений CSS для многих коммерческих шаблонов.
Я только хотел бы добавить свои два цента здесь ...
Как подчеркнул Johanpw, создание переопределений CSS является рекомендуемой практикой. Хранение вашего пользовательского CSS в одном файле, который, как вы знаете, не будет удален или переопределен после обновления, имеет важное значение.
Это важно помнить для всех расширений Joomla. Не пытайтесь изменить файл CSS модуля или компонента. Вместо этого лучше попробуйте создать свой собственный файл template.css, загрузить его последним и создать все свои собственные стили.
В тех случаях, когда коммерческий шаблон не предоставляет способ добавить переопределение CSS, вы можете использовать расширение вроде этого: Добавить пользовательский CSS , который позволяет именно это. Чтобы создать свой собственный файл переопределения CSS и загрузить его последним.
Другим вариантом, который я часто использую на сайтах, которыми я управляю, является изменение шаблона и добавление моей собственной ссылки в мой файл custom.css , непосредственно перед закрывающим заголовком шаблона. Это небольшая, легко запоминающаяся и восстанавливаемая модификация, с которой я в порядке, когда приходит обновление шаблона.
Gantry 5 является последней версией популярного шаблонного фреймворка и предоставляет множество новых функций и возможностей.
Что касается переопределений CSS, есть много гибкости и вариантов.
Взяв за основу тему «Водородная тема» , выпущенную в качестве стандартного шаблона Gantry 5, она содержит папку с именем custom.
Эта папка позволяет пользователю размещать свои пользовательские файлы / переопределения для gantry framework / template (не путать с переопределениями шаблонов Joomla, которые остаются в папке template / html). Вы можете поместить туда свой файл custom.css. Затем через панель администрирования шаблонов Gantry вы можете настроить макеты шаблонов и использовать пользовательскую атомную частицу CSS / JS (новую функцию gantry 5), чтобы добавить свой custom.css в шаблон. Gantry 5 также предоставляет так называемые потоковые ссылки (например, ярлыки), чтобы легко связать ваш файл custom.css.
Таким образом, внутри частицы Atom вы можете связать ее, используя:
gantry-theme://custom/thing.css
gantry-theme://
Ярлык, всегда будет относиться к текущей папке шаблона козловых.
Использование этого подхода - эффективный способ добавить custom.css для конкретных контуров шаблона вашего шаблона gantry5.
Второй подход, который работает глобально для всего шаблона Gantry , заключается в добавлении файла custom.scss внутри:
template_directory/custom/scss/custom.scss
При этом gantry5 всегда загружает и компилирует этот файл scss, а все примененные вами правила css переопределяют правила шаблона по умолчанию.
Внутри scss-файла у вас все в порядке, либо используя SCSS, либо просто css. Компилятор может скомпилировать оба.