Làm cách nào tôi có thể gọi hàm Drupal hoặc nhận biến toàn cầu trong tệp PHP nằm trong thư mục cài đặt drupal. Tôi làm nó lần đầu tiên. Có bất kỳ tệp nào tôi cần đưa vào mã của tôi để truy cập vào hàm hoặc biến Drupal không?Gọi hàm Drupal trong tệp PHP bên ngoài
Trả lời
Taken từ các câu hỏi liên quan trong các bình luận trên
Bạn cần phải Bootstrap Drupal trong file PHP bên ngoài:
/** bootstrap Drupal **/
chdir("/path/to/drupal/site/htdocs");
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
Hãy chắc chắn để thay đổi đường dẫn để cài đặt Drupal của bạn, sau đó thêm mã của bạn bên dưới mã được đăng ở trên.
điều này sẽ không hoạt động trong drupal 8 – tremor
Nếu ở trên giải thích ví dụ không hoạt động thử điều này:
$path = $_SERVER['DOCUMENT_ROOT'];
chdir($path."/drupal");
define('DRUPAL_ROOT', getcwd()); //the most important line
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
này trông giống như một lai của cả hai drupal 6 và drupal 7 – ErichBSchulz
Điều này là tốt và làm việc với tôi trong drupal 7 – zhilevan
define('DRUPAL_ROOT', getcwd());
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
Đoạn mã trên làm việc cho tôi, khi kịch bản là trong thư mục gốc Drupal của tôi. Điều này tải hoàn toàn tất cả mọi thứ, không chỉ lõi Drupal, bao gồm cả móc mô-đun đóng góp.
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
global $user;
print_r($user);
Câu hỏi này đã có một câu trả lời được chấp nhận. Nếu câu trả lời của bạn là một cải tiến, bạn nên thêm một số chi tiết giải thích lý do tại sao. –
- 1. Gọi hàm lớp bên ngoài từ lớp bên trong
- 2. Gọi hàm C++ mẫu bên ngoài trong Cython
- 3. từ khóa toàn cầu bên ngoài hàm trong php
- 4. Javascript: Cách gọi hàm trả về của hàm ngoài từ hàm bên trong?
- 5. Dấu hoa thị bên ngoài các cuộc gọi hàm
- 6. gọi hàm Javascript từ BÊN NGOÀI trình duyệt?
- 7. Sử dụng mã PHP trong tệp Javascript bên ngoài
- 8. Cách gọi hàm php bên trong một tệp .tpl thông minh?
- 9. Gọi một hàm bên trong một plugin jQuery từ bên ngoài
- 10. Làm thế nào để gọi hàm bên ngoài bên trong mã jquery từ html?
- 11. Truy cập các tệp lớp PHP bên ngoài DOCUMENT_ROOT
- 12. Ẩn các tệp PHP bên ngoài WWW cho an ninh
- 13. Gọi findViewById() từ bên ngoài hoạt động
- 14. Gọi hàm PHP từ jQuery?
- 15. PHP readfile() của URL bên ngoài
- 16. Gọi hàm không đồng bộ trong PHP
- 17. Cách gọi getWindow() bên ngoài Hoạt động trong Android?
- 18. Làm thế nào để bạn sử dụng "C" bên ngoài để gọi hàm C++ trong C
- 19. gọi hàm tạo bản sao bên trong hàm tạo khác
- 20. nhập tệp jar bên ngoài
- 21. Gọi hàm unset() trong tập lệnh PHP
- 22. Nhà máy bên trong và bên ngoài
- 23. gọi hàm javascript từ php
- 24. Gọi hàm php từ JavaScript
- 25. Gọi một đối tượng bên trong một hàm
- 26. Làm thế nào để gọi bên ngoài "này" trong chức năng bên trong?
- 27. tuyên bố từ bên ngoài và định nghĩa hàm cả trong cùng một tệp
- 28. Gọi hàm php từ dòng lệnh
- 29. Java: gọi phương thức lớp bên ngoài trong lớp bên trong vô danh
- 30. Gọi chức năng của tập tin javascript bên ngoài
có thể trùng lặp: http://stackoverflow.com/questions/5014244/drupal-how-to-access-to-drupals-apis-with-a-standalone-php-script – Laxman13
Tôi mạnh mẽ recmmend mà bạn xem xét viết một mô-đun thay vì thêm các tệp PHP tùy ý cho những thứ phải là một phần của trang web. Và đối với các kịch bản lệnh, bạn có thể viết các tập lệnh drush (http://drupal.org/project/drush). – Berdir
@Berdir Tôi đang sử dụng nó cho mục đích thử nghiệm. –