如何让文件上传按钮显示在EditMe扩展中

时间:2014-02-04 22:03:34

标签: yii yii-extensions

我在我的项目中使用ExtEditMe扩展,具有以下配置:

$this->widget('ext.editMe.widgets.ExtEditMe',
    array(
        'model'=>$model,
        'attribute'=>'Text',
        'ckeConfig'=>array('enableTabKeyTools'=>true,'enterMode'=>2),
        'height'=>'500',
        'width'=>'100%',
        'filebrowserImageBrowseUrl'=>'/protected/extensions/kcfinder/browse.php?type=files',
        'filebrowserImageUploadUrl'=>'/protected/extensions/kcfinder/upload.php?type=files',
        'filebrowserBrowseUrl'=>'/protected/extensions/kcfinder/upload.php?type=files',
        'filebrowserUploadUrl'=>'/protected/extensions/kcfinder/upload.php?type=files'
    )
);

由于某种原因,工具栏中未显示文件上传按钮。我还需要添加其他东西吗?

3 个答案:

答案 0 :(得分:1)

对评论的问题太多了。你能检查以下内容:

  • 检查资产文件夹的权限。需要你的可写 httpd(示例apache:apache或apache:www-data)
  • EditMe应位于protected / extensions /文件夹
  • 将小部件调用更改为:
    $这 - >插件( 'application.extensions.editme.widgets.ExtEditMe',
    (使用完整路径)
  • 检查kcfinder / config.php是否说:'disabled'=>假,

此外,可能需要将kcfinder放在webapp的根目录中。请使用CKeditor查看此示例。

答案 1 :(得分:1)

以下内容来自CKEDITOR docs

  

默认情况下,此按钮将被隐藏(隐藏:true)。 filebrowser插件使用filebrowser属性查找所有元素,如果适当的配置设置可用,则取消隐藏它们(filebrowserBrowseUrl/filebrowserUploadUrl)。

这可能意味着您对filebrowser插件的配置设置不正确。您应该尝试以下方法:

  • 据我所知,KCFinder(你的文件浏览器插件)不是yii扩展,所以将kcfinder文件夹移动到根文件夹(或受保护文件夹之外的任何其他文件夹)。

  • 更改KCFinder文件的路径。我建议使用yii的Yii::app()->baseUrl来确保您获得正确的路径:

    'filebrowserImageBrowseUrl'=>Yii::app()->baseUrl.'/kcfinder/browse.php?type=files',
    'filebrowserImageUploadUrl'=>Yii::app()->baseUrl.'/kcfinder/upload.php?type=files',
    'filebrowserBrowseUrl'=>Yii::app()->baseUrl.'/kcfinder/upload.php?type=files',
    'filebrowserUploadUrl'=>Yii::app()->baseUrl.'/kcfinder/upload.php?type=files'
    

希望有所帮助。

答案 2 :(得分:1)

'filebrowserImageBrowseUrl'=>'/protected/extensions/kcfinder/browse.php?type=files',
'filebrowserImageUploadUrl'=>'/protected/extensions/kcfinder/upload.php?type=files',
'filebrowserBrowseUrl'=>'/protected/extensions/kcfinder/upload.php?type=files',
'filebrowserUploadUrl'=>'/protected/extensions/kcfinder/upload.php?type=files'

这些URL将被传递给扩展的Javascript发起者,并且将从那里请求它们,因此您可以复制它们并尝试从浏览器请求它们以查看它们是否正常工作(我几乎肯定它们赢了不行。)

你可以解决这个问题的一种方法是创建一个控制器并在那里包含这些PHP文件,然后让这些URL引用你创建的控制器。希望它有所帮助。