RSS для php-nuke
Вложений: 1
Задался идеей создать RSS канал своего сайта, но вот постоянно обновлять самому лень, нашёл такой вот типа модуль (смотреть вложение), но там предлагают создать новую таблицу в БД и наполнять её, а уже оттуда и обновляется сама лента. Теперь собственно вопрос: как-бы это изменить файл pss.php что-бы он брал инфу из уже существующих таблиц нюки: название статьи, короткий текст статьи, и дату добавления.
Думаю если получится сделать, многим будет интересно, тк лента будет обновляться из БД сайта, а не вручную. Заранее благодарен за помощь!!! кстати вот запрос который предлагали выполнить на БД PHP код:
|
Спросите, почему не воспользоваться стандартным включением ultramode? новости челси
Просто если включаю ultramode, и пытаюсь открыть backend.php постоянно получаю ошибку: Ошибка разбора XML: синтаксическая ошибка (Строка: 4, Символ: 0) и подсвечивается вся строка: <?xml version="1.0" encoding="windows-1251"?> |
а чем вы пытаетесь просмотреть вывод Rss? специальной программой ?
|
браузером. Опера 11.01.
например по адресу http://mynuke.ru/backend.php вижу нормальную страницу, а по адресу http://www.chelseateam.ru/backend.php ошибку, а почему? интересно!!! |
Попробуйте воспользоваться иным браузером, который поддерживает наибольший формат ридеров. У меня вах rss отображается корректно.
|
в мозилле 4 тоже ошибку показывает.
Код:
и ие 6 тоже... Код:
странно это всё очень... и опера и мозилла - последние версии, ИЕ практически не пользуюсь, поэтому до сих пор 6. Soniks, а ты каким браузером смотрел??? |
Все, ясно.
Поэтому такая проблема. Можно попробовать удалить строку или же изменить в ней путь на данный файл, который закачать к себе на хостинг: Код:
Или лучше изменить формат rss в файле backend.php, сделать верси 2.0 например. По примеру как тут сделано: http://ru.wikipedia.org/wiki/RSS |
Soniks, проблема как-раз таки в том, что появляется "Ошибка разбора XML". И подсвечивается первая строка: <?xml version="1.0"?>.
До обработки того самого файла дело и не доходит.... Я пробовал залить его себе на хост, тоже не помогло... а вот первый вариант, работает, только не знаю как БД прикрутить.. |
BFG тогда стоит поменять формат на более новую версию. Это будет самое правильное.
|
Soniks, ни в какую не получается... даже из 8-ой нюки брал файл, всё-равно ошибку выдаёт, может выложите свой файл backend.php попробую его всунуть себе...
|
Тут как раз размещен старая версия файла, вот:
PHP код:
|
странно, один фиг ошибка:
http://i25.fastpic.ru/big/2011/0728...8795d3d8350.jpg хотя ваш rss я вижу нормально: http://i25.fastpic.ru/big/2011/0728...fd48539234a.jpg |
Попробуйте в файл .htaccess (если его нет в корне сайта, то создать его) раместиь следующию запись:
Код:
|
после добавления строк файл стал иметь вид:
RewriteEngine on RewriteRule ^(.*)dir-catalogue/(.*)$ /findout.php [L] AddDefaultCharsetwindows-1251 php_value default_charset "cp1251" теперь на локалхосте ошибка Денвера а на хосте Internal Server Error тоже самое и если только ваши строки... |
опечатка была в вышеуказанном коде, исправил
|
|
ради интереса поставил голую нюку 8.0 и проверил - на ней работает RSS с любым файлом backend.php (родной, 7.6, и ваш) и без .htaccess...
|
ещё такая фишка, если на "голую" нюку 7.6 2.9 (с родной БД RSS работает) заливаю свою БД то RSS сразу выдаёт выше описанную ошибку...
в чём же дело? может в том, что в БД есть кодировка utf-8? |
собственно с этим кодом немного разобрался, теперь он у меня берёт название и описание новости из БД, но как-то странно, выводит 10 новостей таким образом:
Название Описание (но ссылка с названия ведёт на этот же самый rss файл) но только на локалхосте, а в тырнете появляется ещё и проблема с кодировкой: http://www.chelseateam.ru/rss/rss.php Код:
Это переделанный немного код из скрипта в первом посте во вложении... |
вопрос с кодировкой решил:
вставил: Код:
перед запросом к БД: Код:
Soniks, плиз, помоги решить проблему со ссылками на новость, а то они идут именно на этот rss файл... http://www.chelseateam.ru/rss/rss.php |
новости челси Гы-гы )))
проблема решилась практически сама ))) удалением строки: <?xml version="1.0" encoding="windows-1251"?> из backend.php Всем спасибо за поддержку вот мой http://www.chelseateam.ru/rss.php Как и знал, не всё коту масленица, теперь то он работает, но например feedburner не разбирает его кодировку, можно ли как-нибудь иначе прописать эту строку челси ? |
и не только feedburner, ни один ресурс не определяет ленту как rss.
видимо придётся возвращаться к посту №20 http://forum.mynuke.ru/showpost.php...94&postcount=20 |
BFG В какой у вас кодировки сама БД и таблицы?
|
cp1251 general ci, где то вычитал что это можетпроизойти из-за несоответствия кодировок файла и хостинга...
а в том скрипте всё работает, вот только не знаю как ссылку нормально прикрутить... |
BFG да, проблема именно в кодировки. Поэтому нужно копать в этом направлении. Посмотрите в какой кодировки записан сам файл rss
|
а как это сделать? сам файл это и есть backend.php он не работает со строкой кодировки... |
Многие редакторы умеют работать с различными кодировками, например Notepad++ (для Win) и TextWrangler (для Mac).
Просто ваш сервер отдает ответ в формате UTF-8 |
попробуйте так же добавить отправку принудительно заголовка с кодировкой, добавив данную строку:
PHP код:
в замен: PHP код:
И в тег <xml> кодировку нужно вернуть. |
получилось примерно вот так:
PHP код:
но один хрен: Ошибка разбора XML: синтаксическая ошибка (Строка: 4, Символ: 0) и это даже на Локалхосте (Денвер) И вот ещё такая фишка: в проверке сайта: http://www.cy-pr.com/analysis/chelseateam.ru#copyscape после ключевых слов идёт такая запись: Кодировка сервера / страницы: Неверная кодировка / windows-1251 (Cyrillic) что это значит, не подскажете? |
Soniks посмотри плиз исходный код страницы:
http://www.chelseateam.ru/rss.php откудато появились лишние переводы строк... может поэтому не фурычит? в маинфайл.рнр их нет... (вроде) |
BFG код вашего нынешнего файла rss.php в студию, посмотрим.
|
PHP код:
|
BFG можно леко проверить, закоментировав строчки:
PHP код:
и открыть файл |
пришлось закоментарить ещё и эту строку:
PHP код:
и о чудо, лишние строки исчезли... что же теперь делать??? |
Скорее всего строки добавляются гдето в вызываемых файлах из mainfile.php или может быть в самом файле.
После комментирования этих строк ваш rss проходит валидацию, с учетом этих правок http://forum.mynuke.ru/showpost.php...10&postcount=28 и выставления кодировки? |
да, почти все каталоги видят канал как rss, вот только страница то пустая (белая) получается (((
|
BFG скорее всего где то у вас подключается файл или скрипт, который меняет выдаваемую кодировку или вносит иную корректировку в работу.
Попробуйте отключить (закомментировать) все ранее вами добавленные изменения в файлы сайта. |
))) это уже не реально...
столько сил и времени вложено, что уже почти ничего и не вспомнить... |
Часовой пояс GMT +4, время: 07:51. |
Copyright © 2005 by Soniks