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

[Решено] Программирование поиска opencart


Recommended Posts

Добрый день. подскажите пожалуйста бьюсь не первый час.

Как в опенкарте обрабатывается форма поиска.

Опишу подробней.

 

вставил свой большой кусок кода методом пост. В контроллере прописал. Все читает все видит все отображает.

Но мне нужно зафиксировать одну переменную id и если пользователь нажмет поиск и изменит параметры поиска то эта переменная теряется.

 

Короче я добавил В отображение поиска catalog/view/theme/product/search.tpl

<input type="checkbox" name="idsearch" value="<?php echo $idsearch; ?> id="idsearch" checked="checked" />
		<label for="idsearch"><?php echo "Искать для выбранной модели №" . $idsearch; ?></label>

В контроллер поиска 

if (isset($this->request->get['idsearch'])) {
			$idsearch = $this->request->get['idsearch'];
		} else {
			$idsearch = '';
		} 	

И в контроллере поиска формирование урла:

$url = '';
		if (isset($this->request->get['idsearch'])) {
			$url .= '&idsearch=' . $this->request->get['idsearch'];
		}

Но где то я пропустил что то. И не могу понять передается моя переменная при нажатии на поиск или не передается. Если я нажимаю на свои ссылки и передаю get или пост то все работает. А если нажимаю на опенкартовский поиск то он не передает эту переменную.

 

Кто нибудь сталкивался с таким.

У меня или урл не формиhetn ссылку правильно или форма не передает данные - как лучше не знаю.

Помогите плиз.

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


catalog/view/javascript/common.js  :twisted:

Добрый день. Спасибо за помощь, этого я не знал, не думалчто в этой системе еще и js применяют для поиска. Но не помогло.

Вот что я дописал:

var filter_name = $('input[name=\'filter_name\']').attr('value');
var idsearch = $('input[name=\'idsearch\']').attr('value');
		
		if (filter_name) {
			url += '&filter_name=' + encodeURIComponent(filter_name);
			url += '&idsearch=' + encodeURIComponent(idsearch);
		}

В форме у меня есть input с name idsearch и в value прописан нужный мне номер.

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

В search.php везде прописал 

if (isset($this->request->get['idsearch'])) {
			$url .= '&idsearch=' . $this->request->get['idsearch'];
		}

а до этого везде обозначил переменную 

if (isset($this->request->get['idsearch'])) {
			$idsearch = $this->request->get['idsearch'];
		} else {
			$idsearch = '';
		} 

но блин что то все равно не работает. И я думаю не работает потому что в search.php в модели - мы добавляем к урлу значения. Но должен жеж быть обработчик, который смотрит что отмечено чекед а что нет! Праавильно? Но контроллера по поиску я не нашел.

В самом отображении даже сделал вот так

<?php if ($idsearch) { ?>
			<input type="checkbox" name="idsearch" value="<?php echo $idsearch; ?>" id="idsearch" checked="checked" />	
				<?php } else { ?>
				<input type="checkbox" name="idsearch" value="<?php echo $idsearch; ?>" id="idsearch"  />	
				<?php } ?>
		<label for="idsearch"><?php echo "Искать для выбранной модели №" . $idsearch; ?></label>

Вот в каком файле определяются отмечен ли этот инпут или не отмечен? Явно не в модели... В common.js - тоже нет. Вот только что переделал так и все равно не работает 

var idsearch = $('input[name=\'idsearch\']').attr('value');
			
			if (filter_name) {
				url += '&filter_name=' + encodeURIComponent(filter_name);
				
			}
			if(idsearch){
			url += '&idsearch=' + encodeURIComponent(idsearch);
		}
			location = url;
		}

ПОМогите пожалуйста, прошу... очень нужно... уже мозги кипят..

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


catalog/view/javascript/common.js  :twisted:

Все спасибки огромное нашел в конце файла  с отображением, такой же код только для конкретной формы изменил его и все заработало.

Тема закрыта.

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


так форма поиска одна ведь.

и обработчик (родной) - в common.js.

 

странно, что у вас еще и в файле шаблона что-то было...

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

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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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