私はJoomla1.5用に独自のコンポーネントを書いています。追加するコンテンツの「エイリアス」(わかりやすいURLスラッグ)を生成する方法を見つけようとしています。つまり、タイトルが「記事のタイトル」の場合、Joomlaはthe-article-title
デフォルトで使用します(必要に応じて編集できます)。
これを行う組み込みのJoomla関数はありますか?
私はJoomla1.5用に独自のコンポーネントを書いています。追加するコンテンツの「エイリアス」(わかりやすいURLスラッグ)を生成する方法を見つけようとしています。つまり、タイトルが「記事のタイトル」の場合、Joomlaはthe-article-title
デフォルトで使用します(必要に応じて編集できます)。
これを行う組み込みのJoomla関数はありますか?
libraries/joomla/database/table/content.php
実装の123行目JFilterOutput::stringURLSafe()
。「エイリアスフレンドリー」にしたい文字列を渡すと、必要なものが返されます。
作成したコンポーネントのエイリアスを生成しようとしている場合、それは非常に簡単です。click on save
作成したコンポーネントにまたはが含まれている場合、またはapply button
タイルを介してエイリアスを作成する場合は、次の関数を使用します。
$ailias=JFilterOutput::stringURLSafe($_POST['title']);
これで、データベースに挿入できます。
シンプルなPHPです。
Joomla1.5ソースの関数は次のとおりです。
注意してください、私は2行をコメントアウトしました。次のような関数を呼び出すことができます
$ 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;
}