Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Подключение стороннего скрипта

Помогите разобраться:
Зыдача: написать скрипт каталога запчастей, с использованием ajax, за основу взят скрипт городов и стран...
листинг index.php:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="valid.js"></script>

<form action="" id="forma">
<div id="Container">
<div>
            <label>Выберете страну:</label><br/>
            <select id="countrydropdown">
<option value="">Выберете страну</option>
<?php
$array = mysql_query ("SELECT * FROM vg_countrys");
while ($my = mysql_fetch_array ($array)) {
echo "<option value=\"".$my."\">".$my."</option>";
}
?>
            </select>
          </div>
          <div id="divarea">
            <label>Область:</label><br/>
            <select id="areadropdown" disabled="disabled"></select>
          </div>
          <div>
            <label>Город:</label><br/>
            <select id="citydropdown" disabled="disabled"></select>
          </div>
</div>


листинг valid.js:


$(document).ready(function() {
$("#countrydropdown").change(function() {
var countryvalue = $("#countrydropdown option:selected").val();
if (countryvalue == '') {clearlist();}
getarea();
})
$("#areadropdown").change(function() {
getcity();
})
}

);

function getarea() {
var countryvalue = $("#countrydropdown option:selected").val();
var area = $("#areadropdown");
if (countryvalue == 0) {
area.attr("disabled",true);
getcity();
} else {

area.attr("disabled",false);
area.load('getarea.php',{country : countryvalue});
}

}
function getcity() {
var countryvalue = $("#countrydropdown option:selected").val();
var areavalue = $("#areadropdown option:selected").val();
var city = $("#citydropdown");
if (countryvalue == 0) {
city.attr("disabled",true);
} else {
city.attr("disabled",false);
city.load('getcity.php',{area : areavalue});
}
}
function clearlist() {
$("#areadropdown").empty();
$("#citydropdown").empty();
}


листинг getarea.php:

$country = $_POST;

$array = mysql_query ("SELECT * FROM vg_areas WHERE country = $country");
echo "<option value=\"\">Выберете вашу область</option>";
while ($m = mysql_fetch_array ($array)) {
echo "<option value=\"".$m."\">".$m."</option>";
}


getcity.php по тому-же принципу, что и getarea

При переходе на страничку со скриптом, начальные позиции грузятся из БД, а скрипты js не выполняются, может их отдельно подключать в каком-нить файле нужно?

Я подключаю его так: создаю информационную страницу, кидаю в папку media/content файл my_script.php, указываю его в админке...
остальные файлы пробовал в ту же папку, пробовал отделную папку создавать в корне и пути прописывать к скриптам и файлам в valid.js и my_script.php абсолютные и относительные... не помогает...

з.ы. работоспособоность скрипта проверена вне шопоса - 100% работает...


А файлы getcity.php и getcity.php в корне лежат?

В valid.js
строки
area.load('getarea.php',{country : countryvalue});
city.load('getcity.php',{area : areavalue});

файлы будут искаться в корневой папке.


А файлы getcity.php и getcity.php в корне лежат?

Кидал и в корень и папку создавал отдельную...
я ж говорю менял пути даже на абсолютные: area.load('http://my_shop/my_script/getarea.php',{country : countryvalue}); например.


Может быть сами скрипты (valid.js) нужно в другом файле подключать (ведь их желательно в head запихивать...)?


themes/шаблон/javascript/default.js.php
попробуйте тут подключить valid.js

через него все в head попадает.

Может какой конфликт с чем-то....


А подключение к БД там происходит вообще? В этих файлах getcity.php и getcity.php
Я как смотрю там только запрос

Выложили бы файла которые реально используете.


подключение происходит строкой :

require_once ("db.php");

Листинг db.php:

<?php

$db = mysql_connect ("localhost","root","");
mysql_select_db ("cars", $db);
?>

Спасибо за ответ, подключил js в шаблоне - заработало.

Проблема была именно в подключении js , скрипты работают...

з.ы. не скопировал подключение в листинг...


А. Ну замечательно!


Ещё раз спасибо! Если итересно - вот ссылка на альфа версию в работе) осталось настроить и админку дописать....
http://shop.gm-style.ru/shop_content.php?coID=0
В идеале конечно хотелось бы написать отдельным модулем... Но пока на это моих знаний php и структуры шопоса...


Источник



Copyright ShopOS