0

CodeIgniter のアンカー タグを使用してリンクを生成しています

私のビューで使用しているコードは次のとおりです。

<?=anchor('blog/post/'.$row->id,$row->title);?>

上記のコードは、URLを次のようにレンダリングしています

<a href="http://localhost/Blog/index.php/blog/post/3">Title</a>

<a>タグ内に他の HTML 要素を埋め込む他の方法を知りたいですか?

HTML ページの出力は次のようになります。

<a href="link" rel="bookmark"> 
    <span class="location">Category</span>
     <h3 class="headline">Headline</h3>
     <span class="new">New !</span>
    <span class="date">Date</span>
  </a>

すなわち。<a>埋め込みたいタグ内<span><h3>

助言がありますか ?


C# のバージョンによっては、新しい動的型を使用できる場合があります:
http://msdn.microsoft.com/en-us/library/dd264736.aspx

4

4 に答える 4

1

私見、CodeIgniter の html ヘルパー + url ヘルパーに含まれるいくつかの関数は絶対にやり過ぎです。

普通の HTML と PHP の短いタグを使用するだけです...これにより、セマンティクスが向上し、CPU が節約され、将来コードを継承する人々にとって理解しやすくなります...

<a href="blog/post/<?= $row->id; ?>" rel="bookmark"> 
    <span class="location">Category</span>
     <h3 class="headline"><?= $row->title; ?></h3>
     <span class="new">New !</span>
    <span class="date">Date</span>
</a>
于 2012-08-25T20:12:44.027 に答える
0

HTML を自分で記述し、site_url()代わりに関数を使用してリンク href を生成することをお勧めします。

anchor()HTML を記述せずに、単純なリンクとテンプレートへのリンクの埋め込みを目的としています。リンクを出力したい方法は、anchor()設計されたものではありません。

次のような関数でヘルパーを作成できます。

function bookmark_anchor($uri, $text)
{
    $html  = '<a href="' . site_url($uri) . '" rel="bookmark">';
    $html .= '<span class="location">Category</span>';
    $html .= '<h3 class="headline">' . $text . '</h3>';
    $html .= '<span class="new">New !</span>';
    $html .= '</a>';

    return $html
}

そして、それを次のように使用します。

<?php echo bookmark_anchor('blog/post/'.$row->id, $row->title); ?>

補足: PHP の短いタグを使用することは、我慢できるのであれば避けたいと思います。それらはすべてのシステムに即座に移植できるわけではないため、コードを別のサーバーに移動すると問題が発生する可能性があります (また、短いタグを有効にできない場合があります)。CI は短いタグを書き換えるオプションを提供しますが、出力バッファリングによるオーバーヘッドが発生します。

于 2012-08-25T22:22:14.737 に答える
0
<?php
    $my_a = '<span class="location">Category</span>
        <h3 class="headline">'.$row->title.'</h3>
        <span class="new">New !</span>
        <span class="date">Date</span>';
    anchor('blog/post/'.$row->id,$row->title);?>

または、このタイプのリンク用に独自のヘルパーを作成します。

于 2012-08-25T17:26:10.107 に答える
0

次のように、アンカー メソッドの 2 番目のパラメーターを使用するだけです。

$a ='<span class="location">Category</span>
     <h3 class="headline">Headline</h3>
     <span class="new">New !</span>
    <span class="date">Date</span>';

<?=anchor('blog/post/'.$row->id,$a.$row->title,array("rel" => "bookmark"));?>

さらに、次のようなタグの html 属性を記述できる 3 番目のパラメーターを追加しました。この場合、「rel」属性です。

于 2012-08-26T12:57:46.173 に答える