Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 23.09.2006, 02:02   #1
Tod
Senior Member
 
Аватар для Tod
 
Регистрация: 25.03.2006
Сообщений: 627
Отправить сообщение для Tod с помощью ICQ
По умолчанию создание 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
Tod вне форума   Ответить с цитированием
Старый 23.09.2006, 16:11   #2
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Использовать $this->cObj->typoLink($text,$config);
предварительно создав нужный $config.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 25.09.2006, 00:23   #3
Tod
Senior Member
 
Аватар для Tod
 
Регистрация: 25.03.2006
Сообщений: 627
Отправить сообщение для Tod с помощью ICQ
По умолчанию

Спасибо за подсказку.... по неопытности убил целый день на эту проблему, но зато решение найдено. В общем, если кому-то надо 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);
Все подробности есть в TSref )
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress
Tod вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 23:41.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория