Comment inclure les fichier php dans drupal 7
Je suis le codage d'un formulaire dans Drupal 7, et je tiens à "inclure" un fichier php qui ajoute ma connexion DB variables à mon code.
J'ai testé mon code en plusieurs manières, et je suis sûr que le "inclure", fait de me procurer un WSOD quand je lance Cron sur mon site.
J'ai Googlé à ce sujet et j'ai essayé:
include("/sites/all/libraries/php/connection.inc");
include("./sites/all/libraries/php/connection.inc");
include"./sites/all/libraries/php/connection.inc";
J'ai aussi essayé avec '.php' extension.
Et mon dernier essai:
define('__ROOT__', dirname(dirname(__FILE__)));
include(__ROOT__.'/sites/all/libraries/php/connection.inc');
Parfois, je reçois un WSOD lors de l'exécution de Cron, et parfois mes styles de page obtenir cassé quand je soumettre un formulaire.
Quelle est la bonne façon d'inclure un fichier PHP manuellement dans Drupal? Notez que je ne veux pas utiliser le "Drupal façon" de faire ceci ou à utiliser le formulaire en ligne du module. Je veux le code manuellement avec PHP.
OriginalL'auteur donbuche | 2014-04-13
Vous devez vous connecter pour publier un commentaire.
Essayer cette façons
OU Drupal Façons
include_once DRUPAL_ROOT . '/sites/all/libraries/php/connection.inc';
et cela a fonctionné comme un charme. Maintenant, mon formulaire stocke les données du formulaire dans la base de données et je peux courir Cron de Drupal sans aucun problème. Merci beaucoup les gars.OriginalL'auteur Mehul Jethloja
Le répertoire des bibliothèques devrait seulement être utilisé pour stocker des fichiers fournis comme une bibliothèque à travers les bibliothèques de module (voir ici https://drupal.org/project/libraries).
Pour les deux exemples supposons bibliothèque.inc est notre fichier et relative_path_to est le chemin d'accès relatif basé sur le module répertoire de notre bibliothèque.fichier inc.
Suffit d'inclure un fichier, vous pouvez utiliser:
Et de le faire le Drupal moyen (https://api.drupal.org/api/drupal/includes!le module.inc/fonction/module_load_include/7):
Cheers,
j
OriginalL'auteur schlicki
À mon avis, ce sont corrects Drupal (7) des façons d'inclure le code:
module_load_include();
fonction - Documentation de l'API de Drupal - pour inclure tous les fichiers PHP de votre ou d'autres modules en cas de besoin,files[] = ...
dans your_module.info fichier autoload inclure les classes et les interfaces au sein de votre propre module - L'écriture .info fichier de la documentation.Bibliothèques module dispose de son propre manière d'inclure externe PHP les fichiers de bibliothèques.
OriginalL'auteur David Lukac
La deuxième réponse est la bonne "Drupal". Celui qui a été acceptée comme la réponse a de nombreux pièges potentiels si les emplacements de choses changent. À l'aide de drupal_get_path est le meilleur moyen. C'est particulièrement vrai si vous essayez d'inclure un fichier qui ne peut pas être entièrement autogène lors d'une mise à jour du module crochet.
OriginalL'auteur ElusiveMind