Thank Uは、EC-CUBE正規インテグレートパートナー(シルバー)です。
シルバーパートナーは、300社あるパートナーの中でも上位20社に位置する超優良パートナーです。
Thank UのECサイト構築サービスについてはこちらをご覧下さい→http://thank-u.net/?page_id=40
こんにちは。
Thank Uスタッフのkarinです。
今日は、EC-CUBEで、入力された文章がURLだった場合に、リンクへ自動変換する方法を紹介したいと思います。
例えばこんな場合、
EC-CUBEの管理画面、特定商取引法登録画面
「商品代金以外の必要料金」という項目には、下記の例の様に、配送会社のページへのURLが入力される可能性がありますが、URLを入力しても、リンクはつきません。
また、この項目はタグの入力も許可されていませんので、HTMLのタグを直接入力することもできません。
そんなときは、Smartyのプラグイン(modifier)を追加して、URL形式の文字列をリンクへ自動的に変換するようにします。
[方法]
(1) /data/smarty_extends/の中に下記ファイルを作成。
modifier.url2link.php
(2)表示用tplファイルにmodifierの記述を追加。
以上で完了です。
入力したURLがリンクとして表示されているか確認してみてください。
急いで作ったのでパターンがちょっと心配、、、バグがありましたら、ご連絡ください。あと、もっとスマートな方法があれば教えてください!!
シルバーパートナーは、300社あるパートナーの中でも上位20社に位置する超優良パートナーです。
Thank UのECサイト構築サービスについてはこちらをご覧下さい→http://thank-u.net/?page_id=40
こんにちは。
Thank Uスタッフのkarinです。
今日は、EC-CUBEで、入力された文章がURLだった場合に、リンクへ自動変換する方法を紹介したいと思います。
例えばこんな場合、
EC-CUBEの管理画面、特定商取引法登録画面
「商品代金以外の必要料金」という項目には、下記の例の様に、配送会社のページへのURLが入力される可能性がありますが、URLを入力しても、リンクはつきません。
また、この項目はタグの入力も許可されていませんので、HTMLのタグを直接入力することもできません。
そんなときは、Smartyのプラグイン(modifier)を追加して、URL形式の文字列をリンクへ自動的に変換するようにします。
[方法]
(1) /data/smarty_extends/の中に下記ファイルを作成。
modifier.url2link.php
function smarty_modifier_url2link($value, $target = ""){
$options = "";
if (!empty($target)) {
$options = sprintf(" target=\"%s\"", $target);
}
$value = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\\\0</a>", $value);
return $value;
}
(2)表示用tplファイルにmodifierの記述を追加。
<th>商品以外の必要代金</th>
<td><!--{$arrRet.law_term01|escape|nl2br|url2link:'_blank'}--></td>
以上で完了です。
入力したURLがリンクとして表示されているか確認してみてください。
急いで作ったのでパターンがちょっと心配、、、バグがありましたら、ご連絡ください。あと、もっとスマートな方法があれば教えてください!!