2008-12-16

插件使用一例:在form中加入拾色器

类归于: symfony — 标签:, , maker @ 15:41

在一些特殊需求下, 我们需要在表单中加入拾色器来选择颜色, symfony官方提供了相关的插件, dbFormExtraPlugin.

dbFormExtraPlugin包含了一些扩展的widget, 不过显然很少有更新, 截至到此文发布的时候, 其中只提供了一个拾色器和一个日期选择器.

dbFormExtraPlugin插件的sfWidgetFormColorPickerJQuery是日期选择器, dbFormExtraPlugin基于Jquery, 所以如果想正确使用插件功能需要同时安装 sfJqueryReloadedPlugin插件.

安装好sfJqueryReloadedPlugindbFormExtraPlugin之后在要使用picker的form中定义

    $this->setWidget('color', new sfWidgetFormColorPickerJQuery());
    $this->setValidator('color', new sfValidatorColorHex());

由于symfony的版本差异, 在1.2下sfWidgetFormColorPickerJQuery返回的css数组格式有错误, 造成color picker无法正常显示
要修改源码

  public function getStylesheets()
  {
    return array('/dbFormExtraPlugin/farbtastic/farbtastic.css' => 'screen');
  }

最终效果图如下:
colorpicker

WordPress 所驱动