Guten Abend,
ich versuche gerade über RealUrl die Links meiner Erweiterung zu verbessern.
Vorher: http://localhost/cd-list/?tx_mycds_cdlist[cd]=10
Nachher: http://localhost/cd-list/cd/californication
noch wäre besser: http://localhost/cd-list/californication
Dazu Habe ich folgendes in die "ext_localconf.php" geschrieben:
<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT']['postVarSets']['_DEFAULT']['cd'] = array (
array(
'GETvar' => 'tx_mycds_cdlist[cd]',
'lookUpTable' => array (
'table' => 'tx_mycds_domain_model_cd',
'id_field' => 'uid',
'alias_field' => 'link_title',
'addWhereClause' => ' AND NOT deleted AND NOT hidden',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
);
?>
Damit kann ich über .../cd-list/cd/10 zur CD springen.
Wenn ich jetz aber .../cd-list/cd/californication eingebe bekomme ich den Fehler:
An error occurred while trying to call Tx_mycds_Controller_CdController->listAction(). Error: Validation errors for argument "cd"
Meine listAction sieht so aus:
<?php
/**
* Displays Cds
*
* @param integer $cd
*
* @return void
*/
public function listAction($cd = 0) {
...
if ($cd != 0) {
$values = array(
'cd' => $this->cdRepository->findByUid(cd)
);
} else {...}
$this->view->assignMultiple($values);
}
?>
Kann mir jemand bei diesem Problem helfen - ich kriegs einfach nicht hin?
Viele Grüße
Fritz M.