В папке с темой есть папка с изображениями.
Как должны выглядеть пути к этим изображениям в файле styles.css?
Файлы стилей как-то обрабатываются друпалом перед выдачей браузеру?
Обычно срабатывает такой путь:
но как браузер понимает откуда брать картинку? это же обычно далеко от корня sites/all/themes/mytheme/img/ и т. д.
А в этой конструкции относительный путь не срабатывает (отрывок из решеня проблемы с png в ie)
background:expression("none");
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../img/sr-nav.png", sizingMethod="crop");
}
тут приходится прописывать прямой путь, но тогда тема теряет гибкость т.к. должна находиться только в определенной папке (а в друпале как известно темы можно складывать более чем в одно место)
Та же проблема с java script
{
if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
{
var src;
if (element.tagName=='IMG')
{
if (/\.png$/.test(element.src))
{
src = element.src;
element.src = "/img/png.gif";
}
}
else
{
src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
if (src)
{
src = src[1];
element.runtimeStyle.backgroundImage="none";
}
}
if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
}
}
Приходится в корне сайта создавать папку img и класть в нее нужный файл.
Прием с относительным путем не срабатывает
Как сделать тему правильно?
Комментарии
http://api.drupal.org/api/function/path_to_theme/5
Все проще.
попробуйте относительный путь например src="img/sr-nav.png".
Браузер путь отсчитывает от папки, в которой css файл был взят.
С Уважением, Gor
Drupal Developer
да, для CSS нужно указывать относительные пути
при включенной опции "Объединять CSS" drupal эти пути переназначит относительно другого расположения CSS
для JS по необходимости передавать через переменную
в коде php модуля(темы?)
и в коде JS использовать эту переменную