qork
@qork
{ background: #F00B42 }

Какой способ будет оптимальнее для переопределения css в зависимости от пути страницы?

Делаю сайт на modx. Задача сделать для каждого раздела сайта индивидуальный бекграунд. Сейчас это реализовано таким образом
$(document).ready(function(){
   if(document.location.pathname.indexOf("/razdel/") == 0){
       $('.main-content').css("background", "url('/img/razdel_bg.jpg')");
    }
});

В этом случае можно вместо функции .css использовать .addClass.
Есть ли способы, которые смогут выполнить эту задачу лучше?
  • Вопрос задан
  • 297 просмотров
Решения вопроса 1
ruslan_aleev
@ruslan_aleev
MODX с cat-Art.ru
Да, самый простой вариант - использовать переменные в шаблоне, как вам посоветовал Максим Зайцев.
Также можно сделать через модификаторы MODX, который будет проверять id страницы и подключать нужный style, например подключить в <head> после главного стиля конструкцию:
[[*id:is=`1`:then=`<style>.class {background: url('1.png')};</style>`:else=`<style>.class {background: url('2.png')};</style>`]]

причем в esle еще можно разместить модификатор.
Еще вариант - подключить в <head> после главного стиля конструкцию:
<link rel="stylesheet" href="page_[[*id]].css" type="text/css" />

, т.е. MODX будет генерить ссылку на файл css с именем page_(id ресурса текущей страницы), а файлы css для нужных страниц создаете, например, page_12.css, page_23.css и т.д.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dmitryKovalskiy
программист средней руки
Не знаете уровня вложенности пути страницы - следуйте от корня сайта в папку с css. Все в общем просто.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы