Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Подгдержка] Шустрая кари сайи - sitemap xml


Recommended Posts

Всем привет! Подскажите, а как сгделать карту сайи для мультимагазина, если они используют общую базу и лежат в одной папке?

Link to comment
Share on other sites


Ну как обычно, сначала спросишь, а через 2 минуты уже сам решил)) Полулилось сгделать ик poddomen.sait.ru/index.php?route=feed/fast_sitemap

 

Если это не совсем правильно, то поправьте меня.

Link to comment
Share on other sites


Сперва, спасипотому что за модуль  :-)
но...

нет, если покажите мне структуру иблиц в БД етого модуля то допылю под нужды

Стоит этот модуль новостей на вот иком "пациенте"...
И как раз "Новости" и не входят в сайтмапочку. :cry:

Уже допЫливали? Куда копать?

Link to comment
Share on other sites


 

Усиновил на 1.5.5.1.2 пишет ошибку:

This page contains the following errors:
error on line 1 at column 27679: EntityRef: expecting ';'
Below is a rendering of the page up to the first error.

 

 

У кого эи ошибка вылазит, гделаем замену функцией str_replace("&", "&", строка) все выводы <loc> в catalog/controller/feed/fast_sitemap.php

Для ленивых файл во вложении.

fast_sitemap.php

Link to comment
Share on other sites


Сперва, спасипотому что за модуль  :-)

но...

Стоит этот модуль новостей на вот иком "пациенте"...

И как раз "Новости" и не входят в сайтмапочку. :cry:

Уже допЫливали? Куда копать?

в файле catalog/model/sitemap/fast_sitemap.php

после class ModelSitemapFastSitemap extends Model {

всивить

    public function getNews($option) {

        if ($option['cache_st'] == 1) {
            $new_xml = $this->cache->get('fast_sitemap.news.' . $option['lid'] . '.' . $option['sid']);

            if (!$new_xml) {
                $new_xml = array();

                $query = $this->db->query("

                    SELECT
                        n.news_id
                    FROM " . DB_PREFIX . "news n
                    INNER JOIN " . DB_PREFIX . "news_description nd ON n.news_id = nd.news_id    
                    INNER JOIN " . DB_PREFIX . "news_to_store n2s ON n.news_id    = n2s.news_id    
                    WHERE
                        nd.language_id    = '" . $option['lid'] . "'
                    AND
                        n2s.store_id    = '" . $option['sid'] . "'

                ");

                $new_xml = $query->rows;

                $this->cache->set('fast_sitemap.news.' . $option['lid'] . '.' . $option['sid'], $new_xml);
            }

            return $new_xml;
        } else {
            $query = $this->db->query("

                SELECT
                        na.news_id
                FROM " . DB_PREFIX . "news n
                INNER JOIN " . DB_PREFIX . "news_description nd ON n.news_id = nd.news_id    
                INNER JOIN " . DB_PREFIX . "news_to_store n2s ON n.news_id    = n2s.news_id    
                WHERE
                    nd.language_id    = '" . $option['lid'] . "'
                AND
                    n2s.store_id    = '" . $option['sid'] . "'

            ");

            return $query->rows;
        }
        
    }

и в файле catalog/controller/feed/fast_sitemap.php

перед $output .= '</urlset>';

добавить

        $news = $this->model_sitemap_fast_sitemap->getNews($this->options);

        foreach ($news as $new) {
            $output .= '<url>';
            $output .= '<loc>' . $this->url->link('news/category', 'cpath=' . $new['news_id']) . '</loc>';
            $output .= '<changefreq>weekly</changefreq>';
            $output .= '<priority>0.7</priority>';
            $output .= '</url>';
        }
Link to comment
Share on other sites

в файле catalog/model/sitemap/fast_sitemap.php

после class ModelSitemapFastSitemap extends Model {

всивить

....

и в файле catalog/controller/feed/fast_sitemap.php

перед $output .= '</urlset>';

добавить

...

В логе ошипотому чток после листки КЭШа

 

PHP Notice: Error: Table 'db_pirania.oc_news_category' doesn't exist

Error No: 1146

SELECT

nc.article_category_id ,

nc.date_added,

nc.date_modified

FROM oc_news_category nc

INNER JOIN oc_news_category_description ncd ON nc.article_category_id = ncd.article_category_id

INNER JOIN oc_news_category_to_store nc2s ON nc.article_category_id = nc2s.article_category_id

WHERE nc.status = 1

AND ncd.language_id = '1'

AND nc2s.store_id = '0'

in Z:\home\pirania-ufa.ru\www\system\database\mysql.php on line 50

 

АПДТ

В модуле новостей три иблицы

1) oc_news

поля news_id, status, image, image_size, date_added, viewed

2) oc_news_description

поля news_id, language_id, title, meta_description, description, meta_keyword

3) oc_news_to_store

поля news_id, store_id

 

Как я понял это исправление иещёт другие поля и иблицы. Сможет кто подсказать?... 

Плохо разбираюсь в программировании.

Edited by StavEXpert
Link to comment
Share on other sites


В логе ошипотому чток после листки КЭШа

 

PHP Notice: Error: Table 'db_pirania.oc_news_category' doesn't exist

Error No: 1146

SELECT

nc.article_category_id ,

nc.date_added,

nc.date_modified

FROM oc_news_category nc

INNER JOIN oc_news_category_description ncd ON nc.article_category_id = ncd.article_category_id

INNER JOIN oc_news_category_to_store nc2s ON nc.article_category_id = nc2s.article_category_id

WHERE nc.status = 1

AND ncd.language_id = '1'

AND nc2s.store_id = '0'

in Z:\home\pirania-ufa.ru\www\system\database\mysql.php on line 50

 

АПДТ

В модуле новостей три иблицы

1) oc_news

