web-dev-qa-db-ja.com

クリック可能なノードリンクを含むユーザーポイントの説明を取得するにはどうすればよいですか?

serpoints_userpointsapiのdescriptionパラメータに保存されている現在のノードのクリック可能なリンクを取得したい

現在、以下のコードを使用しています。正常に動作していますが、ユーザープロファイルの下に表示されるリンクはクリックできません。

このリンクがサイトの他の場所、たとえばそのユーザーによるポイントのユーザープロファイルリストの下に表示されるたびに、このリンクをクリック可能にするにはどうすればよいですか。

$params = array (
    'points' => round($percentage/10),
    'tid' =>16,
    'description' => '<a href="/node/'. $nid .'">'. $node->title .'</a>'
    );
userpoints_userpointsapi($params);
1
Albert

Entity_type => 'node'およびentity_id => $ node-> nid引数を使用してノードを参照できます。そうすると、説明が自動的にノードにリンクされます。

1
Berdir

[〜#〜] 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
0
Arosboro