20. 12. 2020, 15:40

HABE das Problem gelöst.
Die Variablen in den aspects waren falsch wiedergegeben.
Nichts des trotz, danke.

#####################################################

Hallo zusammen,

ich möchte realUrls für DB Einträge generieren. Hierzu habe ich die TCA der DB Einträge mit einem Feld 'pathsegment' erweitert.

[code]'pathsegment' => [
'exclude' => true,
'label' => 'LLL:EXT:m3pe/Resources/Private/Language/locallang_db.xlf:tx_m3pe_domain_model_talentprofile.pathsegment',
'config' => [
'type' => 'slug',
'size' => 100,
'generatorOptions' => [
'fields' => ['country', 'firstname', 'lastname'],
'fieldSeparator' => '-',
'prefixParentPageSlug' => false,
'replacements' => [
'/' => '-'
],
],
'fallbackCharacter' => '-',
'eval' => 'unique',
'default' => ''
]
],
[/code]

Die Generierung und Speicherung des pathsegmentes funktionert sehr gut.

Was mir Probleme macht, ist die Generierung der dazugehörigen links.
in der site config.yaml steht im routeEnhancers folgendes drin

[code]TalentPortraitLinkNormal_Resolver:
type: Plugin
limitToPages: [12]routePath: '/{country_var}-{firstname_var}-{lastname_var}'
namespace: 'tx_m3pe_m3pe'
requirements:
country_var: '^[a-z].*'
firstname_var: '^[a-z0-9].*'
lastname_var: '^[a-z0-9].*'
_arguments:
country_var: 'country'
firstname_var: 'firstname'
lastname_var: 'lastname'

TalentPortraitLinkNormal_Generator:
type: Extbase
limitToPages: [12]extension: M3pe
plugin: m3pe
routes:
-
routePath: '{talentuid_var}'
namespace: 'tx_m3pe_m3pe'
_controller: 'TalentProfile::singleView'
_arguments:
talentuid_var: talentuid
defaultController: 'TalentProfile::singleView'
aspects:
feuserid_var:
type: PersistedAliasMapper
tableName: 'tx_m3pe_domain_model_talentprofile'
routeFieldName: 'pathsegment'
routeValuePrefix: '/'
[/code]

Wird nun ein link generiert über

[code]$linkPara = array(PREFIX_Id . "[talentuid]" => intval($GLOBALS['TSFE']->fe_user->user['uid']));
$linkPortraitView = $this->cObj->getTypoLink_URL(intval($settings['pid']['talentSingleView']), $linkPara);
[/code]

wird ausschließlich die DB-Nummer des Eintrages rückgeliefert und nicht der Eintrag aus dem pathsegement-Feld.

Was übersehe ich hier.

Danke euch vielmals
Grüße
Metan