| NordWest |
Отправлено: 16 мая 2013 — 09:47 • Тема: Хранение настроек в xml файле • Форум: Limbo CMS |
Ответов: 2 Просмотров: 1695
 |
Настройки в Лимбо могут храниться в трёх местах.
1. Конфигурационный файл
2. База данных
3. xml файл компонента или модуля
Вот с последним случаем я и хочу разобраться.
В самом файле настройки прописываются в самом конце, перед последним закрывающим тегом примерно так
code: <params>
<param name="show_cat" type="text" default="3" label="Number Category rows per page" description=""></param>
<param name="show_item" type="text" default="3" label="Number Photo rows per page" description=""></param>
<param name="show_item_row" type="text" default="3" label="Number Photos to show per row" description=""></param>
</params>
Извлекаются эти параметры (с построением под это интерфейса) посредством следующего кода
code:
$crow= $conn->GetRow("SELECT id,name,link FROM #__components WHERE id=".$rsar['componentid']);
$c_xml= $lm_absolute_path."admin/components/".strtolower("com_" . str_replace(" ", "",$crow['name']))."/".strtolower(str_replace(" ", "",$crow['name'])).".xml";
$gui->addxmlparams($c_xml,$rsar['params'],false,_COMPONENTS_PARAMS);
Осталось понять как настройки сохраняются... Пока что-то не могу понять.  |
| NordWest |
Отправлено: 15 мая 2013 — 19:13 • Тема: Вопросы по работе с Limbo • Форум: Limbo CMS |
Ответов: 268 Просмотров: 90250
 |
Отвечает за вывод показанной информации функция showcategory описанная в файле content.html.php
Вызывается селектором case "category" : showcategory($id);break; из файла content.php
Что конкретно хотите исправить? |
| NordWest |
Отправлено: 15 мая 2013 — 10:01 • Тема: Вопросы по работе с Limbo • Форум: Limbo CMS |
Ответов: 268 Просмотров: 90250
 |
Запишите видео, как вы попадаете на данную страницу. Я у себя подобной картинки повторить не смог.  |
| NordWest |
Отправлено: 14 мая 2013 — 11:55 • Тема: Определение версии браузера. • Форум: Записная книжка PHP |
Ответов: 1 Просмотров: 4153
 |
Как сделать для каждого браузера свой стиль CSS на JavaScript ?
Проще всего определить нужный браузер с помощью JavaScript, после чего загрузить для него требуемый файл со стилями. Этот способ хорош еще тем, что позволяет узнать версию браузера, а не просто его название. Сам стилевой файл подключается через метод document.write, который в данном случае будет использоваться так:
code:document.write("<link rel='stylesheet' href='style.css' type='text/css'>")
В общем случае определение браузера и ссылка на файл CSS для него происходит, как показано ниже.
code:<html>
<head>
<script language="JavaScript">
Netscape4 = document.layer;
Netscape6 = Mozilla = (navigator.appName == "Netscape") && DOM;
Netscape7 = navigator.userAgent.indexOf("Netscape/7") >= 0;
Opera5 = window.opera && DOM;
Opera6 = Opera5 && window.print;
Opera7 = Opera5 && navigator.userAgent.indexOf("Opera 7") >= 0;
IE = document.all && !Opera5;
Firefox = navigator.userAgent.indexOf("Firefox") >= 0;
if(IE) document.write("<link rel='stylesheet' href='/ie.css' type='text/css'>");
else document.write("<link rel='stylesheet' href='/style.css' type='text/css'>");
</script>
</head>
<body>
...
</body>
</html>
Этот пример работает так: первый стиль для всех, кроме мозилы.
code:
<html>
<head>
<script language="JavaScript">
Firefox = navigator.userAgent.indexOf("Firefox") >= 0;
if(Firefox) document.write("<link rel='stylesheet' href='/firefox.css' type='text/css'>");
else document.write("<link rel='stylesheet' href='/style.css' type='text/css'>");
</script>
</head>
<body>
...
</body>
</html>
Не стоит считать, что придется писать отдельные стили для всех браузеров. Например, Netscape (версии 6 и старше), Mozilla и Firefox основаны на одном ядре под названием Gecko, поэтому работают c сайтами примерно одинаково. В какой-то мере по своему подходу близки браузеры Internet Explorer 6 и Opera 7, и в большинстве случаев они отображают результат в равной мере правильно. Получается, что обычно требуется создать всего два разных стиля, предназначенных для браузеров, принадлежавших к разным <лагерям>. |
| NordWest |
Отправлено: 14 мая 2013 — 10:33 • Тема: Определение версии браузера. • Форум: Записная книжка PHP |
Ответов: 1 Просмотров: 4153
 |
