Hallo,
ich würder gerne neben der Auflistung aller FAQ-Fragen als Link die Möglichkeit haben, dass auf einer Page in einer Box einer oder mehrere ausgewählte Fragen als Link auftauchen. Die Auswahl kann dabei auch mit der Zuweisung eines Codes erfolgen, etwa wie bei dem Workarround, um nur FAQ-Links einer Kategorie anzuzeigen: LIST/9 oder so.
Leider finde ich keinen Ansatz dafür, ich bin auch noch nicht so firm im Extensionbauen. Gibt es vielleicht eine andere Extension, wo soetwas schon realisiert ist und man da mal schauen kann oder andere hilfreiche Tipps?
Vielen Dank!
ich hab es jetzt so gemacht: ich hab mir einen neuen abschnitt im template faq_template.tmpl definiert, der "TEMPLATE_SENGLELINK" heißt.
in der classe "class.tx_faq.php" hab ich einiges verändert:
in der funtion main_faq:
switch($theCode) {
case "LIST":
case "SINGLE":
case "SINGLELINK":
case "SEARCH":
$content.= $this->faq_list();
break;
default:
$content.= $this->faq_list();
break;
}
den fall "SINGLELINK" eingefügt.
den sitch ganz oben in faq_list() erweitert:
case "SINGLELINK":
$prefix_display="displaySingle";
$templateName = "TEMPLATE_SINGLELINK";
das folgende else-if erweitert um:
elseif ($theCode=="SINGLELINK") {
// lists just one spezified link
// performing query:
$query = "SELECT * FROM tx_faq_faq WHERE uid = '".$this->catExclusive."' ";
$res = mysql(TYPO3_db,$query);
echo mysql_error();
$row=mysql_fetch_assoc($res);
if($this->config["displayCurrentRecord"] || is_array($row)) {
$this->setPidlist(intval($row["pid"]));
// Get the subpart code
$item = $this->cObj->getSubpart($this->templateCode,$this->spMarker("###TEMPLATE_SINGLELINK###"));
// Fill marker arrays
$wrappedSubpartArray=array();
$wrappedSubpartArray["###LINK_ITEM###"]= array('<A href="'.$this->getLinkUrl($this->conf["PIDitemDisplay"]).'&tx_faq_faq='.$row["uid"].'">','</A>');
$markerArray = $this->getItemMarkerArray($row,$prefix_display);
// Substitute
$content= $this->cObj->substituteMarkerArrayCached($item,$markerArray,array(),$wrappedSubpartArray);
}
}
die geschichte mit $this->catExclusive als where-klausel ist natürlich eher ein workaround. allerdings steht sie ja schon wegen LIST zur verfügung. so das ich nicht anfangen wollte, da noch mal sauber die id als variable einzubauen, wenn gleiches schon für die cat gemacht wird.
jetzt kann man ein plugin einfügen, faq auswählen und wählt als Code: SINGLELINK/25 oder eben jede andere gewünschte id der faq.