Trotor 27 01/09/19 20:49 Всё равно выпадает в ошибку базы данных: links_categories.php Поделиться сообщением Ссылка на сообщение
siv1987 2628 01/09/19 22:09 'where' => 'links_cats',Это что за дичь? В линков условие используется для выбора одобренных записей link_approved=1, а это здесь зачем?ТС, ну честное слово, хотябы основы sql выучили что-ли, уже столько времени админите. Вы один из старожил этого форума как никак, можно сказать вместе начинали. О боже, где вы нашли такой чпу темлейт link_cats_view? Я же написал его название showlinkcat. И даже формат ссылки показал app=links&showlinkcat=$id, но вы все равно умудрились какую-то ересь написать app=links&do=cat_view&id=? По моему вы перепутали приложения. Вот вам готовый код, а то еще долго так и будете мучатся то с запросом, то с генерации ссылок. $query = ipsRegistry::DB()->build( array( 'select' => 'category_id, category_seo_title, category_title', 'from' => 'links_cats', 'order' => 'category_id DESC' ) ); ipsRegistry::DB()->execute(); while ( $row = ipsRegistry::DB()->fetch() ) { $url = ipsRegistry::$settings['board_url'] . '/index.php?app=links&showlinkcat=' . $row['category_id']; $url = ipsRegistry::getClass( 'output' )->buildSEOUrl( $url, 'none', $row['category_seo_title'], 'showlinkcat' ); $this->sitemap->addURL( $url, null, '0.6' ); } 1 Поделиться сообщением Ссылка на сообщение
Trotor 27 01/09/19 23:12 Это что за дичь? В линков условие используется для выбора одобренных записей link_approved, а это здесь зачем?Честно не знал чем заменить запись одобрения link_approved :) ТС, ну честное слово, хотябы основы sql выучили что-ли, уже столько времени админите. Вы один из старожил этого форума как никак, можно сказать вместе начинали.Стрёмно начинать осваивать, есть боязнь что не усвою и погрязну в sql как в трясине :) Ещё раз спасибо за помощь. Поделиться сообщением Ссылка на сообщение
siv1987 2628 01/09/19 23:33 Честно не знал чем заменить запись одобрения link_approvedЕсли нет условий, тогда where нужно убрать. Ключ массива where соответствует условию WHERE в запросе. Стрёмно начинать осваивать, есть боязнь что не усвою и погрязну в sql как в трясинеКакбэ не получилось наоборот, начнете осваивать и так втянетесь, что стянете гуру SQL запросов. На самом деле составлять sql запросы довольно увлекательное и интересное занятие. Особенно на начальном этапе когда придумываешь себе разные условие для отбора записей.Можно начать с изучением синтаксиса запросов, просто чтобы не тупить на элементарных вещах. Поделиться сообщением Ссылка на сообщение
Trotor 27 01/10/19 13:46 Какбэ не получилось наоборот, начнете осваивать и так втянетесь, что стянете гуру SQL запросов. На самом деле составлять sql запросы довольно увлекательное и интересное занятие. Особенно на начальном этапе когда придумываешь себе разные условие для отбора записей.Можно начать с изучением синтаксиса запросов, просто чтобы не тупить на элементарных вещах. Вот в этом и получилась загвоздка - хотелось найти инструкцию по составлению на начальном уровне, так сказать для "самых маленьких", но находил только статьи для профи, в них и начинал тонуть как в трясине. Освоить самые простые азы, и постепенно увеличивать знания. На самом деле составлять sql запросы довольно увлекательное и интересное занятие.Вот с этим я столкнулся пару дней назад - нужны было узнать как это делать. Дело в том что во многих приложениях не было тега canonical (не знаю как в более поздних версиях IPS, возможно разработчики их добавили), поэтому в вебпанелях поисковиков чёрти что - куча дублей и другого мусора.На днях составил эти теги, и сейчас в вебпанелх всё хорошо отображается. Для приложения Links (разделы), в файл categories.php /* Add a canonical tag */ $this->registry->output->addCanonicalTag( "links/category/{$category['category_id']}-{$category['category_seo_title']}/".$cats, $category['category_seo_title'], 'cats' ); Для приложения Links (страницы), в файл links.php /* Add a canonical tag */ $this->registry->output->addCanonicalTag( "links/link/{$link['link']['link_id']}-{$link['link']['link_seo_title']}/".$showlink, $link['link']['link_seo_title'], 'showlink' ); Для приложения Videos (разделы), в файл index.php /* Add a canonical tag */ $this->registry->output->addCanonicalTag( "videos/category-{$category['cid']}-{$category['seo_name']}/".$cat, $category['seo_name'], 'cat' ); Для приложения Videos (страницы), в файл index.php /* Add a canonical tag */ $this->registry->output->addCanonicalTag( "videos/view-{$video['tid']}-{$video['seo_title']}/".$cat, $video['seo_title'], 'cat' ); И для событий Календаря нужно было, в файл calendars.php /* Add a canonical tag */ $this->registry->output->addCanonicalTag( "/calendar/1/event-{$event['event_id']}".$calendar, $event['event_id'], 'calendar' ); Естественно составил я их так сказать не по правилам судя по всему - но они работают и поисковики их корректно воспринимают. Поделиться сообщением Ссылка на сообщение
Trotor 27 01/11/19 12:20 Да пожалуйста. Имя файла, например, links_category.php должно быть в название класса sitemap_sitemap_links_category Список категорий запрашиваете из таблицы links_cats. В таблице смотрите название полей.Шаблон для чпу указываете showlinkcat, а ссылку app=links&showlinkcat=ИДНу а дальше разберетесь. Считай, тут весь генератор почти написан. Хотел по этому принципу сделать карту и для событиев Календаря, но в нём совершенно другой принцип, да и сео-титле в нём нету (почему то). Не подскажите? Поделиться сообщением Ссылка на сообщение
siv1987 2628 01/11/19 12:50 Мы календарь запрещаем к индексации, там много мусорных страниц и абсолютно нечего индексировать, никакой полезный траффик эти страницы дать не могут. Только лишняя нагрузка на сервер от ботов. Поделиться сообщением Ссылка на сообщение
Trotor 27 01/12/19 22:59 Мы календарь запрещаем к индексации, там много мусорных страниц и абсолютно нечего индексировать, никакой полезный траффик эти страницы дать не могут. Только лишняя нагрузка на сервер от ботов. У меня тоже всё что связано с календарём запрещено к индексации, окромя событиев к календарю. Создал на основе этого этакую ленту новостей. Поделиться сообщением Ссылка на сообщение
siv1987 2628 01/13/19 11:31 @Haktar, а что за ужасные рекламные попандеры появились на форуме? С евентами в каледнаре делайте также, по аналогии с остальными плагинами. Опыт у вас уже имеется. Второй уже будет проще сделать. Хотя, я бы не стал делайть для них сайтмэп, они все равно пустые. Поделиться сообщением Ссылка на сообщение
Trotor 27 01/13/19 12:56 а что за ужасные рекламные попандеры появились на форуме?Временные. Тестирую. С евентами в каледнаре делайте также, по аналогии с остальными плагинами. Опыт у вас уже имеется. Второй уже будет проще сделать.У эвентом нет seo, поэтому по примеру не получается. Хотя я бы не стал делайть для них сайтмэп, они все равно пустые. Вообще то это верно. Мне бы важнее сделать сайт-мап для приложения News System, бог с ним с этим календарём, однако не получается с News System. Даже с тегом canonical не получается - хотя с остальными приложениями (как показал выше) всё прошло без проблем. Само приложение:news.zip Поделиться сообщением Ссылка на сообщение
siv1987 2628 01/13/19 13:12 Генерируйте тогда обычные ссылки, в чем проблема то. Для файла sitemap не играет роли какой формат ссылки, главное чтобы он соответствовал тому что на форуме. Поделиться сообщением Ссылка на сообщение
siv1987 2628 01/13/19 14:03 Генератор для newsПоложить файл в /sitemap/extensions/sitemapPlugins/news.php 1 Поделиться сообщением Ссылка на сообщение
Trotor 27 01/13/19 22:17 Генератор для newsПоложить файл в /sitemap/extensions/sitemapPlugins/Большое спасибо ещё раз! Поделиться сообщением Ссылка на сообщение
Trotor 27 01/15/19 15:15 Даже с тегом canonical не получается - хотя с остальными приложениями (как показал выше) всё прошло без проблем.Удалось. Нужно было разкоментировать вот это:///$news = $this->DB->buildAndFetch( array( 'select' => 'id,seo_title', 'from' => 'news', 'where' => "id={$news_id}" ) ); Однако всё равно не то.Ставлю вот это: /* Add a canonical tag */ $this->registry->output->addCanonicalTag( "news/view-{$news['id']}-{$news['seo_title']}/".$view, $news['seo_title'], 'view' ); Получаю вот это:<link rel="canonical" href="http://адрес сайта/index.php?news/view-300-total-war-warhammer-ii-beta-obnovleniya-festag/" /> То есть откуда то берётся index.php? который всё рушит. Поделиться сообщением Ссылка на сообщение
newbie 1723 01/16/19 07:09 А открыть furlTemplates.php и посмотреть?$this->registry->output->addCanonicalTag( "app=news&do=view&id={$news['id']}", $news['seo_title'], 'viewnews' ); 1 Поделиться сообщением Ссылка на сообщение