Hi,
wie finde ich die Funktion, die den Alias beim Anlegen einer Seite generiert?
Hi,
wie finde ich die Funktion, die den Alias beim Anlegen einer Seite generiert?
Schau mal hier https://github.com/contao/core/blob/...page.php#L1029
Nils
Hallo,
am besten guckst du mal unter modules/core/dca/tl_article.php
DCA ARRAY:
FunktionPHP-Code:
'alias' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_article']['alias'],
'exclude' => true,
'inputType' => 'text',
'search' => true,
'eval' => array('rgxp'=>'alias', 'doNotCopy'=>true, 'maxlength'=>128, 'tl_class'=>'w50'),
'save_callback' => array
(
array('tl_article', 'generateAlias')
),
'sql' => "varbinary(128) NOT NULL default ''"
),
generateAlias muss natürlich noch ein wenig angepasst werdenPHP-Code:
/**
* Auto-generate an article alias if it has not been set yet
* @param mixed
* @param \DataContainer
* @return string
* @throws \Exception
*/
public function generateAlias($varValue, DataContainer $dc)
{
$autoAlias = false;
// Generate an alias if there is none
if ($varValue == '')
{
$autoAlias = true;
$varValue = standardize(String::restoreBasicEntities($dc->activeRecord->title));
}
$objAlias = $this->Database->prepare("SELECT id FROM tl_article WHERE id=? OR alias=?")
->execute($dc->id, $varValue);
// Check whether the page alias exists
if ($objAlias->numRows > 1)
{
if (!$autoAlias)
{
throw new Exception(sprintf($GLOBALS['TL_LANG']['ERR']['aliasExists'], $varValue));
}
$varValue .= '-' . $dc->id;
}
return $varValue;
}
Viele Grüße!
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)