serpoints_userpointsapiのdescriptionパラメータに保存されている現在のノードのクリック可能なリンクを取得したい
現在、以下のコードを使用しています。正常に動作していますが、ユーザープロファイルの下に表示されるリンクはクリックできません。
このリンクがサイトの他の場所、たとえばそのユーザーによるポイントのユーザープロファイルリストの下に表示されるたびに、このリンクをクリック可能にするにはどうすればよいですか。
$params = array (
'points' => round($percentage/10),
'tid' =>16,
'description' => '<a href="/node/'. $nid .'">'. $node->title .'</a>'
);
userpoints_userpointsapi($params);
Entity_type => 'node'およびentity_id => $ node-> nid引数を使用してノードを参照できます。そうすると、説明が自動的にノードにリンクされます。
[〜#〜] update [〜#〜]
残念ながら、これは不可能です。 Userpointsはstrip_tagsを呼び出し、userpoints.moduleの1808行目のhtmlを削除します。モジュールにパッチを適用してhtmlコードが存在できるようにすることもできますが、セキュリティの脆弱性が発生する可能性があります。
このスニペットを試してください:
if (arg(0) == 'node' && is_numeric(arg(1))) $nodeid = arg(1);
if (isset($nodeid)) {
$node = node_load($nodeid);
$description = "Awarded points for doing something on " . l($node->title, '/node/' . $nodeid);
} else {
$description = "Something awful";
}
//Add results to user point database
$params = array (
'points' => round($percentage/10),
'tid' =>16,
'description' => $description,
);
userpoints_userpointsapi($params);
// end add user point