0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 321 Просмотров
*

voron121

  • Давно я тут
  • 222
  • 1
  • Метод тыка и мата помогает в кодинге
Доброго времени суток . Ghie помощи. Задача у меня сл : я генерирую карту сайта для самописного компонента (не получилось как то сдружить его с x-map). Ниже привожу код который должен генерировать XML страницу. При выполнении кода у меня в начале строки пробел что приводит к ошибке. Подскажите что это может быть - где зарыться мог баг. Смотрел в смежный файлах компонента - там лишних пробелов нет.

Код: php
	public static function sitemap() {
header('Content-type: text/xml; charset=utf-8');
// запрос в БД
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__zaim');
$query->where(' published  = 1 ');
$query->order('`id` DESC');
$db->setQuery($query, 100);
$list = $db->loadObjectList();
$map = '<?xml version="1.0" encoding="UTF-8"?>'."\n";
$map .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';
foreach ($list as $key => $value) {
$map .= '<url>';
$map .= '<loc>https://zajm24online.ru/item/mfo_'.$value->id.'.html</loc>';
$map .= '<lastmod>2017-04-12T14:41:54Z</lastmod>';
$map .= '<changefreq>weekly</changefreq>';
$map .= '<priority>0.5</priority>';
$map .= '</url>';
}
$map .='</urlset>';
$map .='</xml>';
print($map);
die();

*

fsv

  • Практически профи
  • 2526
  • 368
Пример.
Спойлер
[свернуть]
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения
*

dmitry_stas

  • Профи
  • 10060
  • 955
файл сохранен как utf8 без BOM?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

voron121

  • Давно я тут
  • 222
  • 1
  • Метод тыка и мата помогает в кодинге
файл сохранен как utf8 без BOM?

да
*

dmitry_stas

  • Профи
  • 10060
  • 955
значит вероятно где то раньше вывод есть. но тогда непонятно как у вас заголовки выставляются без ошибок. включите полный показ ошибок php, заголовок измените на text/html - что выведет?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

voron121

  • Давно я тут
  • 222
  • 1
  • Метод тыка и мата помогает в кодинге
значит вероятно где то раньше вывод есть. но тогда непонятно как у вас заголовки выставляются без ошибок. включите полный показ ошибок php, заголовок измените на text/html - что выведет?

вот это

Код: html4strict


<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"><url><loc>https://zajm24online.ru/item/mfo_15.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_14.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_13.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_12.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_11.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_10.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_9.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_8.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_7.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_6.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_5.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_4.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_3.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_2.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zajm24online.ru/item/mfo_1.html</loc><lastmod>2017-04-12T14:41:54Z</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset></xml>

при этом пробел в начале все равно есть.
*

voron121

  • Давно я тут
  • 222
  • 1
  • Метод тыка и мата помогает в кодинге
как оказалось пробел в начале строки формируется не зависимо от карты сайта. Однако в самом шаблоне никаких пробелов  нет. Плагины проклацал - то же не помогло (
*

robert

  • Профи
  • 4082
  • 378
Как вызывается страница карты сайта?
как оказалось пробел в начале строки формируется не зависимо от карты сайта.
Почему вы так решили?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

voron121

  • Давно я тут
  • 222
  • 1
  • Метод тыка и мата помогает в кодинге
Как вызывается страница карты сайта?Почему вы так решили?
страница карты сайта вызывается обращением к методу в контроллере компонента. Отдельный вид не используется.

А решил я так потому что не на странице карты сайта, как оказалось, так же есть пробел в начале
*

dmitry_stas

  • Профи
  • 10060
  • 955
99% utf8 с BOM. ну если конечно этот пробел вы не выводите сами.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

voron121

  • Давно я тут
  • 222
  • 1
  • Метод тыка и мата помогает в кодинге
99% utf8 с BOM. ну если конечно этот пробел вы не выводите сами.

Самне вывожу, думаю может все таки где то какой то кусочек кода выводит. В общем пока решил тем что сохраняю карту в фаил на хосте, но все равно остается вопрос с тем пробелом и как тогда отследить что именно выводит его
*

dmitry_stas

  • Профи
  • 10060
  • 955
Цитировать
Самне вывожу, думаю может все таки где то какой то кусочек кода выводит
ну я это и имею в виду, понятно что не специально вы выводите. но я все таки склоняюсь к BOM. или может быть в каком то файле вначале перед открытием <?php есть пробел

Цитировать
остается вопрос с тем пробелом и как тогда отследить что именно выводит его
пройтись по всем файлам по цепочке, которые участвуют в выводе, и проверить каждый
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

voron121

  • Давно я тут
  • 222
  • 1
  • Метод тыка и мата помогает в кодинге
ну я это и имею в виду, понятно что не специально вы выводите. но я все таки склоняюсь к BOM. или может быть в каком то файле вначале перед открытием <?php есть пробел
пройтись по всем файлам по цепочке, которые участвуют в выводе, и проверить каждый

в этом то и трабла : я уже прошелся - ни пробелов ни BOM символов. Если перейти на главную и после открыть инспектор кода то перед доктайп будет пустая строка -сл. где перед выводом шаблона чо то отрабатывает но что : там 100500 файлов которые могут косячить в перспективе. :(

Плохо что нет метода своего рода пре-рендера страницы. Типа убирать косяки если они есть
*

Филипп Сорокин

  • Практически профи
  • 1816
  • 138
Цитировать
Плохо что нет метода своего рода пре-рендера страницы. Типа убирать косяки если они есть
Вообще-то есть, но так не надо делать -- костыль получится. Необходимо устранить причину болезни, а не её симптомы.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

robert

  • Профи
  • 4082
  • 378
страница карты сайта вызывается обращением к методу в контроллере компонента. Отдельный вид не используется.
Покажите код.
Пробел может быть не только перед открывающим тэгом <?php, но и после закрывающего тэга ?> (вообще не нужно ставить тэг ?>, если код несмешанный). Ну и как dmitry_stas писал, чаще всего виновата BOM.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как отобразить модуль только на первой странице Главной (Homepage)?

Автор savanervi

Ответов: 6
Просмотров: 225
Последний ответ 10.05.2017, 23:42:39
от ChaosHead
Как вставить неразрывный пробел в название материала?

Автор mlukyanov

Ответов: 5
Просмотров: 341
Последний ответ 12.08.2016, 11:12:04
от Stasweb
Вывод номера страницы в адрессной строке

Автор DimaBalzhik

Ответов: 8
Просмотров: 329
Последний ответ 02.03.2016, 20:46:39
от DimaBalzhik
Как в адресной строке убрать упоминание компонента?

Автор Shademy

Ответов: 8
Просмотров: 858
Последний ответ 25.12.2014, 20:22:11
от Shademy
[Решено] Проблема с ссылками в адресной строке

Автор Djuzeppe

Ответов: 14
Просмотров: 544
Последний ответ 19.09.2013, 22:51:24
от Djuzeppe