т.е. не будет поддерживать dtds в корме - PullRequest
0 голосов
/ 04 мая 2011

Хорошо, я пытаюсь создать RSS-канал с помощью CakePHP RSS помощника для некоторого поста приложения.Я последовал за книгой cakephp к письму, и он не будет работать с Internet Explorer ... Когда я открываю его с Opera, он работает, но с т. Е. Он говорит «Internet Explorer не поддерживает каналы с DTD». ...

Я знаю, что Microsoft не поддерживает dtds, потому что поток безопасности, но как я могу решить эту проблему?Компания, в которой я работаю, использует, то есть по стандарту, поэтому изменение браузера не вариант ...

вот код ... Итак, вы можете видеть, что в нем нет изменений мэра ...

default.ctp

echo $this->Rss->header();
if (!isset($documentData)) {
    $documentData = array();
}
if (!isset($channelData)) {
    $channelData = array();
}
if (!isset($channelData['title'])) {
    $channelData['title'] = $title_for_layout;
} 
$channel = $this->Rss->channel(array(), $channelData, $content_for_layout);

echo $this->Rss->document($documentData,$channel);

index.ctp

 $this->set('documentData', array(
 'xmlns:dc' => 'http://purl.org/dc/elements/1.1/'));
 $this->set('channelData', array(
 'title' => __("Most Recent Hitos", true),
 'link' => $this->Html->url('/', true),
 'description' => __("Most recent Hitos.", true),
 'language' => 'en-us')); 


 foreach ($posts as $post) {

    $postLink = array(
        'controller' => 'soportes',
        'action' => 'view',
        $post['Soporte']['id']);
    // You should import Sanitize
    App::import('Sanitize');
    // This is the part where we clean the body text for output as the description 
    // of the rss item, this needs to have only text to make sure the feed validates
    $bodyText = preg_replace('=\(.*?\)=is', '', $post['Hito']['actividad']);
    $bodyText = $this->Text->stripLinks($bodyText);
    $bodyText = Sanitize::stripAll($bodyText);
    $bodyText = $this->Text->truncate($bodyText, 400, array(
        'ending' => '...',
        'exact'  => true,
        'html'   => true,
    ));

    echo  $this->Rss->item(array(), array(
        'title' => $post['Hito']['actividad'],
        'link' => $postLink,
        'guid' => array('url' => $postLink, 'isPermaLink' => 'true'),
        'description' =>  $bodyText,
        'dc:creator' => $post['Hito']['user_id'],
        'pubDate' => $post['Hito']['fecha_sugerida']));
}

1 Ответ

0 голосов
/ 17 мая 2011

На базовом уровне это может быть из-за уровня отладки в core.php - торт выводит время рендеринга, я думаю - вы можете попробовать установить Configure :: write ('debug', 0); в вашем действии контроллера, чтобы увидеть, если он рендерится в IE? У меня были проблемы с XML / RSS и IE из-за этого раньше.

...