Różne funkcje, różne cele

Oprócz wielu innych funkcji, klasa tslib_pibase posiada kilka metod tworzenia linków. Najważniejsze to wiedzieć kiedy i jak ich używać. Poniżej znajduje się przegląd tych funkcji z małą podpowiedzią jak ich używać:

pi_getPageLink – Zwraca URL do określonej strony w TYPO3 przez przekazanie id strony. Jest to przydatne do tworzenia własnych, specjalnych linków lub parametru action w formularzu HTML.

pi_linkToPage – Zwraca cały link <a href=”…”>…</a> wskazujący na stronę TYPO3 przez przekazanie id strony i etykiety. Jest to najbardziej podstawowy sposób tworzenia linków wewnętrznych.

pi_linkTP – Zwraca cały link  do aktualnej strony. Zwykle używany by przekazać do wtyczki dodatkowe parametry.

pi_linkTP_keepPIvars – Zwraca link do bieżącej strony przy zachowaniu aktualnie ustawionych wartości w piVars.

pi_linkTP_keepPIvars_url – Zwraca URL do strony, z zachowaniem aktualnie ustawionych wartości w piVars. Używany zamiast pi_linkTP_keepPIvars jeżeli potrzebujesz tylko adresu URL, a nie całego linku.

pi_list_linkSingle – Zwraca link do wyświetlenia pojedynczego rekordu. Funkcja ta jest dość specyficzna i ma wiele wspólnego z funkcjami przeglądania w pi_base. Obudowuje string linkiem do pojedynczego rekordu używając piVars[‚showUid]. Do linkowania używa pi_linkTP. pi_list_linkSingle ( $str, $uid, $cache = FALSE, $mergeArr = array(), $urlOnly = FALSE, $altPageId = 0  )

Parametry:

  • $str [string ] – ciąg który ma zostać budowany
  • $uid [integer] –  UID rekordu, dla którego chcemy wyświetlić szczegóły (w zasadzie to będzie wartość [showUid]
  • $cache [boolean]
  • $mergeArr [array] –  Tablicę wartości, które mająbyć nadpisane w tablicy piVars.
  • $urlOnly [boolean] –  Jeśli true, zwracany jest tylko adres URL, a nie pełen link.
  • $altPageId [integer] –  Alternatywne ID strony dla linku. (Domyślnie ta funkcja linkuje do tej samej strony!)
Zastosowanie:
while($row = mysql_fetch_assoc($query)) {
  $listlink[] = $this->pi_list_linkSingle($row['location'],$row['uid'],'','','',$this->pidSingleView);
}