solitario84
<body onload="return icms.wall.replies(<?php echo $entry['id']; ?>)"> <?php if ($entry['replies_count']){ ?> <a href="#wall-replies" class="get_replies"><?php echo html_spellcount($entry['replies_count'], LANG_REPLY_SPELLCOUNT); ?></a> <?php } ?> </body>
<?php if ($entry['replies_count']){ ?> <a href="#wall-replies" class="get_replies" onclick="return icms.wall.replies(<?php echo $entry['id']; ?>)"><?php echo html_spellcount($entry['replies_count'], LANG_REPLY_SPELLCOUNT); ?></a> <?php } ?>
Есть небольшой апгрейд
это крутой апгрейд!.. Вы очень оперативны!.. спасибо огромное!.. правда не дал пока ладу фавиконка не выскакивает, может есть нюансы?
Работает потому что в конструкторе конфигаЭта строка
public function __construct($cfg_file='config.php'){ $this->data = $this->load($cfg_file); $this->set('cfg_time_zone', $this->data['time_zone']); $this->data['time_zone'] = $_SESSION['user']['time_zone']; } $this->set('root_path', ROOT . $this->root); $this->set('system_path', $this->root_path . 'system/'); $this->set('upload_path', ROOT . $this->upload_root); $this->set('cache_path', ROOT . $this->cache_root); }Будет устанавливать root_path из константы ROOT=$_SERVER['DOCUMENT_ROOT'], и ключа массива 'root' (файла config.php ) содержащего этот искомый слеш
$this->set('root_path', ROOT . $this->root);В итоге при использовании перед template слеш ненужен, так как он уже определен в
'root' => '/',Тоесть root_path содержит путь к корневой директории сервера + слеш который определен в файле конфигурации.
$this->path = $config->root_path
о да!.. большое спасибо за доходчивое объяснение, я на секунды даже забыл что ни фига не понимаю в php и показалось что я что то понял…

может вы подскажите правильным ли будет такое подключение
<link rel="alternate stylesheet" href="/templates/default/css/black_style.css" media="screen" title="black" />
А таким знатокам как мы с вами надо знать почему?а почему такое подключение работает без слеша?
Нам надо знать как лечить...
если правильно понимаю, то система формирует в этом случае абсолютный путь к файлу
вот… и я думаю что правильней было бы докапаться до этого "->addMainCSS", но без разработчиков здесь не обойтись по ходу… может отзовутся, немного подожду… а так в принципе, работает, вам спасибо!..
хм… все так просто… спасибо, работает… а почему
если так подключаете:при заходе в подкатегорию, стили слетают
то слеш перед templates добавьте
<?php $this->addMainCSS("templates/{$this->name}/css/black.css"); ?>
Любой код добавленный в маин.тпл должен отображаться на всех страницах ( исключая страницы ошибок)
теоретически… а на практике, я вижу совсем другое… кстати, работает не только на главной, но и во всех типах контента на коневой категории, при заходе в подкатегорию, стили слетают… например: статьи-стили есть, астрономия-стилей нет…
solitario84, странно, а какая разница, как подключать? Тут проблем не должно быть. Может, что-то не так со скриптом, отвечающим за смену подключаемой каскадной таблицы? Можете код скрипта привести?
function setActiveStyleSheet(title) { var i, a, main; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) { a.disabled = true; if(a.getAttribute("title") == title) a.disabled = false; } } } function getActiveStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title"); } return null; } function getPreferredStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("title") ) return a.getAttribute("title"); } return null; } function createCookie(name,value,days) { if (days) { } else expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } window.onload = function(e) { var cookie = readCookie("style"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); } window.onunload = function(e) { var title = getActiveStyleSheet(); createCookie("style", title, 365); } var cookie = readCookie("style"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title);
addMainCSS не панацея, "alternate stylesheet" в API ICMS2 нет, прямая ссылка должна работать, если вы конечно все правильно в head положили. Проверьте ее наличие в загруженной странице через исходный текст, часто F12 помогает туда попасть.
<link rel="alternate stylesheet" href="templates/default/css/black_style.css" media="screen" title="black" />
, я так понимаю, и есть подключение определенного списка стилей и это надо где то подправить… не силен я в php… здесь вопрос наверное скорей к разработчикам
solitario84, вопрос, уже опосля моего ответа ), понял, но подобной реализации не встречал.
и даже вставка в main.tpl.php не помогает?
alternate stylesheet " href="templates/default/css/black_style.css" media="screen" title="black" />
<?php $this->addMainCSS("templates/{$this->name}/css/black.css"); ?>
вот например, первая ссылка в выдаче гугла zver-master.ru/building-of-sites/javascript/61-pereklyuchenie-mezhdu-css.html там все досконально описано
при таком подключении вида
<link rel="Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст" href="templates/default/css/black_style.css" media="screen" title="black" />
<?php $this->addMainCSS("templates/{$this->name}/css/black.css"); ?>
<?php $this->addMainCSS("templates/{$this->name}/css/black.css"); ?>