0

ポートフォリオのブログに URL フレンドリーなリンクを作成しようとしています。したがって、site/journal/post/{title} のようなリンクを取得したいと思います

明らかに Journal が私の管理者ですが、私のタイトルは「mysite.com が公開されました!」としましょう。許可されていない文字がすべて削除されている、site/journal/post/mysitecom-goes-live のような有効な URL が必要です。

「mysite.com が公開されました!」をどのように変換しますか? $config['permitted_uri_chars'] の文字に基づいて CodeIgniter の 'site/journal/post/mysitecom-goes-live' に

4

1 に答える 1

3

URL ヘルパーを使用する

$this->load->helper('url');

$blog_slug = url_title('Mysite.com Goes live!');

echo $blog_slug //mysitecom-site-goes-live 
// might differ slightly, but it'll do what you want.

URL に適したリンクを生成します。

この値をブログ テーブル (url_title/url_slug) のフィールドに保存します。

関数を作る:

class Journal extends controller
{
   //make your index/constructor etc

   function view($post)
   {
     $this->blog_model->get_post($post);
     // etc - your model returns the correct post,
     // then process that data and pass it to your view
   }
}

blog_model には、CI を使用するメソッド get_post があります

$this->db->where('url_title', $post);

それが理にかなっていることを願っています。

次に、ページにアクセスすると:

site.com/journal/view/mysite-goes-live

この関数は "mysite-goes-live" を取得し、それを view() 関数に渡します。これにより、データベース内の適切なブログ エントリが検索されます。

于 2010-10-14T16:47:12.080 に答える