Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 12.01.07, 12:06
Benutzerbild von mensch
Forum Stammgast
 
Registriert seit: 11.01.07
Ort: NRW, Köln
Alter: 53
Beiträge: 109

Fatal error: Call to a member function...


Hallo allen,

bei der index.php meines Backend-Moduls ist die Zeile
PHP-Code:
$rgw.=$this->doc->table($tr); 
der Verursacher dieser Fehlermeldung. Mit der Funktion "table" der Klasse "template" kann man ein zweidimensionales Array (Dimension 1 = Zeile der Tabelle, Dimension 2 = Zellen der Tabelle) übergeben und bekommt dieses Array als Tabelle wieder zurück.
Ich vermute, dass ich entweder:
1. das Array falsch initialisiert habe oder
2. den Aufruf falsch mache.

Hier der Code meiner Funktion aus der index.php:
PHP-Code:
function showCategories() {
  
$tr = array(array());
  
$trz 0;

  
$selectFields 'uid,zkb0,zkhk0,zkk0';
  
$rs=$GLOBALS['TYPO3_DB']->exec_SELECTquery($selectFields,'tx_kochrezepte_zk','','');
  while (
$ds=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($rs))
  {
    
$tr[$trz][0]=$ds['uid'];
    
$tr[$trz][1]=$ds['zkb0'];
    
$tr[$trz][2]=$ds['zkhk0'];
    
$tr[$trz][3]=$ds['zkk0'];
    
$trz++;
  }
  
$rgw='<p>Zeige die Kategorien: </p>';
  
$rgw.=$this->doc->table($tr);
  return 
$rgw;

Kann mir bitte jemand helfen? Gruss Mensch
__________________
Noch immer Typ3Dummie: Wenn ich weiss, dass ich nichts weiss, weiss ich mehr, als wenn ich nicht weiss, dass ich nichts weiss.

Geändert von mensch (12.01.07 um 12:11 Uhr).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 12.01.07, 12:36
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.12.05
Ort: Kiel
Alter: 39
Beiträge: 2.087
Armin eine Nachricht über ICQ schicken Armin eine Nachricht über Skype™ schicken

moin,

es müsste doch so heißen:
PHP-Code:
$this->table($tr
Hast du auch die tslib_pibase eingebunden?

Armin
__________________
Nichts kommt von selbst, sogar eine Dummheit muss man erst machen.

Tipps und Tricks zu TYPO3: http://typo3.intervation.de
Agentur: Ideenwerft Werbeagentur
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 12.01.07, 13:01
Benutzerbild von mensch
Forum Stammgast
 
Registriert seit: 11.01.07
Ort: NRW, Köln
Alter: 53
Beiträge: 109

Moin, ich glaube nicht. Den Code kann ich noch nicht so richtig lesen und im php-Bereich bin ich noch Beginner:

PHP-Code:
<?php
// DEFAULT initialization of a module [BEGIN]
unset($MCONF);
require_once(
'conf.php');
require_once(
$BACK_PATH.'init.php');
require_once(
$BACK_PATH.'template.php');

$LANG->includeLLFile('EXT:kochrezepte/mod1/locallang.xml');
require_once(
PATH_t3lib.'class.t3lib_scbase.php');

$BE_USER->modAccess($MCONF,1);  // This checks permissions and exits if the users has no permission for entry.
// DEFAULT initialization of a module [END]

//--------------------------------------------------
class  tx_kochrezepte_module1 extends t3lib_SCbase {
//--------------------------------------------------
var $pageinfo;

//------ init --> Modul-Initialisierung
function init()  {
  global 
$BE_USER,$LANG,$BACK_PATH,$TCA_DESCR,$TCA,$CLIENT,$TYPO3_CONF_VARS;
  
parent::init();
  
/*if (t3lib_div::_GP('clear_all_cache'))  {
    $this->include_once[] = PATH_t3lib.'class.t3lib_tcemain.php';
  }*/
}

//------ menuConfig --> Konfiguriert das Funktionen-Dropdown-Element
function menuConfig()  {
  global 
$LANG;
  
$this->MOD_MENU = Array (
    
'register' => Array (
      
'zutaten' => $LANG->getLL('zutaten'),
      
'kategorien' => $LANG->getLL('kategorien'),
      
'naehrwerte' => $LANG->getLL('naehrwerte'),
      
'saisons' => $LANG->getLL('saisons'),
    )
  );
  
parent::menuConfig();
}

//------ main --> Erstellung des Modul-Contents
function main()  {
  global 
$BE_USER,$LANG,$BACK_PATH,$TCA_DESCR,$TCA,$CLIENT,$TYPO3_CONF_VARS;
  
  
// Page is shown: if there is a valid page and if this page may be viewed by the user
  
$this->pageinfo t3lib_BEfunc::readPageAccess($this->id,$this->perms_clause);
  
$access is_array($this->pageinfo) ? 0;
  
  if ((
$this->id && $access) || ($BE_USER->user['admin'] && !$this->id)) {
    
$this->doc t3lib_div::makeInstance('bigDoc');
    
$this->doc->backPath $BACK_PATH;
    
$this->doc->form='<form action="" method="POST">';
    
    
// JavaScript1
    
$this->doc->JScode '<script language="javascript" type="text/javascript">
        script_ended = 0;
        function jumpToUrl(URL) {document.location = URL;}
    </script>'
;
    
// JavaScript2
    
$this->doc->postCode='<script language="javascript" type="text/javascript">
        script_ended = 1;
        if (top.fsMod) top.fsMod.recentIds["web"] = 0;
    </script>'
;

    
$this->content.=$this->doc->startPage($LANG->getLL('title'));
    
$this->content.=$this->doc->section(($LANG->getLL('title')),t3lib_BEfunc::getFuncMenu($this->id,'SET[register]',$this->MOD_SETTINGS['register'],$this->MOD_MENU['register']).'<br />',TRUE);
    
$this->content.=$this->doc->divider(1);
    
$this->content.=$this->doc->sectionEnd();
    
    
// Render content:
    
$this->moduleContent(); //--> moduleContent
    
    // ShortCut
    
if ($BE_USER->mayMakeShortcut()) {
      
$this->content.=$this->doc->spacer(20).$this->doc->section('',$this->doc->makeShortcutIcon('id',implode(',',array_keys($this->MOD_MENU)),$this->MCONF['name']));
    }
     
    
$this->content.=$this->doc->spacer(10);
  } else {
    
// If no access or if ID == zero
    
$this->doc t3lib_div::makeInstance('mediumDoc');
    
$this->doc->backPath $BACK_PATH;
    
    
$this->content.=$this->doc->startPage($LANG->getLL('title'));
    
$this->content.=$this->doc->header($LANG->getLL('title'));
    
$this->content.=$this->doc->spacer(5);
    
$this->content.=$this->doc->spacer(10);
  }
}

//------ printContent --> prints out the module HTML = @return void */
function printContent() {
  
$this->content.=$this->doc->endPage();
  echo 
$this->content;
}

//------ moduleContent --> Generates the module content
function moduleContent() {
  switch(
$this->MOD_SETTINGS['register']) {
  case 
'zutaten':
    
$this->content.=$this->doc->section('','Datensuche',0,1);
    
$this->content.=$this->doc->divider(1);
    
$this->content.=$this->doc->sectionEnd();
    
$this->content.=$this->doc->section('','Dateneingabe',0,1);
    
$this->content.=$this->doc->divider(1);
    
$this->content.=$this->doc->sectionEnd();
    
$this->content.=$this->doc->section('',showCategories(),0,1);
    
$this->content.=$this->doc->sectionEnd();
    break;
  case 
'kategorien':
    
$content='<div align=center><strong>Funktion: Kategorien...</strong></div>';
    
$this->content.=$this->doc->section('',$content,true,1);
    break;
  case 
'naehrwerte':
    
$content='<div align=center><strong>Funktion: Nährwerte...</strong></div>';
    
$this->content.=$this->doc->section('',$content,true,1);
    break;
  case 
'saisons':
    
$content='This is the GET/POST vars sent to the script:<br />'.
    
'GET:    '.t3lib_div::view_array($_GET).'<br />'.
    
'POST:'.t3lib_div::view_array($_POST).'<br />';
    
$this->content.=$this->doc->section('',$content,true,1);
    break;
  }
  }
}

function 
showCategories() {
  
$tr = array(array());
  
$trz 0;

  
$selectFields 'uid,zkb0,zkhk0,zkk0';
  
$rs=$GLOBALS['TYPO3_DB']->exec_SELECTquery($selectFields,'tx_kochrezepte_zk','','');
  while (
$ds=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($rs))
  {
    
$tr[$trz][0]=$ds['uid'];
    
$tr[$trz][1]=$ds['zkb0'];
    
$tr[$trz][2]=$ds['zkhk0'];
    
$tr[$trz][3]=$ds['zkk0'];
    
$trz++;
  }
  
$rgw='<p>Zeige die Kategorien: </p>';
//  $rgw.=$this->doc->table($tr);
  
$rgw.=$this->table($tr);
  return 
$rgw;
}

if (
defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/kochrezepte/mod1/index.php'])  {
  include_once(
$TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/kochrezepte/mod1/index.php']);
}

// Make instance:
$SOBE t3lib_div::makeInstance('tx_kochrezepte_module1');
$SOBE->init();

// Include files?
foreach($SOBE->include_once as $INC_FILE)  include_once($INC_FILE);

$SOBE->main();
$SOBE->printContent();

?>
Habe den Aufruf schon korrigiert. Wo genau müsste ich die Klassendatei einbinden?
Danke für Deine Hilfe und Gruss Mensch
__________________
Noch immer Typ3Dummie: Wenn ich weiss, dass ich nichts weiss, weiss ich mehr, als wenn ich nicht weiss, dass ich nichts weiss.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 16.01.07, 09:26
Benutzerbild von mensch
Forum Stammgast
 
Registriert seit: 11.01.07
Ort: NRW, Köln
Alter: 53
Beiträge: 109

Erledigt


Moin allen,
habe das Problem umgangen, indem ich eine auf meine Bedürfnisse zugeschnitte Funktion geschrieben habe:
PHP-Code:
function HTMLtable($a)   {
  if (
is_array($a))  {
    
reset($a);
    
$zeilen=count($a);
    
$spalten=count($a[0]);
    
$rgw='<table>';
    for (
$z=0$z<$zeilen$z++) {
      if ((
$z+1) % 2) {
        
$rgw.='<tr class="bgColor3">'
      }else{
        
$rgw.='<tr>'
      }
      for (
$zz=0$zz<$spalten$zz++) { $rgw.='<td>'.$a[$z][$zz].'</td>'; }
      
$rgw.='</tr>'
    }
    
$rgw.='</table>';
  }
  return 
$rgw;

Gruss Mensch
__________________
Noch immer Typ3Dummie: Wenn ich weiss, dass ich nichts weiss, weiss ich mehr, als wenn ich nicht weiss, dass ich nichts weiss.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Direct Mail v. 2.1.4 TYPO3 v.4 Call to a member function on a non-object Bonzai TYPO3 4.x Fragen und Probleme 3 11.04.08 19:43
Fatal error: Call to undefined function: gzcompress() becky TYPO3 4.x Fragen und Probleme 11 17.10.07 10:55
Fatal error: Call to a member function... alexxx TYPO3 4.x Fragen und Probleme 3 20.08.07 17:02
commerce: Fatal error: Call to a member function getUid() on a non-object 8x4 commerce 0 04.07.07 15:51
popup_manager: Call to undefined function frank Alle anderen Extensions 0 17.09.06 16:22


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0