Компонент JSitemap Professional

pragmatik

Постоялец
Регистрация
11 Фев 2013
Сообщения
122
Реакции
34
Расширение для создания карт сайта на Joomla с кучей настроек.
Впечатлил рейтинг этого расширения на Для просмотра ссылки Войди или Зарегистрируйся
Из перевода описания:
Virtuemart 2 и Kunena 3.x совместимо!
Не использует плагины.
Возможность выводить карту сайта в модуле.
 
Последнее редактирование модератором:
да. 3.4.1 вероятно мы нескоро увидим, сам очень жду ее, ибо не могу на новый ИБ перейти. На 3.3 версии Жсайтмэпа неверно генерируется карта сайта для ИБ 5.х.х

3.4.1 не будет, на офсайте уже есть 3.5. На просторах интернета свободно доступна 3.4, вот выше ее запостили кстати.

Подскажите пожалуйста в чем косяк - на версии 3.3 и 3.4 то же самое - HTML карта сайта отображается нормально, но вот когда открываю XML-карту сайту которую JSitemap создает по адресу Для просмотра ссылки Войди или Зарегистрируйся домен.ru/index.php?option=com_jmap&view=sitemap&format=xml, то бразуер выдает ошибку:

This page contains the following errors:
error on line 83 at column 10: Extra content at the end of the document
Below is a rendering of the page up to the first error.

Вот код последних шести строк страницы:
78<url>
79<loc>Для просмотра ссылки Войди или Зарегистрируйся домен.ru/component/adsmanager/51-taunkhausy/133-taunkhaus-150-kv-m</loc>
80<changefreq>daily</changefreq>
81<priority>0.5</priority>
82</url>
83</urlset></head>
На что конкретно ругается браузер, как исправить этот косяк? Я так понимаю, что проблема в том, что документ имеет не корректный XML формат. JSitemap вставляет в XML-файл что-то лишнее. Может ошибка в закрывающем теге </head> ? Потому что открывающего тега <head> на странице нигде нет. Если это так, то где это поправить? Я попробовал открыть файл / public_html / components / com_jmap / views / sitemap / view.xml.php , но в PHP особо не шарю, не увидел где там поправить... Вот код этого файла:

<?php
// namespace components\com_jmap\views\sitemap;
/**
* @package JMAP::SITEMAP::components::com_jmap
* @subpackage views
* @subpackage sitemap
* @AUTHOR Joomla! Extensions Store
* @CopyRight (C) 2015 - Joomla! Extensions Store
* @license GNU/GPLv2 Для просмотра ссылки Войди или Зарегистрируйся
*/
defined('_JEXEC') or die('Restricted access');

/**
* Main view class
*
* @package JMAP::SITEMAP::components::com_jmap
* @subpackage views
* @subpackage sitemap
* @since 1.0
*/
class JMapViewSitemap extends JMapView {
/**
* Display the XML sitemap
* @access public
* @Return void
*/
function display($tpl = null) {
$document = JFactory::getDocument();
$document->setMimeEncoding('application/xml');

// Call by cache handler get no params, so recover from model state
if(!$tpl) {
$tpl = $this->getModel ()->getState ( 'documentformat' );
}

$this->data = $this->get('SitemapData');
$this->cparams = $this->getModel()->getState('cparams');
$this->outputtedLinksBuffer = array();
$this->application = JFactory::getApplication();
$this->xslt = $this->getModel()->getState('xslt');

$uriInstance = JURI::getInstance();
if($this->cparams->get('append_livesite', true)) {
$customHttpPort = trim($this->cparams->get('custom_http_port', ''));
$getPort = $customHttpPort ? ':' . $customHttpPort : '';

$customDomain = trim($this->cparams->get('custom_sitemap_domain', ''));
$getDomain = $customDomain ? rtrim($customDomain, '/') : rtrim($uriInstance->getScheme() . '://' . $uriInstance->getHost(), '/');

$this->liveSite = rtrim($getDomain . $getPort, '/');
} else {
$this->liveSite = null;
}

$this->setLayout('default');
parent::display($tpl);
}
}

