2011-03-18 46 views
1

我需要引導Drupal。我有一個包含我所有函數的php文件,在其中一個函數中,我需要使用位於bootstrap.inc文件中的Drupal函數。服務器的如何在外部文件上訪問bootstrap.inc

結構:
(d)的Drupal
   (SD)包括
       (F)bootstrap.inc文件
(d)腳本
   (SB)的功能
       (f)functions.php

所以我需要在自編函數中包含位於bootstrap.inc中的「variable_set」函數。我的大學寫了一小段函數(我非常抱歉,但我不知道如何在論壇上格式化PHP)如果有人這樣做,請讓我知道,這樣我可以編輯這個混亂):

function readxml() 
{ 
echo "<br/>READING...<br/>"; 
    $file = './config.xml'; 
    $xml = simplexml_load_file($file); 
    if($xml !== false) 
    { 
     foreach($xml->config->children() as $item){ 
      $name = $item->getName(); // GETS CHILDREN UNDER 'CONFIG'   
      switch($name) 
      { 
       case 'website': 
         foreach($xml->config->website->children() as $kid){ 
         $childname = $kid->getName();      
          switch($childname) 
          { 
           case 'theme': 
            if(inserttheme($kid)or die ('failed to insert theme<br/>')){ 
             echo 'theme is installed.<br/>';} 
             break; 
           case 'slogan': 
            if(insertslogan($kid)or die('failed to insert slogan<br/>')){ 
             echo 'slogan is installed.<br/>';} 
             break; 
           case 'sitename': 
            if(insertname($kid)or die('failed to insert name<br/>')){ 
             echo 'website name is installed.<br/>';} 
            break; 
          } 
         } 
         break;  

`

所以,在某個主題/口號/名節,我要叫其位於bootstrap.inc文件文件variable_set功能。

某處我發現這(再次非格式化文本不好意思):

$drupal_directory = "/home/httpdocs/drupal"; // wherever Drupal is 
$current_directory = getcwd(); 
chdir($drupal_directory); 
require_once './includes/bootstrap.inc'; 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 
chdir($current_dir); 
return; 

我把它無論是在我的function.php以及在我最後的PHP文件(其中所有的功能叫)但沒有結果......我做錯了什麼?

回答

0

問題的答案,就包括Drupal的文件夾中的文件!

1

你找到的代碼看起來是正確的,什麼是「沒有結果」,你得到錯誤或沒有或......?另外,你究竟把它放在哪裏? (如果它不在一個函數中,你需要刪除最後一行(返回))

此外,解決這個問題的正確方法是將你的自定義代碼作爲Drupal模塊集成,然後你沒有擔心這樣的東西:http://drupal.org/developing/modules

或者如果它是一個命令行腳本,公開爲drush命令:http://drupal.org/project/drush

+0

我沒有得到任何東西。沒有錯誤,沒有結果...頁面只是變成空白。顯然,'drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);'是錯誤的行... 一個模塊是不是一個選項,因爲它必須是一個外部的PHP文件... btw,感謝編輯發佈的代碼,你是怎麼做到的? – Michiel 2011-03-18 08:48:54

+0

您是否看到我的編輯?如果你仍然有回報,你需要刪除它。你可以通過打算4格的代碼來格式化代碼或者在它周圍放置< code >< /code >標籤(最快的方法:標記代碼,按ctrl + k) – Berdir 2011-03-18 08:54:07

+0

返回被刪除,但仍然沒有結果...感謝您的輸入! – Michiel 2011-03-18 08:58:32