2011-03-18 43 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