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

Recommended Posts

Приветствую! Проблема такая. Нужно создать:

1. Всплывающую форму.

2. В ней поле со списком категорий.

3. После выбора категории должно появиться поле со списком подкатегорий (если таковые есть).

4. После выбора последней подкатегории должно появиться поле со списком товаров.

ну и далее.

 

Моя реализация:

1. Тут с помощью Колорбокс разобрался.

2. этот пункт тоже без проблем сделал.

Дальше просьба какашками не кидаться...Делал как мог...

3. В tpl'е сделал скрытые дивы с полями списков подкатегорий каждой категории. Благо их немного.

В селекте со списком категорий 2-го пункта поставил onchange со ссылкой на функцию js, которая по значению селекта делает видимым нужный див со списком подкатегорий.

Тут все работает норм.

 

Дальше по аналогии думал делать с товарами. А что если товаров и категорий будет много? Это мнго лишнего кода.

Подумал пойти другим путем. Задумка:

1. Получаем значение селекта и через js отправляем в рнр. Рнр обрабатывает значение и возвращает соответственно список подкатегорий или список товаров.

 

И тут полный абзац. Прочитал несколько статей о том как передавать переменные js в php и обратно. Но релизовать так и не смог.

 

Вопрос для профи: каким путем все-таки идти - как делал вначале или все-таки по второй задумке?

Если по второй - объясните как сделать правильно, или может быть есть какая-то литература для чайников, или простенький наглядный пример.

 

А то я уже 3-й день чуть голову не сломал.

 

З.Ы. Если кто-то хочет спросить ЗАЧЕМ так делать - не мой каприз, меня попросили, поэтому вопрос неактуален. Для меня актуальнее вопрос - КАК это сделать.

 

Заранее извиняюсь, если кого-то раздражаю тупыми вопросами.

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


читайте о ajax запросах, 

пока сами не разберётесь, советы будут безуспешными

можно с помощью jQuery потом будет организовать запрос раз два-упрощённый

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

читайте о ajax запросах, 

пока сами не разберётесь, советы будут безуспешными

можно с помощью jQuery потом будет организовать запрос раз два-упрощённый

Благодарю и на этом. Еще вопрос: никто не знает где можно себя недорого клонировать? Желательно за так.

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


Дык я и предупредил, что я чайник. Хотя по поводу плагинов - (я конечно не спец) - но бытует мнение, что иногда имеет смысл "собрать велосипед, чем ездить по двору на КАМАЗе". Многие, особенно универсальные плагины переполнены ненужным для частной задачи кодом.

Хотя в данном случае я настолько слабый программер, что не могу определить размеры "своего двора", как следовательно не знаю на чем по нему ездить. То ли собирать велосипед, то ли все-таки пересесть на Камаз.

 

А за совет - спасибо. С Аяксом я уже разобрался, но на досуге посмотрю плагин.

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


Ой..Я наверно совсем плохой программист, ибо на первый взгляд мне показалось - легче разобраться с Аяксом, нежели разбираться в том, как переделывать этот плагин под Опенкарт. Да и с английским у меня не очень.

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


Ой..Я наверно совсем плохой программист, ибо на первый взгляд мне показалось - легче разобраться с Аяксом, нежели разбираться в том, как переделывать этот плагин под Опенкарт. Да и с английским у меня не очень.

 

Всё правильно, разберитесь с ajax-ом, обычно такие задачи так и решаются

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


Всё правильно, разберитесь с ajax-ом, обычно такие задачи так и решаются

поддерживаю!)

собственно магазин на этом построен (образно говоря)

главная-категория-подкатегория-товар

можно конечно, всё сразу загрузить, а чё подождёт покупатель 5 минут, ни чё с ним не станется)))

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

но кажется мне, что здесь задержка в функции model
возможно getProduct() или/и getCategory()

в контроллере например так $category_info = $this->model_catalog_category->getCategory($path_id);

и так $product_info = $this->model_catalog_product->getProduct($product_id);
 

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

Пример реализации функции на аяксе:

1. Задан блок id="category-block" в котором будут выводится товары с аттрибутом display:none

2. Данные передаются на метод в контроллере товара и обрабатываются на выход в массиве json

3. Доп. функции дописывайте уже по ходу смекалки...

function productByCat(cat_id) {
$.ajax({
url: 'index.php?route=product/product/getProByCat',
type: 'post',
data: 'cat_id=' + cat_id,
dataType: 'json',
success: function(json) {
if (json['success']) {
$('#category-block').css('display','block');
$('#category-block').html(json['products']);
}
}
});
}
Надіслати
Поділитися на інших сайтах

Собственно говоря я уже сделал рабочий вариант, другое дело  в оптимизации кода. Чуть позже я выложу здесь подробный ход мыслей с кодом для таких же чайников как я. А от профи буду ждать какашек и оптимизированного кода.

 

Я вообще программист по Дельфи и VBA. С синтаксисом рнр и явы плохо знаком, так же как и с командами. Вся моя работа в данном случае состоит скопировать откуда-то часть кода, чуть обмозговать и переделать под свои нужды. Поэтому код вроде рабочий, но думаю непотимизированный.

Хотя пока получается.

 

Я думаю, что разобрав здесь свой модуль, я наберусь неплохого опыта, ибо как заметил тут собрались все-таки "соратники". 

Вывод сделал из-того, что еще не получил ни одного поста по типу "а погуглить не судьба" или "читай матчасть", а конкретные ссылки на конкретную часть вопроса. За что и благодарю.

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


 

Я вообще программист по Дельфи и VBA. С синтаксисом рнр и явы плохо знаком, так же как и с командами. Вся моя работа в данном случае состоит скопировать откуда-то часть кода, чуть обмозговать и переделать под свои нужды. Поэтому код вроде рабочий, но думаю непотимизированный.

Хотя пока получается.

 

 

Да, c такого на PHP и JS сложно переходить. Это точно. По себе знаю. :-).

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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