2

図書館のウェブサイトを webcal から Google カレンダーに移行しています。このサイトは PHP と HTML4.01 で書かれています (transitional から strict への移行)。カレンダーの日付/エントリへのリンクを生成できるプログラム的な方法はありますか? webcal では、日表示へのリンクは次のとおりです。

www.mylibrary.com/calendar/day.php?YYYYMMDD

そのため、特定の日付へのリンクをプログラムで簡単に生成できました。Googleカレンダーで同様のことを行う方法を見つけようとしてきましたが、あまりうまくいきませんでした。次のようなことができるようになりたいです

<p>The summer reading program kicks off <a href="
<?php echo "http://www.google.com/calendar/event?cid=".$mycalenderid."&eventdate=".$year.$month.$day; ?>
">May 5th</a></p>

これはリモートでも可能ですか?

4

3 に答える 3

1

これはあなたが望んでいた「簡単な」ソリューションではないかもしれませんが、ZendFrameworkにはあなたが望むことを実行できるgdataコンポーネントがあります。

于 2010-01-29T00:58:33.830 に答える
0

サイトにカレンダーを含める最も簡単な方法は、Googleが提供する埋め込み可能なカレンダーを使用することです:http ://code.google.com/apis/calendar/publish/ 。利点は、iframeコードをページに入れてリンクするだけです。欠点は、私が知る限り、特定の日やイベントにリンクするメカニズムがないことです。

求めていることと同様のことを行うには、zend Gdataコンポーネントを使用して、自分でプログラムする必要があります。したがって、days.phpの場合、次のようなことを行うことができます。


<?php
/**
 * Adapted from google API doc example
 */
$day = $_GET['day'];
$nextDay = date('Y-m-d', strtotime($day) + 86400);

$client = new Zend_Gdata_Calendar(); //Not authenticated for public calendar

$query = $gdataCal->newEventQuery($client);
$query->setUser('user@example.com');
$query->setVisibility('public');
$query->setProjection('full');
$query->setOrderby('starttime');
$query->setStartMin($day); //Inclusive
$query->setStartMax($nextDay); //Exclusive
$eventFeed = $gdataCal->getCalendarEventFeed($query);

?>
<h1>
  <?php print $day; ?>
</h1>
<ul id="days-events">
  <?php foreach ($eventFeed as $event): ?>
    <li class="event">
      <?php print $event->title->text ?>
    </li>
  <?php endforeach; ?>
</ul>

Googleドキュメント: http ://code.google.com/apis/calendar/data/1.0/developers_guide_php.html

Zendドキュメント: http: //framework.zend.com/manual/en/zend.gdata.calendar.html

于 2010-01-29T09:16:06.583 に答える
0

はるかに簡単な解決策:

if($_REQUEST['showday']!='') {$datetoshow=$_REQUEST['showday'];
$datetoshow = $datetoshow."/".$datetoshow;}

何とかページのコンテンツ

if ($datetoshow==""){?>
<iframe srtc=""> .... // regular embed text goes here.
<?} else {?>
<iframe src=""> // Add &amp;mode=DAY&amp;dates=<?echo $datetoshow;?> to the SRC code
<?}

それから、day.php?showday=20100205 または私が望む任意の日でページを呼び出すのと同じくらい簡単です。しかし、すべての提案をありがとう!

于 2010-02-01T21:13:58.670 に答える