Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Добавление своего скрипта в opencart


Recommended Posts

Добрый день, уважаемые форумчане. Снова нужна ваша помощь. Я новичек в openCarte?

Но устроился на работу где придется много сайтов писать именно на его движке. И вот столкнулся с проблеммой.

Написал свой скрипт для вывода из БД товара. На jQuery(ajax в основном) php mysql

Вот пример того что работает http://automehanik.seomax.biz/chain/

Есть файл index.php - в нем в header скрипт 

 

 

 

 



<script type="text/javascript">
$(document).ready(function(){
$("select#type").attr("disabled","disabled");
$("select#year").attr("disabled","disabled");
$("select#modification").attr("disabled","disabled");

$("select#category").change(function(){
$("select#type").attr("disabled","disabled");
$("select#type").html("<option>wait...</option>");
var vendor = $("select#category option:selected").attr('value');
$.post("select_type.php", {vendor:vendor}, function(data){
$("select#type").removeAttr("disabled");
$("select#type").html(data);
});
});

...................

if(cat != "" && type != "")
{
var result = $("select#type option:selected").html();
$("#result").html('your choice: '+result);
}
else
{
$("#result").html("you must choose two options!");
}
return false;
});
});
</script>
 

Этот скрипт передает методом пост значения в три пхпшных файла по очереди:

 

 



$.post("select_type.php", {vendor:vendor}, function(data){
 

И главный пхп файл обрабатывает значения принятые из пост - берет из БД значения и возвращает обратно в список селект значения.

 

ТАК ВОТ! САМ СКРИПТ РАБОТАЕТ ЧУДЕСНО!

Но блин в opencarte жеж скрипты отдельно, хеадер отдельно, левая колонка, куда нужно залить выпадающее меню отдельно и файл вывода - главный блок container - отдельно.

 

Например подключил я скрипт в хеадер что в папке common

<script type="text/javascript" src="catalog/view/javascript/shini.js"></script>

А файлы которые постом прописаны в моем скрипте куда копировать?

Или взял я уже и прописал в header весь скрипт, но он все равно почему то не работает.

 

И даже скрипт не работает, т.к. $(document).ready(function(){ уже используется opencartom изначально для других целей?

Или есть статья на форуме как подключить свои скрипты на эту машину??? ОЧЕНЬ НАДО, люди добрые помогите. второй день капаюсь не могу подключить.

 

 

С Уважением,

Евгений.

Надіслати
Поділитися на інших сайтах


Колонки это фиксированные позиции для вывода модулей.

 

Да, в OpenCart есть такая штука как модули, но чтобы понять как его засунуть в колонку надо открыть код существующих модулей и посмотреть. Или почитать доки. В общем, создать примитивный модуль. Если Вы делаете "сайт под ключ", то можно согрешить и засунуть код прямо в commom/column_left.tpl.

 

Чтобы не править ядро есть vQmod. Про это читайте в документации. 

 

JavaScript сценарии в OpenCart сплошь и рядом разбросаны по шаблонам так что тут можно излишне не стараться придерживаться чистоты кода.

Надіслати
Поділитися на інших сайтах

почитай про MVC.

посмотри код любого стандартного модуля (как то: featured, latest).

 

начни с оригинального Opencart - там большинство компонентов имеют такие же названия, как и имена их файлов (product, category, latest, etc).

должно помочь в ориентации по структуре каталогов/файлов.

Надіслати
Поділитися на інших сайтах

Вот пример того что работает

О! А вот к вам есть вопрос:

насколько актуальна ваша версия базы соответствия машин к размерам шин и дисков?

Авто каких лет выпуска у вас последние?

 

Чьи-то модули

Надіслати
Поділитися на інших сайтах

Отвечу deim этот скрипт что вы прикрепили в спойлере - мой начальник купил на этом сайте. Но я хочу сделать все немного по другому. И когда начал капаться в скрипте понял - что можно еще поколдовать и улучшить. А так база прошлогодняя, и перебивать коммерцию человеку я не собираюсь. Но скрипт для вывода как у tpyht сделал сам под свои нужды.

 

Так вот структуру opencart я знаю. Уже делал пару сайтов на нем. Логику MVC изучал.

Вопрос у меня совсем другой был.

 

Я просто вставил куски кода по сайту без создания модуля - в left_collumn вывел список, в header записал javascript код, но все это дело не заработало и я распихивал файлы по различным папкам что бы хотябы запросы пост шли на файлы что указаны в яваскрипт функциях - а они не идут. То есть визуальные эффекты работают. Первый массив из пхп файла что я инклюдил - запустился - а вот пост что передается странице не пошел.

Так вот есть ли на форуме статья или может кто то сталкивался с таким, потому что где то читал, что в левой-правой колонках и футере-топе вообще нельзя оттуда ассинхронные запросы посылать! Это правда или бред? Статей  в интернете мало по созданию своих модулей - везьде как то кратко о структуре и куда записывать файлы и как вызывать товар и каталог. А если мне нужно самому сделать запрос к БД. Стоит ли к ней подключатся и будет ли модуль видить не только один файл в модулях а если их 4штуки, короче такие мелкие нюансы. Я на этом форуме находил вещи и по серьездней, как ребята ядро opencarta изменяли, переделывали товары добавляя ячейки, делали ветер. А вот с ассинхронностью что то я еще парюсь.

 

То есть проблемма в том что бы добавить в левую колонку выпадающий ассинхронный список, который уже я написал а результат так же ассинхронно выдавался в главной колонке. Что мне почитать для этого и делал ли кто так? Сейчас читаю о создании модулей.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.