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

Когда включен seo pro - сайт ошибка 500 - возможно изза FilterVier?


zblashchuk

Recommended Posts

Добрый вечер. 

У меня непонятка с seo pro

Когда он включен - сайт не открывается ошибка 500

в файле ошибок указано: [error] [client 185.42.129.41:20793] PHP Parse error:  syntax error, unexpected 'elseif' (T_ELSEIF) in /home/s/salonc02/salonc02.beget.tech/storage/modification/catalog/controller/startup/seo_pro.php on line 61

 

а line 61 :

/*start FilterVier*/
                elseif($temp_key = $this->model_extension_module_filter_vier->parseUrlSeoFV($keyword, true, $rows)) {  
                    $rows[] = array('keyword' => $keyword, 'query' => $temp_key);
                }
                /*end FilterVier*/

image.thumb.png.c75ebb16d15a5061a6cd2be2a9e063b3.png

Подскажите что то?

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


18 минут назад, zblashchuk сказал:

catalog/controller/startup/seo_pro.php

это к автору seopro

в опенкрате такого нет, в оксторе такого нет
КТО виноват?

  • +1 2
Надіслати
Поділитися на інших сайтах

25 минут назад, zblashchuk сказал:

Подскажите что то?

Вам автор FilterVier подскажет или Вам подсказать, что за ошибка?

Скорей всего ручками что-то правили и модификатор стал криво.

Ниже по коду должно быть еще } else {

 

11 минут назад, chukcha сказал:

КТО виноват?

:lol:

 

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

вот кусок кода из ошибки

			foreach ($parts as $keyword) {				
				if (isset($this->cache_data['keywords'][$keyword])) {			
					$rows[] = array('keyword' => $keyword, 'query' => $this->cache_data['keywords'][$keyword]);		
				} elseif ($keyword!='') {			
							
                /*start FilterVier*/							
                elseif($temp_key = $this->model_extension_module_filter_vier->parseUrlSeoFV($keyword, true, $rows)) {  							
					$rows[] = array('keyword' => $keyword, 'query' => $temp_key);		
                }							
                /*end FilterVier*/							
							
					$query_multilang = $this->db->query("SELECT `query` FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $keyword ."'");		
					if ($query_multilang->row) $rows[] = array('keyword' => $keyword, 'query' => $query_multilang->row['query']);		
				}			
			}

 

условие стоит не втом месте, то есть после 

} elseif ($keyword!='') {

стоит

/*start FilterVier*/							
                elseif($temp_key = $this->model_extension_module_filter_vier->parseUrlSeoFV($keyword, true, $rows)) {

 

скорее всего условие фильтра должно стоять после условия

if ($query_multilang->row) $rows[] = array('keyword' => $keyword, 'query' => $query_multilang->row['query']);

 

или должно стоять перед

elseif ($keyword!='') {

 

весь кусок кода скорее всего должен быть вот такой

			foreach ($parts as $keyword) {				
				if (isset($this->cache_data['keywords'][$keyword])) {			
					$rows[] = array('keyword' => $keyword, 'query' => $this->cache_data['keywords'][$keyword]);		
				} 			
							
                /*start FilterVier*/							
                elseif($temp_key = $this->model_extension_module_filter_vier->parseUrlSeoFV($keyword, true, $rows)) {  							
					$rows[] = array('keyword' => $keyword, 'query' => $temp_key);		
                }							
                /*end FilterVier*/							
				
				elseif ($keyword!='') {
					$query_multilang = $this->db->query("SELECT `query` FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $keyword ."'");		
					if ($query_multilang->row) $rows[] = array('keyword' => $keyword, 'query' => $query_multilang->row['query']);		
				}			
			}	

 

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

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

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

7 часов назад, Venter сказал:

вот кусок кода из ошибки


			foreach ($parts as $keyword) {				
				if (isset($this->cache_data['keywords'][$keyword])) {			
					$rows[] = array('keyword' => $keyword, 'query' => $this->cache_data['keywords'][$keyword]);		
				} elseif ($keyword!='') {			
							
                /*start FilterVier*/							
                elseif($temp_key = $this->model_extension_module_filter_vier->parseUrlSeoFV($keyword, true, $rows)) {  							
					$rows[] = array('keyword' => $keyword, 'query' => $temp_key);		
                }							
                /*end FilterVier*/							
							
					$query_multilang = $this->db->query("SELECT `query` FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $keyword ."'");		
					if ($query_multilang->row) $rows[] = array('keyword' => $keyword, 'query' => $query_multilang->row['query']);		
				}			
			}

 

условие стоит не втом месте, то есть после 


} elseif ($keyword!='') {

стоит


/*start FilterVier*/							
                elseif($temp_key = $this->model_extension_module_filter_vier->parseUrlSeoFV($keyword, true, $rows)) {

 

скорее всего условие фильтра должно стоять после условия


if ($query_multilang->row) $rows[] = array('keyword' => $keyword, 'query' => $query_multilang->row['query']);

 

или должно стоять перед


elseif ($keyword!='') {

 

весь кусок кода скорее всего должен быть вот такой


			foreach ($parts as $keyword) {				
				if (isset($this->cache_data['keywords'][$keyword])) {			
					$rows[] = array('keyword' => $keyword, 'query' => $this->cache_data['keywords'][$keyword]);		
				} 			
							
                /*start FilterVier*/							
                elseif($temp_key = $this->model_extension_module_filter_vier->parseUrlSeoFV($keyword, true, $rows)) {  							
					$rows[] = array('keyword' => $keyword, 'query' => $temp_key);		
                }							
                /*end FilterVier*/							
				
				elseif ($keyword!='') {
					$query_multilang = $this->db->query("SELECT `query` FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $keyword ."'");		
					if ($query_multilang->row) $rows[] = array('keyword' => $keyword, 'query' => $query_multilang->row['query']);		
				}			
			}	

 

спасибо за уделенное время

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


11 часов назад, Prooksius сказал:

Файл вроде бы из двушки, но измененный, а пост о трешке..
Какая у вас версия магазина?

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

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


  • 1 year later...

странно, что автор Поста не обратился ко мне.

всё просто делается в данном файле - /catalog/controller/startup/seo_pro.php (который переделанный из двойки под тройку)

найти вот этот кусок кода

} elseif ($keyword!='') {

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

то есть, чтоб было вот так

} 
elseif ($keyword!='') {

потом же не забыть обновить модификаторы.

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

  • 3 months later...
11.03.2023 в 12:49, vier сказал:

странно, что автор Поста не обратился ко мне.

всё просто делается в данном файле - /catalog/controller/startup/seo_pro.php (который переделанный из двойки под тройку)

найти вот этот кусок кода

} elseif ($keyword!='') {

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

то есть, чтоб было вот так

} 
elseif ($keyword!='') {

потом же не забыть обновить модификаторы.

Спасибо! Сработало, была та же фигня.

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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