Определение через ява-скрипт (на стороне клиента)
code:<HTML>
<HEAD>
<TITLE> Определение версии браузера</TITLE>
<SCRIPT language=JavaScript>
function check_browser() {
var version = 0;
if (navigator.userAgent.indexOf ("MSIE 5") != -1)
document.write ("Internet Explorer 5.0");
else if (navigator.userAgent.indexOf("MSIE 4") != -1)
document.write ("Internet Explorer 3.0!");
else if (navigator.userAgent.indexOf ("MSIE 4.5") != -1)
document.write ("Microsoft Internet Explorer 4.5 for Macintosh");
else if (navigator.userAgent.indexOf ("Opera") != -1)
document.write("Opera");
else if (navigator.userAgent.indexOf ("Mozilla/5.0") != -1)
document.write ("Navigator 5 или выше (в т.ч. 6.2+)");
else if (navigator.userAgent.indexOf ("Mozilla/4.7") != -1)
document.write ("Navigator 4.7");
else if ………
else version = 8;
return true;
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT language=JavaScript>
document.write("Вы используете браузер: ");
check_browser();
</SCRIPT>
</BODY>
</HTML>
Определение через PHP (на стороне сервера)
code:<?php
if (strpos($HTTP_USER_AGENT,"Opera") !==false)
{
$ua="Opera";
$uaVers = substr($HTTP_USER_AGENT,strpos($HTTP_USER_AGENT,"Opera")+6,4);
}
elseif (strpos($HTTP_USER_AGENT,"Gecko") !==false)
{
$ua="Netscape";
$uaVers = substr($HTTP_USER_AGENT,strpos($HTTP_USER_AGENT,"Mozilla")+8,3);
}
elseif (strpos($HTTP_USER_AGENT,"Windows") !==false)
{
$ua="Explorer";
$uaVers = substr($HTTP_USER_AGENT,strpos($HTTP_USER_AGENT,"MSIE")+5,3);
}
else
{
$ua=$HTTP_USER_AGENT;
$uaVers="";
}
?>
Файл с определением браузера с помощью PHP должен иметь расширение из числа обрабатываемых PHP-парсером или из числа обрабатываемых SSI-парсером и включать PHP-скрипт SSI-директивой
code:<!--#include virtual="agent.php" -->
Для браузеров с отключенным JavaScript может оказаться полезным включение в страницу таких строк:
code:<SCRIPT LANGUAGE="JavaScript"><!--
document.write('<' + '!--');
//-->
</SCRIPT>
<p style="color:red">Если вы хотите, чтобы сайт выглядел нормально, включите JavaScript!
Для броузера Internet Explorer и Windows XP с сервис-паком 2, щелкните по панели безопасности правой кнопкой мыши, и в ее контекстном меню выберите пункт "Разрешить заблокированное содержимое..."
<SCRIPT LANGUAGE="JavaScript"><!--
document.write('--' + '>');
//-->
</SCRIPT>
Если скрипт не поддерживается, в тексте отобразится предупредительная строка. Если поддерживается, запущенные перед и после предупредительной строки скрипты ее закоментируют. |
| NordWest |
Отправлено: 14 мая 2013 — 00:22 • Тема: Вопросы по работе с Limbo • Форум: Limbo CMS |
Ответов: 268 Просмотров: 90250
 |
XsystemnikX
Переработал ваш шаблон. Сделал универсальным (что бы не было фиксированных путей).
Но в шаблоне куча ява скриптов - большую часть пнул, т.к. обращаются к несуществующим директориям. Оставил только то, что явно живое.
Скачать |
| NordWest |
Отправлено: 13 мая 2013 — 23:53 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 28468
 |
admin.system.html.php
было
code: function refreshIframe(path)
{
var ie=document.all&&navigator.userAgent.indexOf("Opera")==-1
var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1
if (ie||dom)
{
var iframeobj=document.getElementById? document.getElementById("myframe") : document.all.myframe
iframeobj.src="admin2.php?com_option=system&option=listdir&style=<?=$style;?>&rel_dir="+path;
}
}
стало
code: function refreshIframe(path)
{
var iframeobj=document.getElementById? document.getElementById("myframe") : document.all.myframe
iframeobj.src="admin2.php?com_option=system&option=listdir&style=<?=$style;?>&rel_dir="+path;
}
Удалил код, предназначенный для старых версий Оперы - современным это только мешало. |
| NordWest |
Отправлено: 12 мая 2013 — 18:21 • Тема: Как добавить свой тег в виртуальный редактор? • Форум: Limbo CMS |
Ответов: 1 Просмотров: 1583
 |
В редакторе может использоваться только то, что туда заложил разработчик.
Гипотетически можно наверное что-то дописать, но нужно довольно хорошо знать ява-скрипты. Это не мой случай... |
|