我使用的是Drupal6中的Fivestar模块...http://drupal.org/project/fivestar
并且,我想要更改文本:
来自:Average: *****
关于这个:Rate this Article: *****
我不想修改使用字符串重写的模块,我希望在template.php文件中使用一个hook_form_alter函数或类似的东西。
下面是HTML的外观:
<form action="/fall-foliage" accept-charset="UTF-8" method="post" id="fivestar-form-node-232" class="fivestar-widget"><div>
<div class="fivestar-form-vote-232 clear-block"><input type="hidden" name="content_type" id="edit-content-type" value="node" />
<input type="hidden" name="content_id" id="edit-content-id" value="232" /><div class="fivestar-form-item fivestar-average-stars fivestar-labels-hover">
<div class="form-item" id="edit-vote-wrapper">
<label for="edit-vote">Average: </label>
...etc...fivestar.module中的代码如下所示:
function theme_fivestar_summary($user_rating, $average_rating, $votes, $stars = 5, $feedback = TRUE) {
$output = '';
$div_class = '';
if (isset($user_rating)) {
$div_class = isset($votes) ? 'user-count' : 'user';
$user_stars = round(($user_rating * $stars) / 100, 1);
$output .= '<span class="user-rating">'. t('Your rating: <span>!stars</span>', array('!stars' => $user_rating ? $user_stars : t('None'))) .'</span>';
}
if (isset($user_rating) && isset($average_rating)) {
$output .= ' ';
}
if (isset($average_rating)) {
$div_class = isset($votes) ? 'average-count' : 'average';
$average_stars = round(($average_rating * $stars) / 100, 1);
$output .= '<span class="average-rating">'. t('Average: <span>!stars</span>', array('!stars' => $average_stars)) .'</span>';
}发布于 2012-10-12 00:18:48
在fivestar.module文件中搜索“average”而不是“average”,可以根据您的智慧进行更改,但不建议更改核心模块文件(无论何时更新您的模块,更改都会恢复)。
请创建自定义模块并实现hook_form_alter
示例: function YourModuleName_form_alter(&$form,$form_state,$form_id)
打印$form并搜索“Average”
将$formxyz = 'Average‘更改为$formxyz =’给这篇文章评分‘
如果不是form,则使用hook_nodeapi
https://stackoverflow.com/questions/12822840
复制相似问题