2010-12-03 31 views
0

即時嘗試構建FB應用演示sfFacebookConnectPluginthis tutorial和我有一個小問題,但仍然無法解決它(使用1.4的iam symfony新手)。 我已通過終端命令安裝此插件:無法加載「sfFacebookConnectHelper.php」幫手

  • sfDoctrineGuardPlugin
  • sfFacebookConnectPlugin

我讓他們在激活:

class ProjectConfiguration extends sfProjectConfiguration 
{ 
    public function setup() 
    { 
     if (function_exists('date_default_timezone_set')) { 
     date_default_timezone_set(@date_default_timezone_get()); 
     } 
    $this->enablePlugins('sfDoctrinePlugin'); 
    $this->enablePlugins('sfBehatPlugin'); 
    $this->enablePlugins('sfDoctrineGuardPlugin'); 
    $this->enablePlugins('sfFacebookConnectPlugin'); 
    } 
} 

但是當亞姆在我的佈局使用:

<?php use_helper('sfFacebookConnect')?> 

即時得到這個錯誤:

Unable to load "sfFacebookConnectHelper.php" helper 
in: SF_ROOT_DIR/apps/frontend/modules/main/lib/helper, 
SF_ROOT_DIR/apps/frontend/lib/helper, 
SF_ROOT_DIR/lib/helper, 
SF_SYMFONY_LIB_DIR/helper. 

當助手出現在/home/palmic/www/behattest/plugins/lib/helper/sfFacebookConnectHelper.php

如何告訴symfony的到從那裏加載它?

Thanx!

回答

1

作爲一個臨時的解決辦法(直到誰寫的插件將他們的幫手開發商),你可以在SF_ROOT_DIR/lib/helper創建自己的sfFacebookConnectHelper文件,其中包含下面的代碼:

<?php 
require_once dirname(__FILE__) . '/../../plugins/sfFacebookConnectPlugin/lib/sfFacebookConnectHelper.php'; 

那個路徑可能是錯誤的,所以只要將它指向他們的幫手即可。

然後你仍然可以在你的代碼中使用<?php use_helper('sfFacebookConnect')?>,當真正的助手移動到正確的文件夾時,只需刪除這個文件即可。

另外,一個小提示。相反,在你的ProjectConfiguration文件調用$this->enablePlugins()反覆的,你可以這樣做:

$this->enablePlugins(array(
    'sfDoctrinePlugin', 
    'sfBehatPlugin', 
    'sfDoctrineGuardPlugin', 
    'sfFacebookConnectPlugin' 
)); 
1

的問題是在插件本身,助手和其他LIB類必須是在插件/ <插件名稱>/lib目錄下,這樣插件助手必須在:

plugins/<plugin-name>/lib/helper 

沒有插件/庫。