Hi,
wie finde ich die Funktion, die den Alias beim Anlegen einer Seite generiert?
Druckbare Version
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 werden :)PHP-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!