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

voron121

  • Захожу иногда
  • 216
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Доброго времени суток . 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

  • Живу я здесь
  • 2601
  • 377 / 2
Пример.
Спойлер
[свернуть]
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

dmitry_stas

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

voron121

  • Захожу иногда
  • 216
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
файл сохранен как utf8 без BOM?

да
*

dmitry_stas

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

voron121

  • Захожу иногда
  • 216
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
значит вероятно где то раньше вывод есть. но тогда непонятно как у вас заголовки выставляются без ошибок. включите полный показ ошибок 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

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

robert

  • Живу я здесь
  • 4585
  • 428 / 16
Как вызывается страница карты сайта?
как оказалось пробел в начале строки формируется не зависимо от карты сайта.
Почему вы так решили?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

voron121

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

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

dmitry_stas

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

voron121

  • Захожу иногда
  • 216
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
99% utf8 с BOM. ну если конечно этот пробел вы не выводите сами.

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

dmitry_stas

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

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

voron121

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

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

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

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

  • Сорокин Band
  • 1868
  • 153 / 4
  • разработчик.москва
Цитировать
Плохо что нет метода своего рода пре-рендера страницы. Типа убирать косяки если они есть
Вообще-то есть, но так не надо делать -- костыль получится. Необходимо устранить причину болезни, а не её симптомы.
*

robert

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

Плагин/расширения генерации поддоменов по регионам

Автор DJone

Ответов: 4
Просмотров: 121
Последний ответ 19.09.2018, 14:14:50
от dmitry_stas
Скрипт генерации turbo страниц для Яндекса

Автор ProtectYourSite

Ответов: 27
Просмотров: 1549
Последний ответ 25.08.2018, 12:25:07
от ProtectYourSite
Как убрать язык в адресной строке?

Автор vipex

Ответов: 2
Просмотров: 148
Последний ответ 18.10.2017, 13:38:24
от vipex
Как отобразить модуль только на первой странице Главной (Homepage)?

Автор savanervi

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

Автор mlukyanov

Ответов: 5
Просмотров: 462
Последний ответ 12.08.2016, 11:12:04
от Stasweb