Может кто чего подскажет.... Заранее спасибо!

Да, а вот код файла / public_html / components / com_jmap / views / sitemap / tmpl / default_xml.php

<?php
/**
* @package JMAP::SITEMAP::components::com_jmap
* @subpackage views
* @subpackage sitemap
* @subpackage tmpl
* @AUTHOR Joomla! Extensions Store
* @CopyRight (C) 2015 - Joomla! Extensions Store
* @license GNU/GPLv2 Для просмотра ссылки Войди или Зарегистрируйся
*/
defined ( '_JEXEC' ) or die ( 'Restricted access' );
echo "<?xml version='1.0' encoding='UTF-8'?>" . PHP_EOL;
if($this->xslt) {
echo "<?xml-stylesheet type='text/xsl' href='" . JURI::root() . "components/com_jmap/xslt/xml-sitemap.xsl'?>" . PHP_EOL;
}
?>
<urlset xmlns:xsi="Для просмотра ссылки Войди или Зарегистрируйся" xmlns="Для просмотра ссылки Войди или Зарегистрируйся" xsi:schemaLocation="Для просмотра ссылки Войди или Зарегистрируйся Для просмотра ссылки Войди или Зарегистрируйся">
<?php
foreach ( $this->data as $source ) {
// Strategy pattern source type template visualization
if ($source->type) {
$this->source = $source;
$this->sourceparams = $source->params;
$this->asCategoryTitleField = $this->findAsCategoryTitleField($source);
if($this->sourceparams->get('xmlinclude', 1)) {
$subTemplateName = $this->_layout . '_xml_' . $source->type . '.php';
if (file_exists ( JPATH_COMPONENT_SITE . '/views/sitemap/tmpl/' . $subTemplateName )) {
echo $this->loadTemplate ( 'xml_' . $source->type );
}
}
}
}
?>
</urlset>

Последний тег здесь это </urlset> . Откуда же берется </head> ???

И правильно я понимаю что такую корявую XML карту не будут хавать Яндекс и Гугл???

P.S. Мля, точно, сохранил сейчас локально через Блокнот этот код в файл с расширением .xml на компьютер, открыл браузером - без тэга </head> открывается как надо, а с тэгом </head> вылетает та же ошибка. Как убрать эту заразу? Кто вставляет этот тэг???
 
Последнее редактирование модератором:
Привет, лог с веб сервера (Apache или др.) выложи, там написано в чем проблема...
 
В логе ошибок (error_log) никаких записей по этой ошибке нет.

P.S. Щас техподдрежка разработчика плагина любезно предложила помочь пофиксить, шарятся по моему сайту)) Если у них получится - напишу в чем косяк)

P.P.S. Вот решение, если кому пригодится. -

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Друзья, а 3.5 или 3.6 для 2.5 инстал есть у кого-то?
ну или выше 3.1 хоть
 
Здравствуйте!
После установки JSitemap 3.5 пропала возможность создавать и редактировать материалы. Выходит ошибка:
Fatal error: Cannot access private property plgContentPingomatic::$app in /мой сайт/libraries/joomla/plugin/plugin.php on line 97
Может вы знаете как это исправить?
 
Здравствуйте!
После установки JSitemap 3.5 пропала возможность создавать и редактировать материалы. Выходит ошибка:
Fatal error: Cannot access private property plgContentPingomatic::$app in /мой сайт/libraries/joomla/plugin/plugin.php on line 97
Может вы знаете как это исправить?
Какая версия Joomla стоит?
 
P.P.S. Вот решение, если кому пригодится. -

Для просмотра ссылки Войди или Зарегистрируйся

У меня аналогичная проблема. но решение не подходит. у меня нет такого плагина.
В яндекс тоже не добавляется.

Файл заканчивается почему-то:
</url>
</urlset></body><body
 
Последнее редактирование:
JSitemap 3.5 долго не создает карту картинок, а затем виснет весь сайт
 
Назад
Сверху