Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
23.09.2006, 02:02 | #1 |
Senior Member
|
создание Js окна
Тут недавно рылся в коде одного из экстеншенов (каляндаря - 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 вроде как стандартная функция (уже встречал где-то)... может там можно добавить какой-то параметр или что-то типа того)
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress |
25.09.2006, 00:23 | #3 |
Senior Member
|
Спасибо за подсказку.... по неопытности убил целый день на эту проблему, но зато решение найдено. В общем, если кому-то надо JS окна открывать, то код приблизительно такой...
Код:
$conf=array(); $conf['parameter'] = "14 450x450 -"; $conf['JSwindow_params'] = "status=0,menubar=0,scrollbars=0,resizable=0,location=0,directories=0,toolbar=0"; $conf['additionalParams'] = "&no_cache=1&tx_cal_controller[type]=tx_cal_phpicalendar&tx_cal_controller[uid]=1&tx_cal_controller[page_id]=".t3lib_div :: _GP("id")."&tx_cal_controller[getdate]=".$date."&tx_cal_controller[lastview]=".$this->cObj->conf['view']."&tx_cal_controller[view]=event&tx_cal_controller[type]=".$event->getType()."&tx_cal_controller[uid]=".$event->getUid().""; return $this->cObj->typoLink($linktext, $conf);
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress |