Hi Chrumb
Also, ich versuch mal einbisschen Licht ins Dunkel zu bringen:
Bei herkömmlicher Programmiererei kann man sich ja alles Mögliche an, im Raum
stehenden Variablen etc. anzeigen lassen. Das klappt bei J! nicht mehr (gibt zwar
debugg-Modus, aber der reicht mir nicht)
Du kannst auch in jede Funktion ein "echo" oder "var_dump" reinschreiben, es wird dir dann auch
das gewünschte angezeigt....
Welche Funktion haben "&$options" und was spez. bedeutet &$
$options sind vermutlich Variablen eines Formulars oder Suchfilters, da musst du die Stelle
suchen, wo diese Funktion aufgerufen wird....
...und &$ bedeutet, das eine Variable nicht per Wert, sondern per Referenz der Funktion übergeben wird:
Normalerweise übergibt man einer Funktion eine Kopie einer/mehreren Variblen. Was damit innerhalb einer Funktion
geschieht ist irrelevant, da ausser dem "return" nichts davon "nach aussen" dringt (geschlossener Namensraum).
Bei der Uebergabe als Referenz übergiebt man der Funktion aber die Speicheradresse der Original-Variablen: Alles
was an dieser Variablen innerhalb der Funktion verändert wird, betrifft zugleich das Original, da ja auf die gleiche
Speicheradresse verwiesen wird....
Womit/Wie wird von der ersten zur zweiten Funktion etwas durchgegeben?
Code:
function getdb1List( $options=array() ) {
$query = $this->_getdb1Query( $options ); //in $query wird der Return-Wert der Funktion _getdb1Query() gespeichert...
$result = $this->_getList( $query );
return @$result;
}
(siehe Komentar im Code)
Mein Tipp: Mach dich doch mal schlau, was Objekt Orientierte Programmierung mit PHP angeht....
Wozu ist $id (ist ja egal ob aktiv oder nicht)
Das sagt der Funktion store() (eine Methode des JTable-Objekts) ob ein vorhandener DB-Eintrag geändert wird(mit $id), oder ob ein gänzlich neuer DB-Eintrag geschrieben wird ($id = leer)....
Was die DB-Query angeht: Gib die Query mal aus (mit einem echo in der Funkton) und versuch die dann mal direkt im phpMyAdmin auszuführen (Tableprefix einsetzen)....
Und dass in deinem Default Template der View keine Daten ausgegeben werden, rsp. das foreach-Argument ungültig ist, kann mehrere Gründe haben: DB-Query-Fehler, kein DB Resultat, oder die Model-Daten in der View nicht richtig zugewiesen
Code:
$result = $model->getdb1List($options);
$this->assignRef('rows', $result);
Gib das $this->rows im tmpl/default.php mal mit var_dump($this->rows) aus, es wird vermutlich leer sein.....
Noch was:
Die com_auto vom Hagen Graf ist ja schon älter, als er die geschrieben hat, war J1.5 glaub ich noch alpha oder beta. Will heissen: ist die eigentlich noch aktuell zur 1.5 stable rsp. 1.5.1? Läuft die Kompo in der aktuellen 1.5.1?
Hoffe geholfen zu haben
Cheers
Roger