Значит, есть один сайт на HostCMS.
Была задача: организовать при нажатии на ссылку выпрыгивающий div с информацией, получаемой из текстовика/html-ки. Скрипт написал, но запихнуть его на страницы cms не выходит.
Содержание кода:
window.globalHello="hello world";
function createGlobalVar(var_name, value) {
window[var_name]=value; // Короче, создаем тут из локальной функции глобальную переменную
}
$(document).ready(function(){ // по окончанию загрузки страницы
$('#load1').click(function(){ // вешаем на клик по элементу с id
var div = document.createElement("div"); // создание дива
div.id = "content"; // с айдишником контент
div.style.position = "absolute";
document.body.appendChild(div); // аппендим див
$('#content').load(pgNm); // грузим контент из файла html
$('#content').removeClass(); // на всякий случай чистим класс
$('#content').addClass('grc'); // добавляем скругление и синеву
})
});
popStyle.css:
.grc { /* Начало особой, уличной магии */
padding: 5px 15px;
position: absolute;
width: 700px;
height: 500px;
}
.grc .e{display:block; position: relative;}
.grc .e *{
display: block;
overflow: hidden;
position: relative;
z-index: 2;
font-size: 0px;
background-color: #9cb4e0;
}
.grc b.e b, .grc b.e i, .grc b.e u, .grc b.e s, .grc b.e span, .grc b.e strong {height: 1px !important; background: #9cb4e0;}
.grc b.e b, .grc b.e i, .grc b.e s {border-left:1px solid #f1f4f9; border-right:1px solid #f1f4f9;}
.grc b.e u, .grc b.e b strong, .grc b.e i strong, .grc b.e span {border-left:1px solid #9eb4d3; border-right:1px solid #9eb4d3;}
.grc b.e b{margin: 0 3px;}
.grc b.e i{margin: 0 1px;}
.grc b.e u{margin: 0 1px;}
.grc b.e s{margin: 0;}
.grc b.e b strong, .grc b.e i strong {margin: 0;}
.grc b.e span{margin: 0;}
.grc div{background: #1d5198; padding: 0 10px; color: white;} /* Конец особой, уличной магии */
td {
scrollbar-3dlight-color:#1d5198; /* Задание цвета верхней и левой границ полосы прокрутки, стрелок и бегунка */
scrollbar-arrow-color:#fff; /* Задание цвета стрелок */
scrollbar-base-color:#9cb4e0; /* Задание основного цвета полос */
scrollbar-highlight-color:#9cb4e0;
scrollbar-shadow-color: #9cb4e0;
scrollbar-darkshadow-color:#1d5198; /* Задание цвета тени от стрелок и бегунка */
scrollbar-face-color:#9cb4e0; /* Задание цвета центральной части бегунка и полос прокрутки */
scrollbar-track-color:#1d5198; /* Задание цвета свободного места полос прокрутки */
}
nvd24.html (оно, в данном случае, грузится в div и убивает этот div по нажатию ссылки)
<script type="text/javascript">
function dell(){
document.body.removeChild(document.getElementById("content"));
}
</script>
<!-- это была функция удаления дива с контентом -->
<b class='e'><b><strong></strong></b><i><strong></strong></i><u></u><s></s><span></span></b>
<div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;">
<!-- Не забываем задавать размер шрифта -->
<table width="100%" height="450" border="0" style="table-layout:fixed;">
<tr>
<td width="71%"><div align="center">
<h2>НАЗВАНИЕ</h2>
</div></td>
<td width="30%"><div align="right"><a href="#" onclick="dell()"><img border="0" src="close_btn.png" alt="ЗАКРЫТЬ" width="170" height="42"></a></div></td>
</tr>
<tr>
<td colspan="2"><div style="overflow: auto; height: 400px;">
<p>Выводимый текст</p><br><br></a></p></div></td>
</tr>
</table>
</div>
<b class='e'><span></span><s></s><u></u><i><strong></strong></i><b><strong></strong></b></b>
Вызов скрипта осуществляется ссылой вида:
<a id="load1" onclick="createGlobalVar('pgNm', '/nvd24.html'

" href="#">NVD24</a>
Иными словами, мы тут делаем вот что:
1) путем присвоения id ссылкам мы определяем, что при нажатии на любую из них будет создаваться один и тот же div (много дивлв с одним id не создастся -создаваемый див закроет собой все ссылки, и добраться до них можно только нажав на диве "закрыть", тем самым убив его нафиг)
2) а вот уже через ф-ю createGlobalVar мы указываем функции что конкретно для этой ссылки будет в нем отображаться. В данном случае, там будет содержимое nvd24.html
Надеюсь, понятно =))
Скрипт полностью рабочий, хоть и написан через одно место, да и некоторые свойвства css отваливаются в некоторых браузерах (не критично, потом оптимизирую) - тестировал на домашнем тестовом веб-сервере. Единственное - там не цмс, а просто страницы на html, но там всё работает на ура.
Значит, все затыки с хостцмс идут на этапе подгрузки div. Никак не пойму куда в хостцмс кидать его содержимое (nvd24.html).
1) библиотека jqueryб popScript.js и popStyle.js лежат в /hostcmsfiles и линкуются в основной макет страницы.
2) при запуске путём подсовывания alert'ов было выяснено, что скрипт не видит nvd24.html
Я пихал этот файл в корень директории сайта, в /hostcmsfiles, в /scripts, в /documents и в папку с основными макетами.
Что делать? Совершенно не монимаю, где это должно лежать.