Php Drupal五星模块,根据变量值动态更改star.gif图像
我们希望在我们的冲浪报告中包含为冲浪条件提供5星级评级的能力(使用模块)。我们遇到的问题是,风力条件可能不好,因此,尽管报告给出了5颗星,但如果风向不对,我们需要能够说明这一点。我们希望添加名为“风力等级”的节点字段,该字段的值为a或B。如果风力良好,我们将该值设置为a,并使用当前的star.gif文件。如果不是有利的风力条件,我们会将该值设置为B,并希望将star.gif切换为starb.gif(这将是一个褪色的版本) 使用Drupal7和五星模块实现这一点的最佳方法是什么Php Drupal五星模块,根据变量值动态更改star.gif图像,php,css,drupal,Php,Css,Drupal,我们希望在我们的冲浪报告中包含为冲浪条件提供5星级评级的能力(使用模块)。我们遇到的问题是,风力条件可能不好,因此,尽管报告给出了5颗星,但如果风向不对,我们需要能够说明这一点。我们希望添加名为“风力等级”的节点字段,该字段的值为a或B。如果风力良好,我们将该值设置为a,并使用当前的star.gif文件。如果不是有利的风力条件,我们会将该值设置为B,并希望将star.gif切换为starb.gif(这将是一个褪色的版本) 使用Drupal7和五星模块实现这一点的最佳方法是什么 嗯,这是一个艰难的
嗯,这是一个艰难的问题。让我试试 首先:要创建自己的小部件,您可以按照以下步骤操作。从标题
让我成为明星开始阅读代码>
既然您知道了如何创建自定义小部件,那么让我们集中讨论如何使其动态化。要使用哪个星形图像取决于widgets文件夹中css文件中的样式规则。因此,为了获得动态图像,我们需要根据我们的条件向输出中添加一个额外的类
当我检查代码以查看添加类的位置时,我看到特定于小部件的类被添加到文件fivestar.module
fivestar\u expand
$class[] = 'fivestar-' . $element['#widget']['name'];
在这一行之后,您可以添加
if (my_condition_is_met) {
$class[] = 'fivestar-' . $element['#widget']['name'] . 'special-case';
}
现在,您可以编辑css文件,为这个特殊情况添加规则,并使用您想要显示的图像(不要忘记添加自定义图像),这样就完成了
持有:
在Drupal中,攻击模块是亵渎神明的行为,因此正确的步骤应该是
将函数fivestar_element_info复制到自定义模块中,并对其进行适当命名
将行“#进程”=>array('fivestar_expand')
更改为“#进程”=>array('fivestar_expand_custom'),
将fivestar_expand_custom复制到您的自定义模块,并执行前面提到的更改
在Drupal中以正确的方式进行操作有时会非常困难。但我没有找到更好的解决办法。我希望有一个。嗯,这是一个艰难的问题。让我试试
首先:要创建自己的小部件,您可以按照以下步骤操作。从标题让我成为明星开始阅读代码>
既然您知道了如何创建自定义小部件,那么让我们集中讨论如何使其动态化。要使用哪个星形图像取决于widgets文件夹中css文件中的样式规则。因此,为了获得动态图像,我们需要根据我们的条件向输出中添加一个额外的类
当我检查代码以查看添加类的位置时,我看到特定于小部件的类被添加到文件fivestar.module
fivestar\u expand
$class[] = 'fivestar-' . $element['#widget']['name'];
在这一行之后,您可以添加
if (my_condition_is_met) {
$class[] = 'fivestar-' . $element['#widget']['name'] . 'special-case';
}
现在,您可以编辑css文件,为这个特殊情况添加规则,并使用您想要显示的图像(不要忘记添加自定义图像),这样就完成了
持有:
在Drupal中,攻击模块是亵渎神明的行为,因此正确的步骤应该是
将函数fivestar_element_info复制到自定义模块中,并对其进行适当命名
将行“#进程”=>array('fivestar_expand')
更改为“#进程”=>array('fivestar_expand_custom'),
将fivestar_expand_custom复制到您的自定义模块,并执行前面提到的更改
在Drupal中以正确的方式进行操作有时会非常困难。但我没有找到更好的解决办法。我希望有一个