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

voron121

  • Захожу иногда
  • 220
  • 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

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

dmitry_stas

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

voron121

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

да
*

dmitry_stas

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

voron121

  • Захожу иногда
  • 220
  • 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

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

robert

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

voron121

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

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

dmitry_stas

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

voron121

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

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

dmitry_stas

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

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

voron121

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

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

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

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

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

robert

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

Вывести на странице категории товары только первой подкатегории Virtuemart3?

Автор Damarkuzz

Ответов: 1
Просмотров: 546
Последний ответ 01.02.2021, 01:13:48
от Damarkuzz
Как принудительно изменить md5 хэш в строке загрузки скриптов/стилей?

Автор Finch

Ответов: 4
Просмотров: 519
Последний ответ 14.02.2020, 12:18:46
от Finch
Что за код в строке?

Автор Sergei212

Ответов: 2
Просмотров: 449
Последний ответ 30.08.2019, 16:08:04
от Gerostrat
PHP-условие: Не отображать элемент на первой странице пагинации

Автор slepoy

Ответов: 7
Просмотров: 572
Последний ответ 04.08.2019, 20:45:21
от dmitry_stas
Плагин/расширения генерации поддоменов по регионам

Автор DJone

Ответов: 5
Просмотров: 785
Последний ответ 14.06.2019, 22:58:14
от dm-krv