Jump to content
Sign in to follow this  
MATPOCKuH

[Решено] Модернизация sitemap. Работа с базой в контексте движка

Recommended Posts

Добрый день, уважаемые!

Если вкратце, есть модуль, который генерирует много старничек. Адреса и прочее хранится в базе. Вопрос - как можно поменять вывод стандартного sitemap, чтобы в него заливать автоматом адреса сгенереных страничек?

Посмотрел контролер sitemap.php - не понял, как и откуда он берет инфу по категориям и другим ссылкам. Скорее всего это все зарыто внутри класса, разбираться уже бошка не варит.

Мне надо подключится к базе данных, в рамках контекста движка, выкачать ссылки из таблицы (в массив) и после этого вставить их на страницу (в sitemap.tpl скорее всего). Как это лучше сделать? Можно прсото ткнуть рукой в похожие решения.

Share this post


Link to post
Share on other sites

>> Можно прсото ткнуть рукой в похожие решения.

родные категории/статьи в том же sitemap.

только ж вы не осилили...

>> Посмотрел контролер sitemap.php - не понял, как и откуда он берет инфу по категориям и другим ссылкам.

- - -

какой модуль? какие адреса? как хранит?

Share this post


Link to post
Share on other sites

Файл sitemap.php(обработка данных):

//подгрузка модели (model/catalog/manufacturer.php)
$this->load->model('catalog/manufacturer');
//Вызов функции подгруженной модели
$manufacturers = $this->model_catalog_manufacturer->getManufacturers();
//обработка данных и добавление в вывод
foreach ($manufacturers as $manufacturer) {
	$output .= '<url>';
	$output .= '<loc>' . str_replace('&', '&', str_replace('&', '&', $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $manufacturer['manufacturer_id']))) . '</loc>';
	$output .= '<changefreq>weekly</changefreq>';
	$output .= '<priority>0.7</priority>';
	$output .= '</url>';
}

Файл model/catalog/manufacturer.php(запрос данных):

public function getManufacturers() {
	$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer ...");
	return $query-rows;
} 

По аналогии создаете или изменяете модель, где запрашиваете данные, и создаете или меняете контроллер, который обработает ссылки и создаст структуру XML файла sitemap, в нем же передаете все на вывод(напрямую или же в шаблон).

Share this post


Link to post
Share on other sites
halfhope

 - большое спасибо! Да, то что нужно, похоже. Вчера поздно ночью сел разбираться и уже голова не варила, и по этому решил спросить у уважаемого сообщества.      

afwollis

- неосилил, каюсь. :) Сегодня буду разбираться.

Share this post


Link to post
Share on other sites

Уважаемые, вопрос вам. Поразбирался с MVClСделал свой тестовый модуль fplinks. Поместил его в папку information рядом с контактами и сайтмапом, по структуре из документации, создал к нему контроллер, шаблон, модель, все дела (языковый файлы там пока не нужны). Пытаюсь обратиться к нему по адресу вида site.ru/index.php?route=information/fplinks - пишет, что  "Запрашиваемая страница не найдена!"

site.ru/index.php?route=information/sitemap - в то же время работает нормально. Что я делаю не так? SeoPro включено. ocStore Версия 1.5.5.1.2

 

И могу ли я выводить своим модулем в другой шаблон? Например своим модулем my_module в шаблон sitemap.tpl. Для этого я должен его подключить в контроллере и все?

Share this post


Link to post
Share on other sites

показать заголовок метода index

Share this post


Link to post
Share on other sites

Уважаемые, большое спасибо, разобрался с контроллерами и допилил стандартный сайтмап - контроллер и шаблон со своей моделью, которая дергает данные из базы. Теперь все ок.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.