Tod
23.09.2006, 02:02
Тут недавно рылся в коде одного из экстеншенов (каляндаря - Cal) нашел место создания ссылки на отдельную страницу, где выводит инфа о конкретном событии... код что-то типа (если это поможет):
function getLinkToEvent($event, $linktext, $currentView, $date) {
/* new */
$GLOBALS['TSFE']->ATagParams = 'title=""';
// create the link if the event points to a page or external URL
if($event->event_type != 0){
// determine the link type
switch ($event->event_type) {
// shortcut to page - create the link
case 1:
$param = $event->page;
break;
// external url
case 2:
$param = $event->ext_url;
break;
}
// create & return the link
$linkTSConfig['parameter'] = $param;
return $this->cObj->typoLink($linktext,$linkTSConfig);
}
/* new */
if($event->isExternalPluginEvent()){
return $event->getExternalPluginEventLink();
}
if($this->cObj->conf["view."]["event."]["isPreview"]){
if (!empty ($this->cObj->conf["view."]["event."]["eventViewPid"])) {
return $this->controller->pi_linkTP_keepPIvars($linktext, array ("page_id" => t3lib_div :: _GP("id"), "getdate" => $date, "lastview" => $this->cObj->conf['view'], "view" => "event", "type" => $event->getType(), "uid" => $event->getUid(), "preview" => 1), $this->cObj->conf['cache'], $this->cObj->conf['clear_anyway'], $this->cObj->conf["view."]["event."]["eventViewPid"]);
}
return $this->controller->pi_linkTP_keepPIvars($linktext, array ("getdate" => $date, "lastview" => $currentView, "view" => "event", "type" => $event->getType(), "uid" => $event->getUid(), "preview" => 1), $this->cObj->conf['cache'], $this->cObj->conf['clear_anyway']);
}
if (!empty ($this->cObj->conf["view."]["event."]["eventViewPid"])) {
return $this->controller->pi_linkTP_keepPIvars($linktext, array ("page_id" => t3lib_div :: _GP("id"), "getdate" => $date, "lastview" => $this->cObj->conf['view'], "view" => "event", "type" => $event->getType(), "uid" => $event->getUid()), $this->cObj->conf['cache'], $this->cObj->conf['clear_anyway'], $this->cObj->conf["view."]["event."]["eventViewPid"]);
}
return $this->controller->pi_linkTP_keepPIvars($linktext, array ("getdate" => $date, "lastview" => $currentView, "view" => "event", "type" => $event->getType(), "uid" => $event->getUid()), $this->cObj->conf['cache'], $this->cObj->conf['clear_anyway']);
}
Итак, можно как-то вывести это все в джаваСкриптовом окне?))
Ведь pi_linkTP_keepPIvars вроде как стандартная функция (уже встречал где-то)... может там можно добавить какой-то параметр или что-то типа того)
function getLinkToEvent($event, $linktext, $currentView, $date) {
/* new */
$GLOBALS['TSFE']->ATagParams = 'title=""';
// create the link if the event points to a page or external URL
if($event->event_type != 0){
// determine the link type
switch ($event->event_type) {
// shortcut to page - create the link
case 1:
$param = $event->page;
break;
// external url
case 2:
$param = $event->ext_url;
break;
}
// create & return the link
$linkTSConfig['parameter'] = $param;
return $this->cObj->typoLink($linktext,$linkTSConfig);
}
/* new */
if($event->isExternalPluginEvent()){
return $event->getExternalPluginEventLink();
}
if($this->cObj->conf["view."]["event."]["isPreview"]){
if (!empty ($this->cObj->conf["view."]["event."]["eventViewPid"])) {
return $this->controller->pi_linkTP_keepPIvars($linktext, array ("page_id" => t3lib_div :: _GP("id"), "getdate" => $date, "lastview" => $this->cObj->conf['view'], "view" => "event", "type" => $event->getType(), "uid" => $event->getUid(), "preview" => 1), $this->cObj->conf['cache'], $this->cObj->conf['clear_anyway'], $this->cObj->conf["view."]["event."]["eventViewPid"]);
}
return $this->controller->pi_linkTP_keepPIvars($linktext, array ("getdate" => $date, "lastview" => $currentView, "view" => "event", "type" => $event->getType(), "uid" => $event->getUid(), "preview" => 1), $this->cObj->conf['cache'], $this->cObj->conf['clear_anyway']);
}
if (!empty ($this->cObj->conf["view."]["event."]["eventViewPid"])) {
return $this->controller->pi_linkTP_keepPIvars($linktext, array ("page_id" => t3lib_div :: _GP("id"), "getdate" => $date, "lastview" => $this->cObj->conf['view'], "view" => "event", "type" => $event->getType(), "uid" => $event->getUid()), $this->cObj->conf['cache'], $this->cObj->conf['clear_anyway'], $this->cObj->conf["view."]["event."]["eventViewPid"]);
}
return $this->controller->pi_linkTP_keepPIvars($linktext, array ("getdate" => $date, "lastview" => $currentView, "view" => "event", "type" => $event->getType(), "uid" => $event->getUid()), $this->cObj->conf['cache'], $this->cObj->conf['clear_anyway']);
}
Итак, можно как-то вывести это все в джаваСкриптовом окне?))
Ведь pi_linkTP_keepPIvars вроде как стандартная функция (уже встречал где-то)... может там можно добавить какой-то параметр или что-то типа того)