win*_*eld 4 php google-maps symfony sonata-admin
我该怎么做才能使这个捆绑包工作SonataAdminBundle?我是OhGoogleMapFormTypeBundle基于README配置的.这是我的configureFormFields方法:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->with("Map")
->add('latlng', new GoogleMapType())
->end()
;
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Please define a type for field `latlng` in `GM\AppBundle\Admin\PlaceAdmin`
Run Code Online (Sandbox Code Playgroud)
小智 8
所以FormMapper确实存在问题.解决方案非常简单,但要发现它花了很多时间.有两种方法:
在第一个方法(我不喜欢):
$form = new YourType();
$form->buildForm($formMapper->getFormBuilder(),array());
Run Code Online (Sandbox Code Playgroud)
第二种方法:
->add('latlng', 'sonata_type_immutable_array',array('label' => '?????',
'keys' => array(
array('latlng', new GoogleMapType(), array())
)))
Run Code Online (Sandbox Code Playgroud)
实体:
public function setLatLng($latlng)
{
$this
->setLatitude($latlng['latlng']['lat'])
->setLongitude($latlng['latlng']['lng']);
return $this;
}
/**
* @Assert\NotBlank()
* @OhAssert\LatLng()
*/
public function getLatLng()
{
return array('latlng' => array('lat' => $this->latitude,'lng' => $this->longitude));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1496 次 |
| 最近记录: |