Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Drupal五星模块,根据变量值动态更改star.gif图像_Php_Css_Drupal - Fatal编程技术网

Php Drupal五星模块,根据变量值动态更改star.gif图像

Php Drupal五星模块,根据变量值动态更改star.gif图像,php,css,drupal,Php,Css,Drupal,我们希望在我们的冲浪报告中包含为冲浪条件提供5星级评级的能力(使用模块)。我们遇到的问题是,风力条件可能不好,因此,尽管报告给出了5颗星,但如果风向不对,我们需要能够说明这一点。我们希望添加名为“风力等级”的节点字段,该字段的值为a或B。如果风力良好,我们将该值设置为a,并使用当前的star.gif文件。如果不是有利的风力条件,我们会将该值设置为B,并希望将star.gif切换为starb.gif(这将是一个褪色的版本) 使用Drupal7和五星模块实现这一点的最佳方法是什么 嗯,这是一个艰难的

我们希望在我们的冲浪报告中包含为冲浪条件提供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中以正确的方式进行操作有时会非常困难。但我没有找到更好的解决办法。我希望有一个