是否有Joomla函数来生成“别名”字段?

时间:2009-11-12 17:31:33

标签: joomla components alias

我正在为Joomla 1.5编写自己的组件。我正在试图找出如何为我添加的内容生成“别名”(友好的URL slug)。换句话说,如果标题是“文章标题”,Joomla默认使用the-article-title(如果您愿意,可以编辑它)。

是否有内置的Joomla功能可以为我做这个?

3 个答案:

答案 0 :(得分:31)

libraries/joomla/database/table/content.php第123行实施JFilterOutput::stringURLSafe()。传入你想要制作“别名友好”的字符串,它将返回你需要的东西。

答案 1 :(得分:3)

如果您尝试为创建的组件生成别名,则非常简单。假设您在创建的组件中有click on saveapply button,或者假设您想通过磁贴创建别名,请使用此函数:

$ailias=JFilterOutput::stringURLSafe($_POST['title']);

现在您可以将其插入数据库。

答案 2 :(得分:1)

这很简单的PHP。

以下是Joomla 1.5源代码的功能:

注意,我已经评论了这两行。你可以像

一样调用这个函数

$ new_alias = stringURLSafe($ your_title);

function stringURLSafe($string)
    {
        //remove any '-' from the string they will be used as concatonater
        $str = str_replace('-', ' ', $string);
        $str = str_replace('_', ' ', $string);

        //$lang =& JFactory::getLanguage();
        //$str = $lang->transliterate($str);

        // remove any duplicate whitespace, and ensure all characters are alphanumeric
        $str = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-',''), $str);

        // lowercase and trim
        $str = trim(strtolower($str));
        return $str;
    }