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

[Решено?..] Генерация ссылок для своей страницы в SeoPro


d2boy

Recommended Posts

Создал контроллер custom.php и шаблон custom.tpl (пустой) для новой схемы.

 

Теперь создаю новую страницу и могу получить к ней доступ по двум ссылкам: вида

 

information/information&information_id=27

 

и 

 

information/custom&information_id=27

 

Но, если я прописываю seo keyword, то SEO PRO, естественно, перенаправляет на первую.

 

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

 

Хочу сделать мини-сайты прямо в редакторе админке для удобства.

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


на своей схеме не используйте information_id

Спасибо за быстрый ответ!

 

А как тогда можно вывести страницу без её id?

 

Я просто склонировал контроллер information.php, выкинув из него лишние переменные.

Задумка такая для некоторых страниц поставить схему custom, чтобы они отображались на «голом» шаблоне

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


по layout_id подставляй нужный шаблон.

тут обсуждалось для товаров: https://opencartforum.com/topic/42297-решено-создание-нового-макета/

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

Создал шаблон с номером схемы и сделал вот так в information.php:

$layout_id = $this->model_catalog_information->getInformationLayoutId($information_id);
            if ($layout_id>0) {
                $tmpl = $layout_id;
            }
			
			
			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/' . $tmpl . '.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/information/' . $tmpl . '.tpl';
			} elseif (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/information.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/information/information.tpl';
			} else {
				$this->template = 'default/template/information/information.tpl';
			}

Кто-нибудь знает, как вытащить имя схемы (хочу покрасивее сделать, чтобы название шаблона совпадало с названием схемы)?

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


А сам и отвечу себе:

Тут добавил переменную

 

$layout_id = $this->model_catalog_information->getInformationLayoutId($information_id); // вывод порядкового номера схемы
            $layout_name = $this->model_catalog_information->getInformationLayoutName($layout_id); // вывод названия схемы
            if ($layout_id>0) {
                $tmpl_name = $layout_name; // присваиваем
            }
            
            
            if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/' . $layout_name . '.tpl')) {
                $this->template = $this->config->get('config_template') . '/template/information/' . $layout_name . '.tpl';
            } elseif (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/information.tpl')) {
                $this->template = $this->config->get('config_template') . '/template/information/information.tpl';
            } else {
                $this->template = 'default/template/information/information.tpl';
            }
 

 

и в model/information.php создаём функцию
 

	public function getInformationLayoutName($layout_id) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "layout WHERE layout_id = '" . (int)$layout_id . "'");

		if ($query->num_rows) {
			return $query->row['name'];
		} else {
			return false;
		}
	}	
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

Important Information

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