Zend Form Radio Elements,使用图像而不是默认的无线电元素

时间:2010-03-19 22:39:25

标签: php zend-framework zend-form

最终这是我的目标。使用Zend_Form我想把这个想法http://www.sohtanaka.com/web-design/fancy-thumbnail-hover-effect-w-jquery/变成一个单选按钮列表。

有点使用这个概念。 http://theodin.co.uk/tools/tutorials/jqueryTutorial/fancyRadio/

我知道必须有办法做到这一点,但我似乎无法解决任何问题!有什么想法吗?

谢谢! -d

1 个答案:

答案 0 :(得分:0)

为什么你认为必须有办法?

你看过源代码了吗?第二个可能是使用自定义装饰器完成的。读一读:

http://framework.zend.com/manual/1.10/en/learning.form.decorators.html

澄清问题后添加了更多内容:

我遇到了类似的问题,我需要在每个单选按钮上添加一个预览按钮。我所做的是将完整的html插入传递给setMultiOptions的数组中。该清单是动态的。列表中的每个项目都在应用程序的其他位置定义并存储在数据库中。定义这些选项时,用户可以指定向上加载文件。此文件构成a标记中url的一部分。这里有一些SQL来帮助解释我的意思:

function readAllObjlistitemPairpreview($id)
{
    // get all objlistitem rows that belong to a certain list
    $id = (int)$id;
    $select = $this->getAdapter()->select()->from(array('li' => 'objlistitem'), array())->join(array('i' => 'objitem'), 'li.objitem = i.id', array('id' => 'li.objitem', 'name' => "CONCAT(i.name, ' <a href=\"', i.url, '\">url</a>')"))->where('li.objlist = ?', $id);

    //return $this->getAdapter()->fetchAll($select);
    return $this->getAdapter()->fetchPairs($select);
}

你可以用img标签做类似的事情。此函数返回的数组可以传递给setMultiOptions:$ radio-&gt; setMultiOptions($ array);

HTH