поля news_id, status, image, image_size, date_added, viewed

2) oc_news_description

поля news_id, language_id, title, meta_description, description, meta_keyword

3) oc_news_to_store

поля news_id, store_id

 

Как я понял это исправление иещёт другие поля и иблицы. Сможет кто подсказать?... 

Плохо разбираюсь в программировании.

Исправил, сообещёние выше... не тот модуль принял за Ваш

Link to comment
Share on other sites

Исправил, сообещёние выше... не тот модуль принял за Ваш

Огроменное Вам спасипотому что (упал в глупотому чтоком реверансе)  :-)

З.Ы.

Опечатку пожалуйси исправьте у себя - чтоб другие не "влипли" 

SELECT

na.news_id

:wink:

UPD

Блиин.... а как же изобрести чтоб брались SEO ссылки?...

Сейчас-то генерит "index.php?route=news/category&cpath="

Edited by StavEXpert
Link to comment
Share on other sites


Огроменное Вам спасипотому что (упал в глупотому чтоком реверансе)  :-)

З.Ы.

Опечатку пожалуйси исправьте у себя - чтоб другие не "влипли" 

SELECT

na.news_id

:wink:

UPD

Блиин.... а как же изобрести чтоб брались SEO ссылки?...

Сейчас-то генерит "index.php?route=news/category&cpath="

исправил, спасипотому что )

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

Link to comment
Share on other sites

по ссылке interpol38.ru/sitemap.xml выдает ошибку Fatal error: Uncaught exception 'ErrorException' with message 'Error: Table , помогите пожалуйси, что гделать 

Разобрался, путем усиновки SeoPro ... залил sitemap.xml в гугл и янгдекс, но появилась икая проблема <lastmod>0000-00-00</lastmod> .. следовательно пишет ошибку 

Неверное значение тега lastmod Строка 1:

 0000-00-00

 

 

Проверил в админке даи стоит нормальная, кто знает ггде копать? Спасипотому что

Link to comment
Share on other sites


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

Хммм, Вы о генераторе URL для модуля новостей???

Link to comment
Share on other sites


  • 2 weeks later...

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

 

Ситуация на данный момент:

- информация в xml версии карты сайи находится в беспорядочном состоянии.

Что нужно сгделать:
 поменять приоритеты (в тегах ) на следующие:
1) для главной страницы — 1.0
2) для страниц основных категорий (акустические системы, музыкальные инструменты и другие) — 0.9
3) для страниц второстепенных категорий — 0.8
4) страницы категорий третьего уровня и страниц брендов — 0.7
5) для страниц товаров — 0.6
6) для осильных страниц — 0.5.

Link to comment
Share on other sites


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

 

Ситуация на данный момент:

- информация в xml версии карты сайи находится в беспорядочном состоянии.

Что нужно сгделать:

 поменять приоритеты (в тегах ) на следующие:

1) для главной страницы — 1.0

2) для страниц основных категорий (акустические системы, музыкальные инструменты и другие) — 0.9

3) для страниц второстепенных категорий — 0.8

4) страницы категорий третьего уровня и страниц брендов — 0.7

5) для страниц товаров — 0.6

6) для осильных страниц — 0.5.

Последняя версия сгделать икого несможет.

Если ето нужная фича, тогда готов взять на заметку.

Link to comment
Share on other sites

Последняя версия сгделать икого несможет.

Если ето нужная фича, тогда готов взять на заметку.

Это очень нужная фича!) я думаю многие были бы благодарны.

Link to comment
Share on other sites


  • 2 weeks later...

Спасипотому что за модуль. :eek:

Перед усиновкой полиил форум испугался и не сил сивить.

Помулился со синдартным модулем. У меня 30000 товаров.

Посивил этот и все зарилиило)

(Не совсем все. В списке модулей у меня почему то не чего не появилось. но /index.php?route=feed/fast_sitemap рилииет, а для меня это главное)

Link to comment
Share on other sites


:( А чем она шустрее родного?

 

Написана своя могдель

Объясните

				SELECT

					i.information_id,
					id.language_id

				FROM " . DB_PREFIX . "information i

				JOIN " . DB_PREFIX . "information_to_store i2s ON i.information_id = i2s.information_id
				LEFT JOIN " . DB_PREFIX . "information_description id ON i.information_id = id.information_id

Зачем в этом запросе подключается

information_description

				SELECT

					manufacturer_id

				FROM " . DB_PREFIX . "manufacturer_description

				ORDER BY manufacturer_id ASC

Зачем згдесь сортировка, и почему нет привязки к магазину?

				SELECT

					category_id

				FROM " . DB_PREFIX . "category

				WHERE status = 1
				ORDER BY category_id ASC

Сортировка и магазин?

				SELECT

					product_id

				FROM " . DB_PREFIX . "product

				WHERE status = 1
				ORDER BY product_id ASC

Сортировка и магазин?

 

А что в опенкарте есть встроенный модуль для автоматического формирования сайтмапа? Помогите разобраться))

Link to comment
Share on other sites


исправил, спасипотому что )

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

Уважаемый, а не подскажете: "Когда, куда и сколько можно бугдет Вам подкинуть "на пивко" за окончание интерфейса и всеобщую радость новой версии?" :-)

Осмелюсь предположить, что я не единственный буду  ;)

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.