

Question: Why are my Flexible Content Elements not shown in the Content Element Wizard?
Answer: Because this isn't implemented yet in the current version of TemplaVoila ( 0.4). I use an XClass to show them in the Content Element Wizard.
Save the following PHP script for example as
typo3conf/ext/templavoila/mod1/my_content_wizard.php
Add the new class to typo3conf/localconf.php
$TYPO3_CONF_VARS['BE']['XCLASS']['ext/templavoila/mod1/db_new_content_el.php']='my_content_wizard.php';
<?php
class ux_tx_templavoila_dbnewcontentel extends tx_templavoila_dbnewcontentel {
function wizardArray() {
global $LANG, $TYPO3_DB;
$positionPid = $this->id;
$storageFolderPID = $this->getStorageFolderPid($positionPid);
$tTO = 'tx_templavoila_tmplobj';
$tDS = 'tx_templavoila_datastructure';
$res = $TYPO3_DB->exec_SELECTquery (
"$tTO.*",
"$tTO LEFT JOIN $tDS ON $tTO.datastructure = $tDS.uid",
"$tTO.pid=
".intval($storageFolderPID)." AND $tDS.scope=2".t3lib_befunc::deleteClause ($tTO).t3lib_befunc::delete
Clause ($tDS)
);
$fce_count = 1;
$wizardItems = array();
$wizardItems['fce']['header'] = $LANG->getLL('fce');
while ($row = $TYPO3_DB->sql_fetch_assoc($res)) {
$tmpFilename = 'uploads/tx_templavoila/'.$row['previewicon'];
$wizardItems['fce_'.$fce_count]['icon'] = (@is_file(PATH_site.$tmpFilename)) ?('../'.$tmpFilename) : ('../'.t3lib_extMgm
::siteRelPath('templavoila').'res1/default_previewicon.gif');
$wizardItems['fce_'.$fce_count]['description'] = $row['description'] ? htmlspecialchars($row['description'])
: $LANG->getLL ('template_nodescriptionavailable');
$wizardItems['fce_'.$fce_count]['title'] = htmlspecialchars($row['title']);
$wizardItems['fce_'.$fce_count]['params'] = '&defVals[tt_content][CType]=templavoila_pi1&defVals[tt_content]
[tx_templavoila_ds]='.$row['datastructure'].'&defVals[tt_content][tx_templavoila_to]='.$row['uid'];
$fce_count ++;
}
return $wizardItems;
}
function getStorageFolderPid($positionPid) {
// Negative PID values is pointing to a page on the same level as the current.
if ($positionPid<0) {
$pidRow = t3lib_BEfunc::getRecord('pages',abs($positionPid),'pid');
$positionPid = $pidRow['pid'];
}
$row = t3lib_BEfunc::getRecord('pages',$positionPid);
$TSconfig = t3lib_BEfunc::getTCEFORM_TSconfig('pages',$row);
return intval($TSconfig['_STORAGE_PID']);
}
}
?>
Have Fun
tobi


Comments (1)