CakePHP 3:表单输入名称在控制器

时间:2015-09-30 20:14:57

标签: forms cakephp cakephp-3.0

我正在实施一个表单来尝试添加与产品相关联的图像。

以下是我正在使用的流程:

  • 执行AJAX调用以获取所有可能的图像。
  • 显示每张图片的缩略图,下方有一个复选框。
  • 用户选择一个或多个复选框并提交表单。

为了将复选框与图像相关联,我将复选框名称设置为图像的URL。这样,当用户提交表单时,传递给我的控制器的任何URL都将代表用户选择的图像。

在表单提交中,这些URL正在被操纵('。'字符变为'_'字符)。这提出了一个问题:

示例1:

 <label>Use this Image &nbsp;
     <input name="http://images.somesite.com/pic/Qmh8Yx6f7Uq1Pnh6mjyfqg.c-o.jpg" type="checkbox">
 </label>

提交时,在我的控制器中打印出$ this-&gt; request-&gt; data

 Array(
     [http://images_somesite_com/pic/Qmh8Yx6f7Uq1Pnh6mjyfqg_c-o_jpg] => on
 )   

我无法使用str_replace('_','。',$ url),因为某些图片的网址自然会有下划线。

示例2

 <label>Use this Image &nbsp;
      <input name="http://ecx.images-amazon.com/images/I/71LJdh3kWnL._SL1390_.jpg" type="checkbox">
 </label>

成为

Array(
     [http://ecx_images-amazon_com/images/I/71LJdh3kWnL__SL1390__jpg] => on 
)

有没有办法阻止CakePHP在传递给控制器​​之前操纵这些输入名称?

谢谢!

0 个答案:

没有答案