0

スクリプトでiCalendarを生成しようとしていますが、macカレンダープログラムがデータが無効であると通知し続けます。私はcakephpを使用しています。これが私が持っているものです-何か手がかりはありますか?:

function webcal() {
    Configure::write('debug', 0); 
    $this->autoRender = false; 
    echo header( 'Content-Type: text/calendar; charset=utf-8' );  
    ?>
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:20110514T170000Z
DTEND:20110515T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR
    <?php
    exit(200);      
}
4

1 に答える 1

0

これはあなたのコントローラーにありますか?コントローラーをハックして、意図されていないことを実行しようとするのではなく、別の「空白」のレイアウトに配置してみませんか。

// controller code
function webcal(){
    Configure::write('debug', 0); 
    echo header( 'Content-Type: text/calendar; charset=utf-8' );  
    $this->layout = 'blank' // depending on what version of cakephp you're using this might be different
}

// layout code in /app/views/layout/blank.ctp
echo $content_for_layout;

// view code in /app/views/<controller>/webcal.ctp
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:20110514T170000Z
DTEND:20110515T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR

必要になる可能性のある変数をビューに渡すことを忘れないでください$this->set()

于 2011-05-19T18:48:36.180 に答える