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

Ошибка при поиске


epson950

Recommended Posts

ocStore 1.5.5.1.2

при поиске чего либо возникает ошибка

Parse error: syntax error, unexpected T_PUBLIC in /home/********/daylapku.ru/htdocs/oc/vqmod/vqcache/vq2-catalog_controller_product_search.php on line 521

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

 

на всякий случай код со строки 521 до конца

				public function ajax()
				{
					// Contains results
					$data = array();
					if( isset($this->request->get['keyword']) ) {
						// Parse all keywords to lowercase
						$keywords = strtolower( $this->request->get['keyword'] );
						// Perform search only if we have some keywords
						if( strlen($keywords) >= 3 ) {
							$parts = explode( ' ', $keywords );
							$add = '';
							// Generating search
							foreach( $parts as $part ) {
								$add .= ' AND (LOWER(pd.name) LIKE "%' . $this->db->escape($part) . '%"';
								$add .= ' OR LOWER(p.model) LIKE "%' . $this->db->escape($part) . '%")';
							}
							$add = substr( $add, 4 );
							$sql  = 'SELECT pd.product_id, pd.name, p.model FROM ' . DB_PREFIX . 'product_description AS pd ';
							$sql .= 'LEFT JOIN ' . DB_PREFIX . 'product AS p ON p.product_id = pd.product_id ';
							$sql .= 'LEFT JOIN ' . DB_PREFIX . 'product_to_store AS p2s ON p2s.product_id = pd.product_id ';
							$sql .= 'WHERE ' . $add . ' AND p.status = 1 ';
							$sql .= 'AND pd.language_id = ' . (int)$this->config->get('config_language_id');
							$sql .= ' AND p2s.store_id =  ' . (int)$this->config->get('config_store_id'); 
							$sql .= ' ORDER BY p.sort_order ASC, LOWER(pd.name) ASC, LOWER(p.model) ASC';
							$sql .= ' LIMIT 15';
							$res = $this->db->query( $sql );
							if( $res ) {
								$data = ( isset($res->rows) ) ? $res->rows : $res->row;
				
								// For the seo url stuff
								$basehref = 'product/product&keyword=' . $this->request->get['keyword'] . '&product_id=';
								foreach( $data as $key => $values ) {
									$data[$key] = array(
										'name' => htmlspecialchars_decode($values['name'] . ' (' . $values['model'] . ')', ENT_QUOTES),
										'href' => $this->url->link($basehref . $values['product_id'])
									);
								}
							}
						}
					}
					echo json_encode( $data );
				}
				
			
?>

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


livesearch/живой поиск, или что там.

есть тема поддержки. туда и пишите.

 

Если имелся ввиду модуль Autosearch - то приведенный код не от него, скрипт livesearch.js в различных вариациях по всему инету выложен, я лишь за основу для модуля его брал.

 

А ошибка в коде вроде в том, что пропущена закрывающая скобка, добавить } перед ?> в самом конце

Змінено користувачем AlexDW
Надіслати
Поділитися на інших сайтах

да, имел в виду ваш модуль. или у вас там в product/product/ajax идет запрос?..

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

upd:

не. причина как раз где-то выше. скорее всего где-то потеряна точка с запятой.

Змінено користувачем afwollis
Надіслати
Поділитися на інших сайтах

А ошибка в коде вроде в том, что пропущена закрывающая скобка, добавить } перед ?> в самом конце

не помогло :(

 

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

Я новичок а opencart, поэтому ставил очень много модулей (для выбора лучшего и любопытства), а теперь сказать изза которого это произошло   мне лично сложно. Я вроде все модули поиска поудалял (в админке) и тему (шаблон) менял, но не помогло, поэтому сюда и обратился. Я конечно могу переставить ОС, но хотелось бы разобраться с этим.

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


Да все мы когда-то были новичками ;)

 

А ошибка в том, что удалили скобку закрывающую ПЕРЕД функцией, добавьте } перед 521 строкой

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

Parse error: syntax error, unexpected '}' in /home/********/daylapku.ru/htdocs/oc/vqmod/vqcache/vq2-catalog_controller_product_search.php on line 520

вот прикладываю весь файл на всякий случай. но меня еще смущает то, что даже при удалении этого файла он появляется снова. может править надо в каком то другом месте, а не в кэше?

vq2-catalog_controller_product_search.zip

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


как говорится - "ясенпень! в другом месте!"

только неизвестно, контроллер @catalog/controller/product/search.php@ или какой-то xml файл...

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

как говорится - "ясенпень! в другом месте!"

только неизвестно, контроллер @catalog/controller/product/search.php@ или какой-то xml файл...

Спасибо добрый человек! Пнул в правильном направлении :) Теперь я точно знаю что виноват вот этот xml

vqmod_livesearch.zip

 

Может можно его "починить", а то програмист из меня нулевой :(

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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