Значит, есть один сайт на HostCMS. Дабы не рекламировать - пока не пишу. Нужно - скину.
Была задача: организовать при нажатии на ссылку выпрыгивающий div с информацией, получаемой из текстовика/html-ки. Скрипт написал, но запихнуть его на страницы cms не выходит.
Содержание кода:
popScript.js:
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>ДИЗЕЛЬ SKL NVD-24</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><strong>Основной каталог запчастей "КАТАЛОГ ЗАПАСНЫХ ЧАСТЕЙ ДВИГАТЕЛЕЙ типа NVD-24, 80, 100 и 150 л.с.". В него входят самые популярные позиции, которые мы рады Вам предложить в короткий срок и за разумные цены: </strong></p>
<ol>
<li>Блок цилиндров 05001</li>
<li> Болт шатуна 08011</li>
<li> Вал коленчатый 03001</li>
<li> Вал распределительный 21001</li>
<li> Втулка 13006</li>
<li> Втулка 21019</li>
<li> Втулка направляющая клапана 11003</li>
<li> Втулка поршневого пальца 08003</li>
<li> Втулка цилиндровая 06001</li>
<li> Головка цилиндров 10901</li>
<li> Клапан впускной 11901</li>
<li> Клапан выпускной 11902</li>
<li> Клапан зарядный 15901</li>
<li> Клапан предохранительный 13901</li>
<li> Клапан пусковой 12901</li>
<li> Кольцо маслоотражательное 07010</li>
<li> Кольцо маслоотражательное с прорезью 07011</li>
<li> Кольцо поршневое d=175 mm 07008</li>
<li> Кольцо поршневое 18027</li>
<li> Крышка головки цилиндров 10014</li>
<li> Насос охлажд. воды в сборе 37951</li>
<li> Насос пресной воды </li>
<li> Насос для смазочного масла в сборе 36901</li>
<li> Насос топливный в сборе 53/25901</li>
<li> Палец поршня 07006</li>
<li> Пара плунжерная 53/25006</li>
<li> Подшипник коренной 02001</li>
<li> Подшипник упорный 02003 02003</li>
<li> Поршень в сборе 07901</li>
<li> Распылитель S1A 625-130</li>
<li> Распылитель 6х0,25х130</li>
<li> Сопло форсунки 14010</li>
<li> Трубопровод всасывающий 41002</li>
<li> Трубопровод нагнетательный к двигателю 41003</li>
<li> Фильтр для смазочного масла 40904</li>
<li> Фильтр морской воды 63901</li>
<li> Форсунка в сборе 53/14901</li>
</ol>
<p>Запчасти невошедшие в основной перечень мы готовы предоставить по Вашей заявке. Свяжитесь с нами по нашим контактным телефонам. <a href="http://interplus.spb.ru/contacts/" style="color:#FFFFFF"><b>Контакты</b><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
Надеюсь, понятно =))
Скрипт полностью рабочий - тестировал на домашнем тестовом веб-сервере. Единственное - там не цмс, а просто страницы на html, но там всё работает на ура.
Значит, все затыки с хостцмс идут на этапе подгрузки div. Никак не пойму куда в хостцмс кидать его содержимое (nvd24.html).
1) библиотека jqueryб popScript.js и popStyle.js лежат в /hostcmsfiles и линкуются в основной макет страницы.
2) при запуске путём подсовывания alert'ов было выяснено, что скрипт не видит nvd24.html
Я пихал этот файл в корень директории сайта, в /hostcmsfiles, в /scripts и в /documents. Сейчас попробую еще кинуть в папку с основными макетами, но думаю, что не получится.
Что делать?