[TYPO3-german] KONSTANTEN in TYPO3 Extension auslesen
Steffen Düsel
steffen.duesel at gmail.com
Fri Jul 18 08:48:55 CEST 2014
Quote: Steffen Düsel (snduesel) wrote on Thu, 17 July 2014 20:09
----------------------------------------------------
> Quote: Oliver W. wrote on Thu, 17 July 2014 17:45
> ----------------------------------------------------
> > Hallo,
> >
> > es ist doch sicherlich irgendwie möglich, auf festgelegte Constants zugreifen zu können.
> > Hintergrund ist, das ich für eine Ext. für verschiedene Bäume eine ID setzen möchte.
> >
> > Daher möchte ich diese IDs je Baum/Webseite (root lvl 1) auslesen.
> > Hat jemand einen Tip?
> >
> > Danke!
> >
> > Gruß
> > Olli
> ----------------------------------------------------
> in den CONSTANTS definierst du die Variable:
> meine_variable = 123
> Im SETUP holst du dir diese Variable in die Konfiguration deiner Extension, z.B.:
>
> plugin.tx_meineext {
> meine_variable = {$meine_variable}
> }
>
> Dann hast du in deiner Extension den Wert der Variable in
> $conf['meine_variable']
>
----------------------------------------------------
Ich denke die Methode würde bei dir am besten zutreffen:
++++++++++++++
typo3conf/ext/deine_extension/Configuration/TypoScript/setup.txt
++++++++++++++
plugin.tx_deineextension {
view {
templateRootPath = {$plugin.tx_deineextensionview.templateRootPath}
partialRootPath = {$plugin.tx_deineextension.view.partialRootPath}
layoutRootPath = {$plugin.tx_deineextension.view.layoutRootPath}
}
persistence {
storagePid = {$plugin.tx_deineextension.persistence.storagePid}
}
features {
# uncomment the following line to enable the new Property Mapper.
# rewrittenPropertyMapper = 1
}
language {
lang = {$plugin.tx_deineextension.language.lang}
}
countrygroup {
pl = {$plugin.tx_deineextension.countrygroup.pl}
tr = {$plugin.tx_deineextension.countrygroup.tr}
ro = {$plugin.tx_deineextension.countrygroup.ro}
at = {$plugin.tx_deineextension.countrygroup.at}
fr = {$plugin.tx_deineextension.countrygroup.fr}
be = {$plugin.tx_deineextension.countrygroup.be}
dk = {$plugin.tx_deineextension.countrygroup.dk}
en = {$plugin.tx_deineextension.countrygroup.en}
de = {$plugin.tx_deineextensioncountrygroup.de}
}
}
++++++++++++++
typo3conf/ext/deine_extension/Configuration/TypoScript/constants.txt
++++++++++++++
plugin.tx_deineextension {
view {
# cat=plugin.tx_deineextension/file; type=string; label=Path to template root (FE)
templateRootPath = EXT:tx_deineextension/Resources/Private/Templates/
# cat=plugin.tx_deineextension/file; type=string; label=Path to template partials (FE)
partialRootPath = EXT:tx_deineextension/Resources/Private/Partials/
# cat=plugin.tx_deineextension/file; type=string; label=Path to template layouts (FE)
layoutRootPath = EXT:tx_deineextension/Resources/Private/Layouts/
}
persistence {
# cat=plugin.tx_deineextension//a; type=string; label=Default storage PID
storagePid =
}
language {
# cat=plugin.tx_deineextension//a; type=string; label=Default language
lang = de
}
countrygroup {
# cat=plugin.tx_deineextension//a; type=string; label=Default pl
pl = 12748
# cat=plugin.tx_deineextension//a; type=string; label=Default tr
tr = 12586
# cat=plugin.tx_deineextension//a; type=string; label=Default ro
ro = 12540
# cat=plugin.tx_deineextension//a; type=string; label=Default at
at = 12494
# cat=plugin.tx_deineextension//a; type=string; label=Default fr
fr = 12448
# cat=plugin.tx_deineextension//a; type=string; label=Default be
be = 12402
# cat=plugin.tx_deineextension//a; type=string; label=Default dk
dk = 12245
# cat=plugin.tx_deineextension//a; type=string; label=Default eu
eu = 2036
# cat=plugin.tx_deineextension//a; type=string; label=Default de
de = 2
}
}
+++++++++++++++++
Konfiguration dann auch über Page-Template - Constants möglich
+++++++++++++++++
# Start Language
#plugin.tx_deineextension.language.lang= en
plugin.tx_deineextension.countrygroup.pl= 0
plugin.tx_deineextension.countrygroup.tr= 0
plugin.tx_deineextension.countrygroup.ro= 0
plugin.tx_deineextension.countrygroup.at= 0
plugin.tx_deineextension.countrygroup.fr= 12106
plugin.tx_deineextension.countrygroup.be= 0
plugin.tx_deineextension.countrygroup.dk= 0
plugin.tx_deineextension.countrygroup.en= 12106
plugin.tx_deineextension.countrygroup.de= 12105
++++++++++++++
Beispiel Funktion in PHP
++++++++++++++
public function findCountryGroupPageUidByEuroMapFromTypoScript($euroMap)
{
switch ($euroMap) {
case "Polen":
return $GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_deineextension."]["countrygroup."]["pl"];
case "Türkei":
return $GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_deineextension."]["countrygroup."]["tr"];
case "Romänien":
return $GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_deineextension."]["countrygroup."]["ro"];
case "Deutschland":
return $GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_deineextension."]["countrygroup."]["de"];
case "Belgien":
return $GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_deineextension."]["countrygroup."]["be"];
case "Dänemark":
return $GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_deineextension."]["countrygroup."]["dk"];
case "Frankreich":
return $GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_deineextension."]["countrygroup."]["fr"];
case "Österreich":
return $GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_deineextension."]["countrygroup."]["at"];
default;
return $GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_deineextension."]["countrygroup."]["en"];
}
}
++++++++++++++++++++++
So macht du übrigends den Redirect anhand der PageUid:
$arguments = array('registrationModel' => $registrationModel);
$pageUidCountryOrganisation = $this->findCountryGroupPageUidByEuroMapFromTypoScript($euroMap);
$this->uriBuilder->setTargetPageUid($pageUidCountryOrganisation);
$uri = $this->uriBuilder->uriFor('action', $arguments, 'controller');
$this->redirectToUri($uri);
++++++++++++++++++++++
Ich hoffe du kannst damit was anfangen. "deineextension" musst du natürlich noch ersetzen ;)
More information about the TYPO3-german
mailing list