[Typo3] extension with language specific content

T.Joga email at welho.com
Fri Dec 9 14:07:27 CET 2005


I couldnt figure out exactly how to use "tt_products"-method / table 
library-plugin.

Anyway I want to keep this as simple as possible so I hope that this 
could be done with slightly modified out-of-a-box-kickstarter code.

I havent advanced with this too much, only update I have is $cL variable 
which holds currently selected language number. I anyway cant get how to 
use it to select only fields where recurrent_language_id = $cL
- it is there, I have checked ;)

Here is stripped kickstarter listView-function.., what parametres I 
should insert to get the desired result?

Something like?: $this->internal['query'] = "WHERE sys_language_uid=$cL"


function listView($content,$conf)	
{
  $this->conf=$conf; // Setting the TypoScript
  $this->pi_setPiVarDefaults();
  $this->pi_loadLL(); // LOCAL_LANG values (?)
  $cL = $this->getCurrentLanguage();
  $lConf = $this->conf['listView.'];

  // Initializing the query parameters:
  list($this->internal['orderBy'],$this->internal['descFlag']) = 
explode(':',$this->piVars['sort']);			
 
$this->internal['results_at_a_time']=t3lib_div::intInRange($lConf['results_at_a_time'],0,1000,30);

  $res = $this->pi_exec_query('tx_testthing_test',1);
  list($this->internal['res_count']) = 
$GLOBALS['TYPO3_DB']->sql_fetch_row($res);

  // Make listing query, pass query to SQL database:
  $res = $this->pi_exec_query('tx_testthing_test');
  $this->internal['currentTable'] = 'tx_testthing_test';

  $fullTable='';	// Clear var;
  $fullTable.=$this->pi_list_makelist($res);
  return $fullTable."<br />".$cL;
}






 > do it like in tt_products which uses the Table Library for building the
 > SQL queries
 >
 > $this->tt_products =
 > t3lib_div::makeInstance('tx_ttproducts_product');
 > $this->tt_products->init($this->LLkey);
 >
 > You have to build your own database class like class
 > tx_ttproducts_product. It creates all necessary settings automatically
 > from the TCA.
 >
 > Remove the methods you do not need.
 >
 >     function init($LLkey)    {
 >         global $TYPO3_DB,$TSFE;
 >
 >         $this->table = t3lib_div::makeInstance('tx_table_db');
 >         $this->table->setTCAFieldArray('tt_products');
 >
 >          if ($TSFE->config['config']['sys_language_uid']) {
 >              $this->table->setLanguage ($LLkey);
 >             $this->table->setTCAFieldArray('tt_products_language');
 >          }
 >     } // init
 >
 >
 >
 > Franz

> Hello
> 
>> Hello! I am wondering how to make simple extension where content is 
>> separated by the language.
>> $this->query = "AND sys_language_uid='1'";
>> $res = $this->pi_exec_query('tx_test_test');
>>
>> ..surprise, it didnt work..
>> There is great language support in the "tt_news"-extension, but its a 
>> bit too overkill example for my current knowhow of typo!
> 
> 




More information about the TYPO3-english mailing list