Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


zblashchuk
 Share

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

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

Link to comment
Share on other sites


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

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

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

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

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

 

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

КТО виноват?

:lol:

 

  • +1 1
Link to comment
Share on other sites

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

			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
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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']);		
				}			
			}	

 

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

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites


  • 1 year later...

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

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

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

} elseif ($keyword!='') {

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

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

} 
elseif ($keyword!='') {

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.