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

Recommended Posts

Здравствуйте!

 

Настраиваю новый сайт, стоит версия 1.5.6. Включил ЧПУ все настроил, товар, категории, главную. Были пробьлемы с ЧПУ для (модуль новостей) решил вопрос тоже. Но есть раздел, выводит страницы с новостей, половину урла убрал но вот вторую не могу понять где забрать. вот типа klioma.com.ua/information/information&information_id=4

information&information_id=4 - этот кусок, где копать?

Все правки делал в seo_url.php

 

 

вот так он выглядит сейчас

 

<?php
class ControllerCommonSeoUrl extends Controller {
    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_']);
            
            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']);
                    
                    if ($url[0] == 'news_id') {
        $this->request->get['news_id'] = $url[1];
}
                    
                    if ($url[0] == 'product_id') {
                        $this->request->get['product_id'] = $url[1];
                    }
                    
                    if ($url[0] == 'category_id') {
                        if (!isset($this->request->get['path'])) {
                            $this->request->get['path'] = $url[1];
                        } else {
                            $this->request->get['path'] .= '_' . $url[1];
                        }
                    }    
                    
                    if ($url[0] == 'manufacturer_id') {
                        $this->request->get['manufacturer_id'] = $url[1];
                    }
                    
                    if ($url[0] == 'information_id') {
                        $this->request->get['information_id'] = $url[1];
                    }    
                } else {
                    $this->request->get['route'] = 'error/not_found';    
                }
            }
            
            if (isset($this->request->get['product_id'])) {
                $this->request->get['route'] = 'product/product';
            } elseif (isset($this->request->get['path'])) {
                $this->request->get['route'] = 'product/category';
            } elseif (isset($this->request->get['manufacturer_id'])) {
                $this->request->get['route'] = 'product/manufacturer/info';
                } elseif (isset($this->request->get['news_id'])) {
                $this->request->get['route'] = 'information/news';
            } elseif (isset($this->request->get['information_id'])) {
                $this->request->get['route'] = 'information/information';
            }
            
            else
{ $this->request->get['route'] = $this->request->get['_route_'];
}
            
            
            
            if (isset($this->request->get['route'])) {
                return $this->forward($this->request->get['route']);
            }
        }
    }
    
    public function rewrite($link) {
        $url_info = parse_url(str_replace('&', '&', $link));
    
        $url = '';
        
        $data = array();
        
        parse_str($url_info['query'], $data);
        
        foreach ($data as $key => $value) {
            if (isset($data['route'])) {
                if (($data['route'] == 'product/product' && $key == 'product_id') || (($data['route'] == 'product/manufacturer/product' || $data['route'] == 'product/product') && $key == 'manufacturer_id') || ($data['route'] == 'information/news' && $key == 'news_id') || ($data['route'] == 'information/information' && $key == 'information_id')) {
                    $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($key . '=' . (int)$value) . "'");
                
                    if ($query->num_rows) {
                        $url .= '/' . $query->row['keyword'];
                        
                        unset($data[$key]);
                    }                    
                } elseif ($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]);
                }
                else
{
$query = $this->db->query("SELECT * FROM " . DB_PREFIX .
"url_alias WHERE `query` = '" . $this->db->escape($data['route']) . "'");

if ($query->num_rows)
{
$url .= '/' . $query->row['keyword'];

unset($data[$key]);
}
}
            }
        }
    $link = str_replace('index.php?route=', '',$link);
        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;
        }
    }    
}
?>

Прошу кто знает, подскажите пожалуйста. Спасибо!

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


"information" (стандартные статьи) обрабатывается из-коробки.

че ты к нему полез?

полотно прячь в код и спойлер.

у тебя осталось 5 минут.

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

чпу для статей прописываются в редактировании статьи в админке
И рекомендую поставить seo-pro, иначе проблем не оберетесь с индексацией

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


seo-pro я поставил но в админке нет пункта выбора для ЧПУ, по ходу с двоих берет все, например статьи я в seo-pro прописал все тогда заработало

не страдайте ерундой с этим seo_url, внимательно ознакомьтесь с этой темой , дело не шуточное

Или за платной помощью в приват

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


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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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