12

私はJoomla1.5用に独自のコンポーネントを書いています。追加するコンテンツの「エイリアス」(わかりやすいURLスラッグ)を生成する方法を見つけようとしています。つまり、タイトルが「記事のタイトル」の場合、Joomlaはthe-article-titleデフォルトで使用します(必要に応じて編集できます)。

これを行う組み込みのJoomla関数はありますか?

4

3 に答える 3

34

libraries/joomla/database/table/content.php実装の123行目JFilterOutput::stringURLSafe()。「エイリアスフレンドリー」にしたい文字列を渡すと、必要なものが返されます。

于 2009-11-12T19:52:38.387 に答える
4

作成したコンポーネントのエイリアスを生成しようとしている場合、それは非常に簡単です。click on save作成したコンポーネントにまたはが含まれている場合、またはapply buttonタイルを介してエイリアスを作成する場合は、次の関数を使用します。

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

これで、データベースに挿入できます。

于 2010-12-30T07:40:23.733 に答える
1

シンプルな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;
    }
于 2012-12-13T15:24:57.867 に答える