【问题标题】:CakePHP 2.x Timthumb path error within another plugin另一个插件中的 CakePHP 2.x Timthumb 路径错误
【发布时间】:2016-04-12 06:13:15
【问题描述】:

简介:

我创建了一个名为“管理员”的单独后端插件。在这个插件中,我想使用 TimThumb。目录结构如下:

app/Plugin/
     -Administrator 
         - Model
         - View
           - Merchant
             - view.ctp
             .......... 
         - Controller 
           - AdministratorAppController.php (extends AppController)
         ..........

     - Timthumb
         ........

到目前为止我已经尝试过:

在 AdministratorAppController 中,我写过:

 public $helpers =  array(......., 'Timthumb.Timthumb');

现在,在视图文件 Merchant/view.ctp 中,我编写了以下内容:

echo $this->Timthumb->imageUrl(
    '/administrator/img/Logo/'.$merchant['Merchant']['logo'], 
    array('width' => 200, 'height' => 100)
);

我的问题:

但这会生成一个网址:

http://xpertsden.com/projects/infinit_dev/web/administrator/timthumb/image?src=%2Fprojects%2Finfinit_dev%2Fweb%2Fapp%2Fwebroot%2Fadministrator%2Fimg%2FLogo%2FINFINIT_570b7d2ea0a82.jpg&q=80&a=c&zc=1&ct=1&w=200&h=100

注意:我的图片在插件 Administrator/webroot/img/Logo/image.png 中

请问有人可以提出解决方案吗?

任何帮助将不胜感激。提前致谢!

【问题讨论】:

    标签: cakephp cakephp-2.0


    【解决方案1】:

    没有什么神奇的方法可以做到这一点,但是我使用了相同的插件,并对其进行了一些修改,以使其更适合我的使用。

    请在https://github.com/voycey/TimthumbPlugin#configuration查看说明

    可以看到可以编辑配置变量TimthumbBasePath Configure::write('TimthumbBasePath', '/');

    所以在你使用插件之前你应该能够做到:

    Configure::write('TimthumbBasePath', '/Administrator/webroot/img/Logo/image.png');

    或者显示image.png所需的任何路径。

    但是在插件目录中拥有资源确实效率低下(Please Read here for why) - 您应该尽可能将它们移动到主图像目录中。

    【讨论】:

    • 谢谢,伙计。这有很大帮助! :)
    猜你喜欢
    • 2015-02-20
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2018-06-21
    • 2017-06-26
    • 2017-12-09
    相关资源
    最近更新 更多