Hi,
also ich hab immer noch kein Lösung für mein Problem gefunden. Ich hab die JavaScipt Dateien alle im Header korrekt eingebunden. Ich hab nun einen anderen Weg probiert die Struktur zu erstellen, allerdings mit einem ähnlich nicht-zufriedenstellenden Ergebnis.
Mit Hilfe dieser Funktion (my_build_hierarchy) wird ein Array erstellt (TREE_ITEMS), das später für eine JavaScript Methode verfügbar sein soll. Allerdings wird auch hier wieder der Code zu Beginn des HTML Dokuments ausgegeben; was natürlich keinen Sinn macht.
Hier die Funktion zur Array-Konstruktion:
function my_build_hierarchy($id, $vn, $tn, $idfn, $pidfn, $cfn, $lfn) {
$select = 'tx_pdmtest_hparts.uid,' .
'tx_pdmtest_hparts.name,' .
'tx_pdmtest_hparts.type,' .
'tx_pdmtest_hparts.scope,' .
'tx_pdmtest_hparts.properties,' .
'tx_pdmtest_hparts.parent';
$my_table = 'tx_pdmtest_hparts';
$groupBy='';
$orderBy='';
$limit='';
$where="$pidfn=$id";
if ($id == 0)
echo 'var '.$vn.' = [';
$result = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select,$my_table,$where,$groupBy,$orderBy,$limit);
if (mysql_num_rows($result) == 0) return;
while ($this->internal['currentRow'] = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result)) {
if(!$vn) echo ',';
$vn = 0;
$clink = $this->internal['currentRow']['name'];
$cid = $this->list_id('uid');
$cname = $this->internal['currentRow'][$cfn];
echo " ['$cname', \"javascript:linkCheck('$clink')\", ";
if($id == 0) echo "{'st':1}";
else echo "0";
$this->my_build_hierarchy($cid, $vn, $tn, $idfn, $pidfn, $cfn, $lfn);
echo ']';
}
mysql_free_result($result);
if($id == 0) echo "];";
return;
}
Hier wird die JS Methode tree aufgerufen, allerdings ist die Variable TREE_ITEMS hier nicht verfügbar, was sie aber sein sollte:
function my3_tree() {
$out =
'<div><script language="JavaScript">
new tree (TREE_ITEMS, TREE_TPL);
</script></div>';
return $out;
}
Und so sieht dann das Ergebniss aus:
var TREE_ITEMS = [ ['Stapler', "javascript:linkCheck('Stapler')", {'st':1}, ['Fahrwerk', "javascript:linkCheck('Fahrwerk')", 0], ['Steuerung', "javascript:linkCheck('Steuerung')", 0], ['Räder', "javascript:linkCheck('Räder')", 0], ['Radmantel', "javascript:linkCheck('Radmantel')", 0], ['Radnabe', "javascript:linkCheck('Radnabe')", 0]]];<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!--
This website is powered by TYPO3 - inspiring people to share!
...-->
<link rel="stylesheet" type="text/css" href="fileadmin/styles/my_style.css" />
<script type="text/javascript" src="fileadmin/tmenu/tree.js" language="JavaScript"></script>
<script type="text/javascript" src="fileadmin/tmenu/tree_tpl.js" language="JavaScript"></script>
<title>FTS 2</title>
<meta name="generator" content="TYPO3 4.1 CMS" />
<script type="text/javascript" src="typo3temp/javascript_757c080409.js"></script>
</head>
<body>
...
Ich bin echt für jeden Vorschlag dankbar, da ich echt nicht mehr weiter weiß #angry#
Gruß Marces