$nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
// checks if browser is Internet Explorer
if (stristr($nav, "msie"))
{
echo "ie-css.css";
}
// checks if browser is Mozilla
elseif (stristr($nav, "moz"))
{
echo "mozilla-cssfile.css";
}
// checks if browser is Netscape
elseif (stristr($nav, "ns"))
{
echo "netscape-css.css";
}
// If browser is a different one
else
{
echo "templatecss.css";
}
?>
/>
</head>
<body>
<h1>The Body Text For Your Site</h1>
</body>
</html>
Есть еще другой способ подключения определенного стиля для браузера Internet Explorer:
<!--[if lte IE 6]>
<link href="templates//css/ieonly.css" rel="stylesheet" type="text/css" />
<![endif]-->
[
править
]
На некоторых страницах шаблон "разваливается". Почему и как это исправить?
Причина Часто шаблоны бывают сверстаны на слоях (DIV) с использованием "плавающих" элементов-блоков. Ширина этих элементов фиксированна и, в соответствии со стандартом, не должна меняться ни в коем случае. Т.к. Internet Explorer "самый умный" браузер и ему закон не писан , то он все же расширяет блоки, которые, не вмещаясь в отведенные для них места, перемещаются вниз. Проще говоря - они просто выталкиваются соседними элементами. FF и Опера, когда содержимое блока не влазит в него, просто накладывают блоки друг на друга. При этом содержимое блоков часто вылазит за их границы. Очень часто подобное проявляется на страницах с таблицами и с различными фильтрами, выбором отображения и т.п. Этот "косяк" будет проявляться на ВСЕХ шаблонах, где используются слои (DIV) и ширина табличек слишком большая. Если бы шаблон был сверстан на таблицах, то его просто расперло бы в ширину.
Как решить проблему? Сейчас несложно догадаться, что надо сделать - надо уменьшить ширину содержимого блоков. Необходимо отключить фильтры, поля сортировки, лишние столбцы в таблице со списком статей. Идем например в Меню - mainmenu - ссылка на News - Latest и настраиваем страницу, пока все не будет ok. Для понимания сказанного смотрим приаттаченный скриншот.
Скриншот из администратора Joomla
Также блоки может распирать контент, содержащий неразрывные пробелы -
[
править
]
Как изменить footer в шаблоне, убрать или добавить внизу надпись, copyright, рекламу (При поддержке и т.д.)
Есть несколько способов изменить footer сайта.
Отредактировать файл includes/version.php. В это файле ищем строчки
<div align="center">
©
</div>
Их и надо заменять на свой текст.
Также можно удалить из файла шаблона следующий код, если он там присутствует:
В нужном вам месте шаблона вставить код
и создать модуль с нужным содержимым и расположить его в позиции footer
Реклама находится в файле includes/footer.php.
Если ваши религиозные (или еще какие-либо) убеждения позволяют оставить ссылку на Joom.ru,
то, пожалуйста, оставьте её. Не обязательно оставлять весь текст, достаточно ссылки
с текстом "CMS Joomla" на любой индексируемой странице (лучше на Главной).
Этим вы поможете проекту и другим людям.
[
править
]
Про выпадающее меню в Joomla
Многие люди при создании своего собственного шаблона Joomla задаются вопросом: "Как лучше организовать меню?". Некоторые используют Flash-меню, некоторые вставляют JavaScript-меню. Я не люблю использовать эти элементы в своих работах, мне нравится чистый код, не обремененный лишними файлами. Вероятно, вы зададите вопрос: "Как же тогда сделать привлекательное меню?".
Есть много способов создания привлекательного выпадающего меню с помощью CSS, в основе большинства которых лежит использование списков (li). Один из таких способов мы сейчас и рассмотрим ниже.
Существует меню под названием "suckerfish" (не спрашивайте меня, почему его так назвали) - маленький, чистый код, 12 строчек JavaScript и абсолютно бесплатный!
Как оно выглядит, вы можете посмотреть здесь: http://www.htmldog.com/articles/suckerfish/dropdowns/example/
Вы могли заметить, что на стандартном модуле нормальное меню не сделать. Поэтому мы воспользуемся дополнительным модулем, который называется "Extended Menu". Найти и скачать его можно здесь: http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,163/Itemid,35/
Итак, скачайте модуль и установите его. Теперь его необходимо настроить соответствующим образом. Первое, что необходимо сделать - это присвоить модулю "CSS-суффикс". Обычно, я использую "mainnav". После нужно задать стиль меню - "Плоский список" и выпадающее меню - "Да".
После того, как вы опубликуете модуль в нужной позиции, можно приступать к редактированию CSS. Ниже использован небольшой трюк, на который не понадобилось время, чтобы разобраться в нем. Но вы можете пропустить это, и и просто скопировать весь код к себе в шаблон.
#twocols{ /*the columns that gets dropped down over yours might be different*/
z-index:20;
}
#leftcol{ /*the columns that gets dropped down over yours might be different*/
z-index:10;
}
.moduletablemainnav{ /* I have absolutely positioned the module, you might have a different scheme*/
position:absolute;
top:187px;
left:20px;
z-index:100;
font:0.9em Verdana, Arial, Helvetica, sans-serif;
margin:0;
padding:0;
}
#mainlevelmainnav,#mainlevelmainnav ul{
float:left;
list-style:none;
line-height:1em;
background:transparent;
font-weight:700;
margin:0;
padding:0;
}
#mainlevelmainnav a{
display:block;
color:#f90;
text-decoration:none;
margin-right:15px;
padding:0.3em;
}
#mainlevelmainnav li{
float:left;
padding:0;
}
#mainlevelmainnav li ul{
position:absolute;
left:-999em;
height:auto;
width:11em;
font-weight:400;
background:#36f;
border:#00C 1px solid;
margin:0;
}
#mainlevelmainnav li li{
width:11em;
}
#mainlevelmainnav li ul a{
width:11em;
color:#fff;
font-size:0.9em;
line-height:1em;
font-weight:400;
}
#mainlevelmainnav li:hover ul ul,#mainlevelmainnav li:hover ul ul ul,
#mainlevelmainnav li.sfhover ul ul,#mainlevelmainnav li.sfhover ul ul ul{
left:-999em;
}
#mainlevelmainnav li:hover ul,#mainlevelmainnav li li:hover ul,
#mainlevelmainnav li li li:hover ul,#mainlevelmainnav li.sfhover ul,
#mainlevelmainnav li li.sfhover ul,#mainlevelmainnav li li li.sfhover ul{
left:auto;
z-index:6000;
}
#mainlevelmainnav li li:hover,#mainlevelmainnav li li.sfhover{
background:#039 url(../images/soccerball.gif) 98% 50% no-repeat;
}
Удостоверьтесь, что правильно установили z-index - они должны обязательно присутствовать для упорядочивания позиционирования списка. Ну, и последний штрих, нужно добавить JavaScript в ваш index.php шаблона для того, чтобы всеми любимый IE стал понимать в хаке элемент :hover для наших конструкций.
<script type="text/javascript"><!--
sfHover = function() {
var sfEls = document.getElementById("mainlevelmainnav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
--></script>
[
править
]
Как убрать "Страница сгенерирована за ... секунд"?
В любом шаблоне, где выводится данная строчка, необходимо удалить следующие строчки из index.php шаблона:
$tstart = mosProfiler::getmicrotime();
в начале файла и
';
$tend = mosProfiler::getmicrotime();
$totaltime = ($tend - $tstart);
printf ("Page generation of %f second", $totaltime);
echo '
'; ?>