ФорумПрограммированиеPHP для идиотов → Zend_Feed генерирует rss-файл. Ок, и что дальше?

Zend_Feed генерирует rss-файл. Ок, и что дальше?

  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 2 декабря 2010 г. 15:08

    Есть дело одно - я с рсс никогда толком опыта не имел…
    Настало время.

    Суть проблемы: Все ок - зенд отлично генерирует файл рсс. Но… толку с того мало - хром показывает все содержымое в стиле хмл в себе самом,
    файрфокс предлагает сохранить этот файл, в ие я не смотрел и пока не собираюсь…

    На других же сайтах файрфокс например вверху поп-апом предлагает добавить рсс в какойто фид-ридер из списка…
    Так вот - вопрос в том, как сделать так, чтобы тоже из зенда можно было генерировать файл, при обращении к которому тот же файрфокс предлагал занести рсс-ку туда куда надо…?
    Ведь зачем юзеру сохранять какойто файл.. (?)

    Спустя 159 сек.
    Тоесть - возможно нужно в исходящем файле добавить дополнительные теги в которых надо добавить какуюто инфу, по которой браузер бы определял что нужно предлагать юзеру гуи-сервис….
    или чтото типа того..
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 2 декабря 2010 г. 15:09, спустя 1 минуту 5 секунд

    быть может ты просто шлешь не те headers?
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 2 декабря 2010 г. 15:13, спустя 4 минуты 32 секунды

    Да не… хидеры то те…
    Мне кажеться там нужен какойто 3-rd party interface для юзеров..
    Например тут http://www.webreference.com/authoring/languages/xml/rss/custom_feeds/
    в самом конце указано
    Armed with this new RSS file you can go to a Web site such as FeedBurner to make it easier to deliver your content to the public.


  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 2 декабря 2010 г. 15:25, спустя 11 минут 39 секунд

    Сделай с локалхоста запрос и посмотри заголовки, если идёт text/plain сделай

    <?php
    if ($browser == 'Mozilla')
    {
    header('Content-Type: text/xml');
    }
    else
    {
    header('Content-Type: application/rss+xml');
    }
    Спустя 84 сек.
    Как вариант сохранить в формате XML файл, и отдать клиенту уже готовый файл (не контент типом) но это крайний случай…
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 2 декабря 2010 г. 15:30, спустя 5 минут 12 секунд

    Mars,
    Спасибо…
    Хорошо, допустим проблема с аутпутом файла решится и хром будет предлагать его сохранить..
    Но основная проблема остается… :

    Так браузер определяет каким то макаром рсс…

    А у меня просто диалоговое окно для сохранения файла.
    Это нормально)?


  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 2 декабря 2010 г. 16:12, спустя 41 минуту 31 секунду

    Это нормально)?

    нет, покажи разметку рсс
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 2 декабря 2010 г. 16:20, спустя 8 минут 31 секунду


    <?xml version="1.0" encoding="UTF-8"?>
    <rss version="2.0">
    <channel>
    <title></title>
    <link></link>
    <description></description>
    <copyright></copyright>
    <managingEditor></managingEditor>
    <webMaster></webMaster>
    <docs></docs>
    <ttl></ttl>
    <item>
    <title></title>
    <link></link>
    <description><![CDATA[]]></description>
    <author></author>
    <category></category>
    <comments></comments>
    <guid></guid>
    <pubDate></pubDate>
    </item>
    </channel>
    </rss>
    у меня так выглядит шаблон для рсс
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 2 декабря 2010 г. 16:50, спустя 29 минут 13 секунд

    так же само)…
    Бля.. у меня в рсс в теге <content> содержатся хтмл-теги..
    А вот это наверное уже ненормально… Может потому и покалеченная рсс…
    Наверное нада пропарсить валидатором…
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 2 декабря 2010 г. 16:51, спустя 1 минуту 35 секунд

    Rotten, в CDATA оберни
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 2 декабря 2010 г. 16:57, спустя 5 минут 20 секунд

     <content:encoded><![CDATA[
    <div class="main_text_block">
    <div class="main_text_block_title"><h1>Want to lose weight? Try sleeping more</h1></div>

    <div class="company_text_block_data">
    <p><b>If you want to lose weight, get more sleep. In a new article appearing in the current issue of Obesity Reviews, University of Michigan researcher Michael Sivak presents calculations showing that replacing one hour of inactive wakefulness - such as watching television - with sleep can result in a 6 percent reduction in caloric intake.</b></p>


    <span id="source_text"><b>Source: </b>University of Michigan, Want to lose weight? Try sleeping more.<a href="http://www.physorg.com/news72978010.html"> Available here</a></span>

    </div>

    </div>
    ]]></content:encoded>


    да вроде как обернуто…
    Спустя 184 сек.
    общая структура
    <?xml version="1.0" encoding="UTF8"?>
    <rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
    <channel>
    <title><![CDATA[Recent Pages]]></title>
    <link>http://ew2.dreamtrap.net</link>
    <description></description>
    <pubDate>Thu, 02 Dec 2010 10:59:07 +0000</pubDate>
    <lastBuildDate>Thu, 01 Jan 1970 01:00:00 +0100</lastBuildDate>
    <generator>Zend_Feed</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
    <title><![CDATA[headline]]></title>
    <link>http://ew2.dreamtrap.net/page/open/title/article1</link>
    <guid isPermaLink="false">40</guid>
    <description><![CDATA[desc]]></description>
    <content:encoded><![CDATA[<h1>test</h2><br />
    simple text]]></content:encoded>
    <pubDate>Thu, 02 Dec 2010 10:59:07 +0000</pubDate>
    </item>
    <item>
    <title><![CDATA[qwerty]]></title>
    <link>http://ew2.dreamtrap.net/page/open/title/article2</link>
    <guid isPermaLink="false">41</guid>
    <description><![CDATA[desc2]]></description>
    <content:encoded><![CDATA[test]]></content:encoded>
    <pubDate>Thu, 02 Dec 2010 10:59:07 +0000</pubDate>
    </item>
    <item>
    <title><![CDATA[Want to lose weight? Try sleeping more]]></title>
    <link>http://ew2.dreamtrap.net/page/open/title/article-want-to-lose-weight-try-sleeping-more</link>
    <guid isPermaLink="false">42</guid>
    <description><![CDATA[This article describes how to sleep more and loose yoiur weight ]]></description>
    <content:encoded>
    <!– и т.тд и тп. –>
    </content:encoded>
    </item>
    <channel>
    </rss>

  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 2 декабря 2010 г. 16:57, спустя 25 секунд

    та ты наверняка с хедерами наебался
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 декабря 2010 г. 17:03, спустя 6 минут 1 секунду

    раз рыба хвастает своим гавном, то и я срекомендую свое =)

    http://pyha.ru/forum/topic/2841.0
    Сапожник без сапог
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 2 декабря 2010 г. 17:04, спустя 1 минуту 30 секунд

    юзаю зендовский фид… а он в свою очередб домдокумент…
    там хедер такой :
    header('Content-Type: application/rss+xml; charset=' . $this->_element->ownerDocument->actualEncoding);


    и бля - пробую через валидатор проверить а он возвращает ошибку
    This feed does not validate.
    line 1, column 1: XML parsing error: <unknown>:1:1: XML or text declaration not at start of entity


    И подчеркнту первая строка где обявляется хмл
     <?xml version="1.0" encoding="UTF8"?>
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 2 декабря 2010 г. 17:07, спустя 2 минуты 38 секунд

    да у меня даже с text/html всё работает
    Спустя 128 сек.
    икс буквой ха? =DDD
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 2 декабря 2010 г. 17:08, спустя 1 минуту 9 секунд

    может не надо в хмл теге указвать атрибут кодировки?
    тут в примере http://ru.wikipedia.org/wiki/Rss например нету его…

Пожалуйста, авторизуйтесь, чтобы написать комментарий!