Cộng đồng đã hỏi .. Vui lòng làm rõ vấn đề cụ thể của bạn ...
Nhận xét công bằng. Những gì tôi muốn giúp đỡ với là làm cách nào để sửa đoạn mã bên dưới để nó hoạt động với D9.
<?php
use Drupal\Core\DrupalKernel;
$autoloader = require_once 'autoload.php';
// This next line is the problem
$request = Request::createFromGlobals();
$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod');
$kernel->boot();
require_once 'core/includes/database.inc';
require_once 'core/includes/schema.inc';
$em = $kernel->getContainer()->get('entity_type.manager');
$entity = $em->getStorage('node')->create(array(
'type' => 'article',
'title' => 'Druplicon test',
));
$entity->save();
?>
Điều này giống như tập lệnh D8 bên dưới hoạt động - ngoại trừ tôi có:
- loại bỏ việc sử dụng dòng giao hưởng;
- đã thay thế chức năng không dùng nữa ( cảm ơn leymannx )
Tập lệnh không thành công như đã lưu ý trên dòng
$request = Request::createFromGlobals();
với tin nhắn
chrome-error://chromewebdata/:1 Không tải được tài nguyên: máy chủ phản hồi với trạng thái 500 ()
VM10:7288 crbug/1173575, các tệp mô-đun không phải JS không được dùng nữa.
Ai đó có thể chỉ ra điều gì sai với dòng này trong D9 (mà tôi đoán có liên quan đến việc loại bỏ tuyên bố sử dụng bản giao hưởng) và nếu có bất kỳ dòng mã nào khác mà D9 không thích.
Cảm ơn vì đã trợ giúp thêm về vấn đề này và xin lỗi vì sự nhầm lẫn trước đó và vì tôi vẫn chưa hiểu sâu về D9.
bài viết này cung cấp mã D8 để tạo một thực thể từ tập lệnh bên ngoài. Tôi đang ở cùng một chiếc thuyền với người đã hỏi câu hỏi này - muốn chuyển đổi từ drupal_bootstrap của D7.
Mặc dù yêu cầu của tôi là D9, nhưng tôi nghĩ tôi nên thử và làm cho tập lệnh D8 hoạt động bằng cách sử dụng bài đăng trên. Ứng dụng của anh ấy là với một thực thể. Tôi muốn tạo các mục bài viết.
Đây là mã tôi lấy từ liên kết trên được cho là hoạt động..
<?php
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
$autoloader = require_once 'autoload.php';
$request = Request::createFromGlobals();
$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod');
$kernel->boot();
require_once 'core/includes/database.inc';
require_once 'core/includes/schema.inc';
$em = $kernel->getContainer()->get('entity.manager');
$entity = $em->getStorage('node')->create(array(
'type' => 'article',
'title' => 'Druplicon test',
));
$entity->save();
?>
Mã này chạy và tạo một mục trong node_field_data bảng nhưng bài viết là không được liệt kê dưới dạng nội dung trên trang web.
Tôi rất cảm thấy theo cách của mình với mã hóa D8/D9, vì vậy hãy thông cảm cho tôi nếu tôi đang làm điều gì đó ngớ ngẩn!
Khi tôi có thể làm cho nó hoạt động, sau đó tôi cần tìm hiểu những thay đổi nào cần thiết cho D9 - vì vậy mọi trợ giúp ở đây đều tốt. Ví dụ: mã D8 sử dụng bản giao hưởng nhưng tôi tin đó không phải là một phần của D9.
Cảm ơn cho bất kỳ sự giúp đỡ về điều này để có được điều này để làm việc. Và để giúp tôi thay thế trải nghiệm D7 của mình bằng D8/D9!
Xin lỗi... Mã này hiển thị trong nội dung - Tôi đang xem trang web D9, không phải trang D8 thử nghiệm mà tôi đã thiết lập. Xin lỗi!
Nhưng tôi vẫn muốn được trợ giúp về những thay đổi mà tôi cần thực hiện đối với tập lệnh này để chạy trong D9.