是否有Joomla函数来生成';别名';领域
我正在为Joomla 1.5编写自己的组件。我试图找出如何为我添加的内容生成一个“别名”(友好的URL段塞)。换句话说,如果标题是“文章标题”,Joomla将默认使用是否有Joomla函数来生成';别名';领域,joomla,components,alias,Joomla,Components,Alias,我正在为Joomla 1.5编写自己的组件。我试图找出如何为我添加的内容生成一个“别名”(友好的URL段塞)。换句话说,如果标题是“文章标题”,Joomla将默认使用文章标题(如果愿意,您可以编辑它) 是否有一个内置的Joomla函数可以为我实现这一点?libraries/Joomla/database/table/content.php的第123行实现了JFilterOutput::stringURLSafe()。传入要使“别名友好”的字符串,它将返回您需要的内容。如果您试图为所创建的组件生成
文章标题
(如果愿意,您可以编辑它)
是否有一个内置的Joomla函数可以为我实现这一点?libraries/Joomla/database/table/content.php的第123行实现了
JFilterOutput::stringURLSafe()
。传入要使“别名友好”的字符串,它将返回您需要的内容。如果您试图为所创建的组件生成别名,则非常简单。假设您在创建的组件中有单击保存
或应用按钮
,或者假设您希望通过磁贴创建别名,然后使用此功能:
$ailias=JFilterOutput::stringURLSafe($_POST['title']);
现在您可以将其插入数据库。这是一个简单的PHP
以下是Joomla 1.5源代码中的函数:
注意,我已经把这两行注释掉了。您可以像这样调用函数
$new_alias=stringURLSafe($your_title)
谢谢这正是我想要的。它在Joomla 2.5.Joomla 3.php中被称为
JApplication::stringURLSafe()
。*您应该使用./Joomla/filter/output.phpJFilterOutput:stringURLSafe($string)
Care@marcanuy您在静态方法调用中缺少一个冒号JFilterOutput::stringURLSafe($string)
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;
}