Orchard CMS: добавление таблицы стилей на страницу

Настраивать:

Я использую Orchard CMS 1.6.

У меня есть сайт, на котором мне нужно установить цвет фона всей страницы. Т.е. мне нужно стилизовать тег body.

Я мог бы использовать модуль LayoutSelector и иметь разные макеты. Однако единственная разница в каждом макете заключается в том, что правило цвета фона для тега body отличается. Так что это кажется очень несухим способом ведения дел.

Я не могу найти способ заставить Vandelay.Classy добавить отдельный идентификатор или класс к тегу body (он добавляет, насколько я понимаю) идентификатор или класс к внешнему тегу типа контента. В моем случае это не тег body.

Так что это нехорошо, мне действительно нужно настроить тег body.

Как это сделать?

Примечание:

Мне нужно 3 разных цвета фона. У меня также есть макет с двумя столбцами и макет с тремя столбцами. [Для этого я использую (модифицированную версию) модуль layoutSelector.] Таким образом, чтобы иметь 3 разных цвета фона, и для этого я использовал макеты, мне потребовалось бы 6 разных макетов: ПОЛНОЕ излишество.

Должен быть лучший способ...


person awrigley    schedule 17.06.2013    source источник


Ответы (1)


Из любого файла cshtml вы должны иметь доступ к фигуре макета. Практически из любого другого места вы все равно можете получить форму макета через WorkContextAccessor. Когда у вас есть ссылка на форму макета, вы можете сделать Layout.Classes.Add("the-class-you-want").

person Bertrand Le Roy    schedule 18.06.2013
comment
Итак, если я сделаю Layout.Classes.Add, будет ли этот класс добавлен в тег body? Как насчет добавления целой таблицы стилей? Наверняка есть способ сделать это? Таким образом, я мог бы переопределить существующий стиль (хотя мне нужно было бы установить порядок таблиц стилей, чтобы это работало...) - person awrigley; 18.06.2013
comment
Это зависит от того, как написаны ваши layout.cshtml и document.cshtml, но в любом случае класс следует добавить к элементу, который находится достаточно высоко в дереве, чтобы включить ваш сценарий. Попробуйте... Что касается добавления таблицы стилей, то это еще проще: просто вызовите Style.Include. - person Bertrand Le Roy; 23.06.2013
comment
вы меня совершенно неправильно поняли. Я хочу добавить таблицу стилей для данной страницы на панели инструментов. - person awrigley; 24.06.2013
comment
Я вас прекрасно понял. Вы не можете сделать это с панели инструментов, если вы не разработаете для этого модуль (функция Classy из модуля Vandelay.Industries делает что-то подобное). Я объясняю вам, как вы можете создать такой модуль или как вы можете сделать это из своей темы. Пожалуйста. - person Bertrand Le Roy; 25.06.2013
comment
Спасибо, приятно знать, что мне рады. Я напишу модуль для добавления таблиц стилей. Бьет меня по мере необходимости. - person awrigley; 25.06.2013