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

Seo_Pro и Pavblog.Нужны ЧПУ для блога


Recommended Posts

Добрый день!
Есть блог "PAVBLOG" мне надо сделать для записей блога ЧПУ у него есть свой seo.php который это делает.
Мне же нужно его подружить с SEO_PRO,  как я понимаю, нужно его код перенести в seo_pro.php

 

По этому прошу помочь, как это сделать?!

 

p.s. почитал тут темы по поводу этого нехорошего  блога... менять его не вариант. нужно сделать урл-лы
-------


controller/pavblog/seo.php

 

Спойлер

<?php 

	class ControllerPavblogSeo extends Controller {
		
		/**
		 * Add Hanlder to detect url getting parameters to build real url of category and blog page. 
		 * 
		 */
		 public function index() {
			// Add rewrite to url class
			if ($this->config->get('config_seo_url')) {
				$this->url->addRewrite($this);
			}

			// Decode URL
			if (isset($this->request->get['_route_'])) {
				$parts = explode('/', $this->request->get['_route_']);
				
				/** BEGIN PROCESSING TO DECORD REQUET SEO URL FOR  PAVO BLOG MODULE **/
				$blogConfig = $this->config->get('pavblog');
			 	$seo = isset($blogConfig['keyword_listing_blogs_page'])?trim($blogConfig['keyword_listing_blogs_page']):"blogs"; 

				if( $this->request->get['_route_'] ==  $seo ){
					$this->request->get['route'] =  'pavblog/blogs';
					return $this->forward($this->request->get['route']);
				} 
				/** END OF PROCESSING TO DECORD REQUET SEO URL FOR  PAVO BLOG MODULE **/

				foreach ($parts as $part) {
					$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");
					
					if ($query->num_rows) {
						$url = explode('=', $query->row['query']);
					
					 	/** BEGIN PROCESSING TO DECORD REQUET SEO URL FOR  PAVO BLOG MODULE **/
						if( count($url) == 2 && ( preg_match( "#pavblog#", $url[0] ))  ){
						 	$this->request->get['route'] =  $url[0];
						 	$this->request->get['id'] = $url[1];
						}
						/** END OF PROCESSING TO DECORD REQUET SEO URL FOR  PAVO BLOG MODULE **/
					} else {
						$this->request->get['route'] = 'error/not_found';	
					}
				}
				
				if (isset($this->request->get['route'])) {
					return $this->forward($this->request->get['route']);
				}
			}
		}
		
		public function rewrite($link) {
			$url_info = parse_url(str_replace('&amp;', '&', $link));
			$url = ''; 
			$data = array();
			
			parse_str($url_info['query'], $data);
	 
			foreach ($data as $key => $value) {
				if (isset($data['route'])) {
					if ($key == 'path') {
						$categories = explode('_', $value);
						
						foreach ($categories as $category) {
							$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'");
					
							if ($query->num_rows) {
								$url .= '/' . $query->row['keyword'];
							}							
						}
						
						unset($data[$key]);
					}
					
				}
			}

			/** BEGIN PROCESSING TO REWRITE SEO URL FOR  PAVO BLOG MODULE **/
			if ( ( preg_match( "#pavblog#", $data['route'] ))  && isset($data['id']) ) { 
				$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape( $data['route'] . '=' .$data['id']) . "'");
				if ($query->num_rows) {
					$url .= '/' . $query->row['keyword'];
					unset($data[$key]);
					unset($data['id']);
				}					
			}  else if( $data['route'] == 'pavblog/blogs' ){ 
				$blogConfig = $this->config->get('pavblog');
				$seo = isset($blogConfig['keyword_listing_blogs_page'])?trim($blogConfig['keyword_listing_blogs_page']):"blogs"; 
				$url .= '/'.$seo;
			}
			/** END OF PROCESSING SEO URL FOR PAVO BLOG MODULE **/
			if ($url) {
				unset($data['route']);
			
				$query = '';
			
				if ($data) {
					foreach ($data as $key => $value) {
						$query .= '&' . $key . '=' . $value;
					}
					
					if ($query) {
						$query = '?' . trim($query, '&');
					}
				}

				return $url_info['scheme'] . '://' . $url_info['host'] . (isset($url_info['port']) ? ':' . $url_info['port'] : '') . str_replace('/index.php', '', $url_info['path']) . $url . $query;
			} else {
				return $link;
			}
		}	
	}

?>

 

 

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


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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